зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1752906 - Enable WebMIDI r=bholley
This also adjusts our mochitests so that they know we're exposing the WebMIDI objects publicly, modifies the way permissions are granted and adjusts our web platform tests to account for known failures. Differential Revision: https://phabricator.services.mozilla.com/D137486
This commit is contained in:
Родитель
74ba113ec0
Коммит
75390b7d30
|
@ -759,21 +759,21 @@ var interfaceNamesInGlobalScope = [
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MessagePort", insecureContext: true },
|
{ name: "MessagePort", insecureContext: true },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIAccess", disabled: true },
|
{ name: "MIDIAccess", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIConnectionEvent", disabled: true },
|
{ name: "MIDIConnectionEvent", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIInputMap", disabled: true },
|
{ name: "MIDIInputMap", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIInput", disabled: true },
|
{ name: "MIDIInput", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIMessageEvent", disabled: true },
|
{ name: "MIDIMessageEvent", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIOutputMap", disabled: true },
|
{ name: "MIDIOutputMap", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIOutput", disabled: true },
|
{ name: "MIDIOutput", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MIDIPort", disabled: true },
|
{ name: "MIDIPort", android: false },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
{ name: "MimeType", insecureContext: true },
|
{ name: "MimeType", insecureContext: true },
|
||||||
// IMPORTANT: Do not change this list without review from a DOM peer!
|
// IMPORTANT: Do not change this list without review from a DOM peer!
|
||||||
|
|
|
@ -4140,7 +4140,7 @@
|
||||||
# Whether the WebMIDI API is enabled
|
# Whether the WebMIDI API is enabled
|
||||||
- name: dom.webmidi.enabled
|
- name: dom.webmidi.enabled
|
||||||
type: bool
|
type: bool
|
||||||
value: false
|
value: @IS_NOT_ANDROID@
|
||||||
mirror: always
|
mirror: always
|
||||||
|
|
||||||
# midi permission is addon-gated
|
# midi permission is addon-gated
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[midi-reporting.https.html]
|
[midi-reporting.https.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[MIDI Report Format]
|
[MIDI Report Format]
|
||||||
expected: FAIL
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
implementation-status: not-implementing
|
prefs: [midi.testing:true, midi.prompt.testing:true]
|
||||||
|
|
|
@ -1,247 +1,329 @@
|
||||||
[idlharness.https.window.html]
|
[idlharness.https.window.html]
|
||||||
[MIDIAccess must be primary interface of access]
|
[MIDIAccess must be primary interface of access]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutputMap interface object name]
|
[MIDIOutputMap interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIOutput interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface: existence and properties of interface object]
|
[MIDIOutput interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInput interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIInput interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInputMap interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIInputMap interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: attribute outputs]
|
[MIDIAccess interface: attribute outputs]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface object length]
|
[MIDIPort interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInputMap interface: existence and properties of interface object]
|
[MIDIInputMap interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: existence and properties of interface object]
|
[MIDIPort interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInputMap must be primary interface of inputs]
|
[MIDIInputMap must be primary interface of inputs]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: access must inherit property "outputs" with the proper type]
|
[MIDIAccess interface: access must inherit property "outputs" with the proper type]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIMessageEvent interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIMessageEvent interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutputMap interface object length]
|
[MIDIOutputMap interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInput interface: existence and properties of interface object]
|
[MIDIInput interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutputMap interface: existence and properties of interface object]
|
[MIDIOutputMap interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute version]
|
[MIDIPort interface: attribute version]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: existence and properties of interface prototype object]
|
[MIDIAccess interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInputMap interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIInputMap interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute onstatechange]
|
[MIDIPort interface: attribute onstatechange]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInputMap interface object length]
|
[MIDIInputMap interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInput interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIInput interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: operation open()]
|
[MIDIPort interface: operation open()]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIConnectionEvent interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface object length]
|
[MIDIOutput interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: attribute inputs]
|
[MIDIAccess interface: attribute inputs]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[Stringification of inputs]
|
[Stringification of inputs]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInputMap interface object name]
|
[MIDIInputMap interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutputMap interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIOutputMap interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: access must inherit property "inputs" with the proper type]
|
[MIDIAccess interface: access must inherit property "inputs" with the proper type]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIMessageEvent interface object name]
|
[MIDIMessageEvent interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: access must inherit property "onstatechange" with the proper type]
|
[MIDIAccess interface: access must inherit property "onstatechange" with the proper type]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInputMap interface: existence and properties of interface prototype object]
|
[MIDIInputMap interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInput interface object length]
|
[MIDIInput interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInput interface: existence and properties of interface prototype object]
|
[MIDIInput interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: access must inherit property "sysexEnabled" with the proper type]
|
[MIDIAccess interface: access must inherit property "sysexEnabled" with the proper type]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIMessageEvent interface: attribute data]
|
[MIDIMessageEvent interface: attribute data]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface: existence and properties of interface prototype object]
|
[MIDIConnectionEvent interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[Stringification of outputs]
|
[Stringification of outputs]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute connection]
|
[MIDIPort interface: attribute connection]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIOutput interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIMessageEvent interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIMessageEvent interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface: operation clear()]
|
[MIDIOutput interface: operation clear()]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: operation close()]
|
[MIDIPort interface: operation close()]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute manufacturer]
|
[MIDIPort interface: attribute manufacturer]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutputMap interface: existence and properties of interface prototype object]
|
[MIDIOutputMap interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute type]
|
[MIDIPort interface: attribute type]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface object length]
|
[MIDIConnectionEvent interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIPort interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIPort interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface object name]
|
[MIDIConnectionEvent interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: attribute sysexEnabled]
|
[MIDIAccess interface: attribute sysexEnabled]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface object name]
|
[MIDIAccess interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface object length]
|
[MIDIAccess interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInput interface: attribute onmidimessage]
|
[MIDIInput interface: attribute onmidimessage]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: attribute onstatechange]
|
[MIDIAccess interface: attribute onstatechange]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: existence and properties of interface object]
|
[MIDIAccess interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIMessageEvent interface: existence and properties of interface object]
|
[MIDIMessageEvent interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface: attribute port]
|
[MIDIConnectionEvent interface: attribute port]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute name]
|
[MIDIPort interface: attribute name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIConnectionEvent interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: existence and properties of interface prototype object]
|
[MIDIPort interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[Stringification of new MIDIConnectionEvent("type")]
|
[Stringification of new MIDIConnectionEvent("type")]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface: new MIDIConnectionEvent("type") must inherit property "port" with the proper type]
|
[MIDIConnectionEvent interface: new MIDIConnectionEvent("type") must inherit property "port" with the proper type]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface object name]
|
[MIDIOutput interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: existence and properties of interface prototype object's "constructor" property]
|
[MIDIAccess interface: existence and properties of interface prototype object's "constructor" property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[idl_test setup]
|
[idl_test setup]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent interface: existence and properties of interface object]
|
[MIDIConnectionEvent interface: existence and properties of interface object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIConnectionEvent must be primary interface of new MIDIConnectionEvent("type")]
|
[MIDIConnectionEvent must be primary interface of new MIDIConnectionEvent("type")]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute state]
|
[MIDIPort interface: attribute state]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIMessageEvent interface object length]
|
[MIDIMessageEvent interface object length]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutputMap interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIOutputMap interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface: existence and properties of interface prototype object]
|
[MIDIOutput interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[Stringification of access]
|
[Stringification of access]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIMessageEvent interface: existence and properties of interface prototype object]
|
[MIDIMessageEvent interface: existence and properties of interface prototype object]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutputMap must be primary interface of outputs]
|
[MIDIOutputMap must be primary interface of outputs]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface object name]
|
[MIDIPort interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIAccess interface: existence and properties of interface prototype object's @@unscopables property]
|
[MIDIAccess interface: existence and properties of interface prototype object's @@unscopables property]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIPort interface: attribute id]
|
[MIDIPort interface: attribute id]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIInput interface object name]
|
[MIDIInput interface object name]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[Navigator interface: operation requestMIDIAccess(optional MIDIOptions)]
|
[Navigator interface: operation requestMIDIAccess(optional MIDIOptions)]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
[MIDIOutput interface: operation send(sequence<octet>, optional DOMHighResTimeStamp)]
|
[MIDIOutput interface: operation send(sequence<octet>, optional DOMHighResTimeStamp)]
|
||||||
expected: FAIL
|
expected:
|
||||||
|
if os == "android": FAIL
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче