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:
Gabriele Svelto 2022-02-21 21:11:12 +00:00
Родитель 74ba113ec0
Коммит 75390b7d30
5 изменённых файлов: 176 добавлений и 93 удалений

Просмотреть файл

@ -759,21 +759,21 @@ var interfaceNamesInGlobalScope = [
// IMPORTANT: Do not change this list without review from a DOM peer!
{ name: "MessagePort", insecureContext: true },
// 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!
{ name: "MIDIConnectionEvent", disabled: true },
{ name: "MIDIConnectionEvent", android: false },
// 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!
{ name: "MIDIInput", disabled: true },
{ name: "MIDIInput", android: false },
// 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!
{ name: "MIDIOutputMap", disabled: true },
{ name: "MIDIOutputMap", android: false },
// 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!
{ name: "MIDIPort", disabled: true },
{ name: "MIDIPort", android: false },
// IMPORTANT: Do not change this list without review from a DOM peer!
{ name: "MimeType", insecureContext: true },
// IMPORTANT: Do not change this list without review from a DOM peer!

Просмотреть файл

@ -4140,7 +4140,7 @@
# Whether the WebMIDI API is enabled
- name: dom.webmidi.enabled
type: bool
value: false
value: @IS_NOT_ANDROID@
mirror: always
# midi permission is addon-gated

Просмотреть файл

@ -1,4 +1,5 @@
[midi-reporting.https.html]
expected: TIMEOUT
[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]
[MIDIAccess must be primary interface of access]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutputMap interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface: attribute outputs]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInputMap interface: existence and properties of interface object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: existence and properties of interface object]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIMessageEvent interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutputMap interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInput interface: existence and properties of interface object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutputMap interface: existence and properties of interface object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute version]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute onstatechange]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInputMap interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInput interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: operation open()]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIConnectionEvent interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutput interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface: attribute inputs]
expected: FAIL
expected:
if os == "android": FAIL
[Stringification of inputs]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInputMap interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIMessageEvent interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInput interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIMessageEvent interface: attribute data]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIConnectionEvent interface: existence and properties of interface prototype object]
expected: FAIL
expected:
if os == "android": FAIL
[Stringification of outputs]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute connection]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutput interface: operation clear()]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: operation close()]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute manufacturer]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutputMap interface: existence and properties of interface prototype object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute type]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIConnectionEvent interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIConnectionEvent interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface: attribute sysexEnabled]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInput interface: attribute onmidimessage]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface: attribute onstatechange]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface: existence and properties of interface object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIMessageEvent interface: existence and properties of interface object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIConnectionEvent interface: attribute port]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute name]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutput interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
expected:
if os == "android": FAIL
[idl_test setup]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIConnectionEvent interface: existence and properties of interface object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIConnectionEvent must be primary interface of new MIDIConnectionEvent("type")]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute state]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIMessageEvent interface object length]
expected: FAIL
expected:
if os == "android": FAIL
[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]
expected: FAIL
expected:
if os == "android": FAIL
[Stringification of access]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIMessageEvent interface: existence and properties of interface prototype object]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutputMap must be primary interface of outputs]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIAccess interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIPort interface: attribute id]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIInput interface object name]
expected: FAIL
expected:
if os == "android": FAIL
[Navigator interface: operation requestMIDIAccess(optional MIDIOptions)]
expected: FAIL
expected:
if os == "android": FAIL
[MIDIOutput interface: operation send(sequence<octet>, optional DOMHighResTimeStamp)]
expected: FAIL
expected:
if os == "android": FAIL