summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/interfaces/webmidi.idl
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/interfaces/webmidi.idl')
-rw-r--r--testing/web-platform/tests/interfaces/webmidi.idl91
1 files changed, 91 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/webmidi.idl b/testing/web-platform/tests/interfaces/webmidi.idl
new file mode 100644
index 0000000000..9bab8a5f96
--- /dev/null
+++ b/testing/web-platform/tests/interfaces/webmidi.idl
@@ -0,0 +1,91 @@
+// GENERATED CONTENT - DO NOT EDIT
+// Content was automatically extracted by Reffy into webref
+// (https://github.com/w3c/webref)
+// Source: Web MIDI API (https://webaudio.github.io/web-midi-api/)
+
+dictionary MidiPermissionDescriptor : PermissionDescriptor {
+ boolean sysex = false;
+};
+
+partial interface Navigator {
+ [SecureContext]
+ Promise <MIDIAccess> requestMIDIAccess(optional MIDIOptions options = {});
+};
+
+dictionary MIDIOptions {
+ boolean sysex;
+ boolean software;
+};
+
+[SecureContext, Exposed=Window] interface MIDIInputMap {
+ readonly maplike <DOMString, MIDIInput>;
+};
+
+[SecureContext, Exposed=Window] interface MIDIOutputMap {
+ readonly maplike <DOMString, MIDIOutput>;
+};
+
+[SecureContext, Exposed=Window] interface MIDIAccess: EventTarget {
+ readonly attribute MIDIInputMap inputs;
+ readonly attribute MIDIOutputMap outputs;
+ attribute EventHandler onstatechange;
+ readonly attribute boolean sysexEnabled;
+};
+
+[SecureContext, Exposed=Window] interface MIDIPort: EventTarget {
+ readonly attribute DOMString id;
+ readonly attribute DOMString? manufacturer;
+ readonly attribute DOMString? name;
+ readonly attribute MIDIPortType type;
+ readonly attribute DOMString? version;
+ readonly attribute MIDIPortDeviceState state;
+ readonly attribute MIDIPortConnectionState connection;
+ attribute EventHandler onstatechange;
+ Promise <MIDIPort> open();
+ Promise <MIDIPort> close();
+};
+
+[SecureContext, Exposed=Window] interface MIDIInput: MIDIPort {
+ attribute EventHandler onmidimessage;
+};
+
+[SecureContext, Exposed=Window] interface MIDIOutput : MIDIPort {
+ undefined send(sequence<octet> data, optional DOMHighResTimeStamp timestamp = 0);
+ undefined clear();
+};
+
+enum MIDIPortType {
+ "input",
+ "output",
+};
+
+enum MIDIPortDeviceState {
+ "disconnected",
+ "connected",
+};
+
+enum MIDIPortConnectionState {
+ "open",
+ "closed",
+ "pending",
+};
+
+[SecureContext, Exposed=Window]
+interface MIDIMessageEvent : Event {
+ constructor(DOMString type, optional MIDIMessageEventInit eventInitDict = {});
+ readonly attribute Uint8Array? data;
+};
+
+dictionary MIDIMessageEventInit: EventInit {
+ Uint8Array data;
+};
+
+[SecureContext, Exposed=Window]
+interface MIDIConnectionEvent : Event {
+ constructor(DOMString type, optional MIDIConnectionEventInit eventInitDict = {});
+ readonly attribute MIDIPort? port;
+};
+
+dictionary MIDIConnectionEventInit: EventInit {
+ MIDIPort port;
+};