diff --git a/.travis.yml b/.travis.yml index d550610a1e36..c33216d19fe8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ matrix: - sudo apt-get update -q - sudo apt-get install clang-3.9 llvm-3.9-dev llvm-3.9-runtime libunwind8-dev -y - pip install virtualenv - - curl -L https://servo-deps.s3.amazonaws.com/gstreamer/gstreamer-1.14-x86_64-linux-gnu.20190213.tar.gz | tar xz + - curl -L https://servo-deps.s3.amazonaws.com/gstreamer/gstreamer-1.16-x86_64-linux-gnu.20190515.tar.gz | tar xz - sed -i "s;prefix=/opt/gst;prefix=$PWD/gst;g" $PWD/gst/lib/pkgconfig/*.pc - export PKG_CONFIG_PATH=$PWD/gst/lib/pkgconfig - export GST_PLUGIN_SYSTEM_PATH=$PWD/gst/lib/gstreamer-1.0 diff --git a/Cargo.lock b/Cargo.lock index c33b7821577e..944fc188a6fd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3863,7 +3863,7 @@ dependencies = [ [[package]] name = "servo-media" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "servo-media-audio 0.1.0 (git+https://github.com/servo/media)", "servo-media-player 0.1.0 (git+https://github.com/servo/media)", @@ -3874,7 +3874,7 @@ dependencies = [ [[package]] name = "servo-media-audio" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3890,7 +3890,7 @@ dependencies = [ [[package]] name = "servo-media-dummy" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3904,7 +3904,7 @@ dependencies = [ [[package]] name = "servo-media-gstreamer" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3938,7 +3938,7 @@ dependencies = [ [[package]] name = "servo-media-gstreamer-render" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "gstreamer 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "gstreamer-video 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3948,7 +3948,7 @@ dependencies = [ [[package]] name = "servo-media-gstreamer-render-unix" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "glib 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "gstreamer 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3961,7 +3961,7 @@ dependencies = [ [[package]] name = "servo-media-player" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3972,7 +3972,7 @@ dependencies = [ [[package]] name = "servo-media-streams" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3981,7 +3981,7 @@ dependencies = [ [[package]] name = "servo-media-webrtc" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -4080,7 +4080,7 @@ dependencies = [ [[package]] name = "servo_media_derive" version = "0.1.0" -source = "git+https://github.com/servo/media#8691ca03a37c45bf7efa9430e434dd5fbf0abfa3" +source = "git+https://github.com/servo/media#705e4cb84cc0216c009f1a27fefdf61f8f3797be" dependencies = [ "proc-macro2 0.4.26 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/components/config/prefs.rs b/components/config/prefs.rs index 76e70933bde7..4b8bee0397eb 100644 --- a/components/config/prefs.rs +++ b/components/config/prefs.rs @@ -190,6 +190,12 @@ mod gen { gamepad: { enabled: bool, }, + mediadevices: { + #[serde(default)] + enabled: bool, + #[serde(default)] + mock: bool, + }, microdata: { testing: { enabled: bool, diff --git a/components/script/dom/mediadevices.rs b/components/script/dom/mediadevices.rs index bcc575a2ef6d..26b6ccb7eb8c 100644 --- a/components/script/dom/mediadevices.rs +++ b/components/script/dom/mediadevices.rs @@ -17,6 +17,7 @@ use crate::dom::mediastream::MediaStream; use crate::dom::mediastreamtrack::MediaStreamTrack; use crate::dom::promise::Promise; use dom_struct::dom_struct; +use servo_config::prefs; use servo_media::streams::capture::{Constrain, ConstrainRange, MediaTrackConstraintSet}; use servo_media::streams::MediaStreamType; use servo_media::ServoMedia; @@ -35,6 +36,10 @@ impl MediaDevices { } pub fn new(global: &GlobalScope) -> DomRoot { + let mock = prefs::pref_map().get("dom.mediadevices.mock").as_bool(); + if let Some(true) = mock { + ServoMedia::get().unwrap().set_capture_mocking(true); + } reflect_dom_object( Box::new(MediaDevices::new_inherited()), global, diff --git a/components/script/dom/webidls/MediaDevices.webidl b/components/script/dom/webidls/MediaDevices.webidl index 866e1e964d0c..44cd0a6592be 100644 --- a/components/script/dom/webidls/MediaDevices.webidl +++ b/components/script/dom/webidls/MediaDevices.webidl @@ -5,7 +5,7 @@ // https://w3c.github.io/mediacapture-main/#dom-mediadevices [Exposed=Window, -SecureContext, Pref="dom.webrtc.enabled"] +SecureContext, Pref="dom.mediadevices.enabled"] interface MediaDevices : EventTarget { // attribute EventHandler ondevicechange; // Promise> enumerateDevices(); @@ -13,7 +13,7 @@ interface MediaDevices : EventTarget { partial interface Navigator { // [SameObject, SecureContext] - [Pref="dom.webrtc.enabled"] readonly attribute MediaDevices mediaDevices; + [Pref="dom.mediadevices.enabled"] readonly attribute MediaDevices mediaDevices; }; partial interface MediaDevices { diff --git a/components/script/dom/webidls/MediaStream.webidl b/components/script/dom/webidls/MediaStream.webidl index b1d5664a7f7f..f2e700a799c9 100644 --- a/components/script/dom/webidls/MediaStream.webidl +++ b/components/script/dom/webidls/MediaStream.webidl @@ -7,8 +7,7 @@ [Exposed=Window, Constructor, Constructor(MediaStream stream), - Constructor(sequence tracks), -Pref="dom.webrtc.enabled"] + Constructor(sequence tracks)] interface MediaStream : EventTarget { // readonly attribute DOMString id; sequence getAudioTracks(); diff --git a/components/script/dom/webidls/MediaStreamTrack.webidl b/components/script/dom/webidls/MediaStreamTrack.webidl index 2f8bfb0bbece..b514360622af 100644 --- a/components/script/dom/webidls/MediaStreamTrack.webidl +++ b/components/script/dom/webidls/MediaStreamTrack.webidl @@ -4,7 +4,7 @@ // https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack -[Exposed=Window, Pref="dom.webrtc.enabled"] +[Exposed=Window] interface MediaStreamTrack : EventTarget { readonly attribute DOMString kind; readonly attribute DOMString id; diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 0babff052f3d..a7e6ead3bf07 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -566,6 +566,9 @@ def set_run_env(self, android=False): if not android and self.needs_gstreamer_env(None): gstpath = self.get_gstreamer_path() os.environ["LD_LIBRARY_PATH"] = path.join(gstpath, "lib") + os.environ["GST_PLUGIN_SYSTEM_PATH"] = path.join(gstpath, "lib", "gstreamer-1.0") + os.environ["PKG_CONFIG_PATH"] = path.join(gstpath, "lib", "pkgconfig") + os.environ["GST_PLUGIN_SCANNER"] = path.join(gstpath, "libexec", "gstreamer-1.0", "gst-plugin-scanner") def build_env(self, hosts_file_path=None, target=None, is_build=False, test_unit=False): """Return an extended environment dictionary.""" diff --git a/resources/prefs.json b/resources/prefs.json index 23c42c3352da..ed0a262e3900 100644 --- a/resources/prefs.json +++ b/resources/prefs.json @@ -9,6 +9,8 @@ "dom.forcetouch.enabled": false, "dom.fullscreen.test": false, "dom.gamepad.enabled": false, + "dom.mediadevices.enabled": false, + "dom.mediadevices.mock": false, "dom.microdata.enabled": false, "dom.microdata.testing.enabled": false, "dom.mouseevent.which.enabled": false, @@ -26,7 +28,7 @@ "dom.testing.htmlinputelement.select_files.enabled": false, "dom.webgl.dom_to_texture.enabled": false, "dom.webgl2.enabled": false, - "dom.webrtc.enabled": false, + "dom.webrtc.enabled": true, "dom.webvr.enabled": false, "dom.webvr.event_polling_interval": 500, "dom.webvr.test": false, diff --git a/support/linux/gstreamer/gstreamer.sh b/support/linux/gstreamer/gstreamer.sh index 07f3acd3f3e3..b3430c9f5099 100644 --- a/support/linux/gstreamer/gstreamer.sh +++ b/support/linux/gstreamer/gstreamer.sh @@ -6,5 +6,5 @@ set -o errexit -curl -L https://servo-deps.s3.amazonaws.com/gstreamer/gstreamer-1.14-x86_64-linux-gnu.20190213.tar.gz | tar xz +curl -L https://servo-deps.s3.amazonaws.com/gstreamer/gstreamer-1.16-x86_64-linux-gnu.20190515.tar.gz | tar xz sed -i "s;prefix=/opt/gst;prefix=$PWD/gst;g" $PWD/gst/lib/pkgconfig/*.pc diff --git a/tests/wpt/include.ini b/tests/wpt/include.ini index 09299d7927f4..0ed4fef25fa3 100644 --- a/tests/wpt/include.ini +++ b/tests/wpt/include.ini @@ -127,6 +127,8 @@ skip: true skip: false [webgl] skip: false +[webrtc] + skip: false [webvr] skip: false [WebIDL] diff --git a/tests/wpt/metadata/mediacapture-record/__dir__.ini b/tests/wpt/metadata/mediacapture-record/__dir__.ini new file mode 100644 index 000000000000..6993fb302400 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-record/__dir__.ini @@ -0,0 +1 @@ +prefs: ["dom.mediadevices.enabled:true"] diff --git a/tests/wpt/metadata/mediacapture-streams/GUM-deny.https.html.ini b/tests/wpt/metadata/mediacapture-streams/GUM-deny.https.html.ini new file mode 100644 index 000000000000..40cc862bcacf --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/GUM-deny.https.html.ini @@ -0,0 +1,4 @@ +[GUM-deny.https.html] + [Tests that the error callback is triggered when permission is denied] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/GUM-impossible-constraint.https.html.ini b/tests/wpt/metadata/mediacapture-streams/GUM-impossible-constraint.https.html.ini new file mode 100644 index 000000000000..76b4a82a7d33 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/GUM-impossible-constraint.https.html.ini @@ -0,0 +1,2 @@ +[GUM-impossible-constraint.https.html] + expected: CRASH diff --git a/tests/wpt/metadata/mediacapture-streams/GUM-invalid-facing-mode.https.html.ini b/tests/wpt/metadata/mediacapture-streams/GUM-invalid-facing-mode.https.html.ini new file mode 100644 index 000000000000..578ae295db7f --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/GUM-invalid-facing-mode.https.html.ini @@ -0,0 +1,4 @@ +[GUM-invalid-facing-mode.https.html] + [Tests that setting an invalid facingMode constraint in getUserMedia fails] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/GUM-non-applicable-constraint.https.html.ini b/tests/wpt/metadata/mediacapture-streams/GUM-non-applicable-constraint.https.html.ini new file mode 100644 index 000000000000..5e9ced8d8821 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/GUM-non-applicable-constraint.https.html.ini @@ -0,0 +1,2 @@ +[GUM-non-applicable-constraint.https.html] + expected: CRASH diff --git a/tests/wpt/metadata/mediacapture-streams/MediaDevices-SecureContext.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaDevices-SecureContext.html.ini new file mode 100644 index 000000000000..75a1f24462cc --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaDevices-SecureContext.html.ini @@ -0,0 +1,4 @@ +[MediaDevices-SecureContext.html] + [MediaDevices and SecureContext] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaDevices-enumerateDevices.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaDevices-enumerateDevices.https.html.ini new file mode 100644 index 000000000000..f5217123dae3 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaDevices-enumerateDevices.https.html.ini @@ -0,0 +1,7 @@ +[MediaDevices-enumerateDevices.https.html] + [mediaDevices.enumerateDevices() is present and working] + expected: FAIL + + [InputDeviceInfo is supported] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaDevices-getSupportedConstraints.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaDevices-getSupportedConstraints.https.html.ini new file mode 100644 index 000000000000..4da71c4a1eb9 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaDevices-getSupportedConstraints.https.html.ini @@ -0,0 +1,52 @@ +[MediaDevices-getSupportedConstraints.https.html] + [echoCancellation is supported] + expected: FAIL + + [sampleSize is supported] + expected: FAIL + + [autoGainControl is supported] + expected: FAIL + + [aspectRatio is supported] + expected: FAIL + + [frameRate is supported] + expected: FAIL + + [latency is supported] + expected: FAIL + + [width is supported] + expected: FAIL + + [noiseSuppression is supported] + expected: FAIL + + [navigator.mediaDevices.getSupportedConstraints exists] + expected: FAIL + + [deviceId is supported] + expected: FAIL + + [channelCount is supported] + expected: FAIL + + [resizeMode is supported] + expected: FAIL + + [groupId is supported] + expected: FAIL + + [height is supported] + expected: FAIL + + [facingMode is supported] + expected: FAIL + + [sampleRate is supported] + expected: FAIL + + [volume is supported] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaDevices-getUserMedia.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaDevices-getUserMedia.https.html.ini new file mode 100644 index 000000000000..8c3620f1c787 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaDevices-getUserMedia.https.html.ini @@ -0,0 +1,20 @@ +[MediaDevices-getUserMedia.https.html] + expected: ERROR + [getUserMedia() fails with exact invalid resizeMode.] + expected: NOTRUN + + [getUserMedia() supports setting none as resizeMode.] + expected: FAIL + + [mediaDevices.getUserMedia() is present on navigator] + expected: FAIL + + [groupId is correctly supported by getUserMedia() for video devices] + expected: FAIL + + [groupId is correctly supported by getUserMedia() for audio devices] + expected: FAIL + + [getUserMedia() supports setting crop-and-scale as resizeMode.] + expected: NOTRUN + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html.ini new file mode 100644 index 000000000000..5d3ebc18f352 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html.ini @@ -0,0 +1,5 @@ +[MediaStream-MediaElement-srcObject.https.html] + expected: ERROR + [Tests that a MediaStream can be assigned to a video element with srcObject] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStream-clone.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStream-clone.https.html.ini new file mode 100644 index 000000000000..f49c8f01ce4c --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStream-clone.https.html.ini @@ -0,0 +1,7 @@ +[MediaStream-clone.https.html] + [Tests that cloning MediaStreamTrack objects works as expected] + expected: FAIL + + [Tests that cloning MediaStream objects works as expected] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStream-default-feature-policy.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStream-default-feature-policy.https.html.ini new file mode 100644 index 000000000000..342d7b8376fb --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStream-default-feature-policy.https.html.ini @@ -0,0 +1,37 @@ +[MediaStream-default-feature-policy.https.html] + [Default "microphone" feature policy ["self"\] disallows cross-origin iframes.] + expected: FAIL + + [Default "camera;microphone" feature policy ["self"\] allows same-origin iframes.] + expected: FAIL + + [Feature policy "microphone" can be enabled in cross-origin iframes using "allow" attribute.] + expected: FAIL + + [Feature policy "camera;microphone" can be enabled in cross-origin iframes using "allow" attribute.] + expected: FAIL + + [Default "camera" feature policy ["self"\] allows same-origin iframes.] + expected: FAIL + + [Default "camera" feature policy ["self"\] disallows cross-origin iframes.] + expected: FAIL + + [Default "microphone" feature policy ["self"\] allows same-origin iframes.] + expected: FAIL + + [Default "camera;microphone" feature policy ["self"\] allows the top-level document.] + expected: FAIL + + [Feature policy "camera" can be enabled in cross-origin iframes using "allow" attribute.] + expected: FAIL + + [Default "camera" feature policy ["self"\] allows the top-level document.] + expected: FAIL + + [Default "camera;microphone" feature policy ["self"\] disallows cross-origin iframes.] + expected: FAIL + + [Default "microphone" feature policy ["self"\] allows the top-level document.] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStream-finished-add.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStream-finished-add.https.html.ini new file mode 100644 index 000000000000..914569f57c0b --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStream-finished-add.https.html.ini @@ -0,0 +1,4 @@ +[MediaStream-finished-add.https.html] + [Tests that adding a track to an inactive MediaStream is allowed] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStream-idl.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStream-idl.https.html.ini new file mode 100644 index 000000000000..24a7872d38f2 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStream-idl.https.html.ini @@ -0,0 +1,4 @@ +[MediaStream-idl.https.html] + [Tests that a MediaStream constructor follows the algorithm set in the spec] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStream-removetrack.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStream-removetrack.https.html.ini new file mode 100644 index 000000000000..18243eb923c6 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStream-removetrack.https.html.ini @@ -0,0 +1,8 @@ +[MediaStream-removetrack.https.html] + expected: ERROR + [Test that removal from a MediaStream fires ended on media elements (audio first)] + expected: NOTRUN + + [Test that removal from a MediaStream fires ended on media elements (video first)] + expected: NOTRUN + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStream-supported-by-feature-policy.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStream-supported-by-feature-policy.html.ini new file mode 100644 index 000000000000..ce475a2b1413 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStream-supported-by-feature-policy.html.ini @@ -0,0 +1,7 @@ +[MediaStream-supported-by-feature-policy.html] + [document.featurePolicy.features should advertise microphone.] + expected: FAIL + + [document.featurePolicy.features should advertise camera.] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-audio-is-silence.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-audio-is-silence.https.html.ini new file mode 100644 index 000000000000..35a491747d24 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-audio-is-silence.https.html.ini @@ -0,0 +1,4 @@ +[MediaStreamTrack-MediaElement-disabled-audio-is-silence.https.html] + [Tests that a disabled audio track in a MediaStream is rendered as silence] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html.ini new file mode 100644 index 000000000000..9739742128c5 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html.ini @@ -0,0 +1,4 @@ +[MediaStreamTrack-MediaElement-disabled-video-is-black.https.html] + [Tests that a disabled video track in a MediaStream is rendered as blackness] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-applyConstraints.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-applyConstraints.https.html.ini new file mode 100644 index 000000000000..dd20b416a4c6 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-applyConstraints.https.html.ini @@ -0,0 +1,17 @@ +[MediaStreamTrack-applyConstraints.https.html] + expected: ERROR + [applyConstraints rejects attempt to switch device using groupId] + expected: FAIL + + [applyConstraints rejects invalid groupID] + expected: FAIL + + [applyConstraints rejects invalid resizeMode] + expected: FAIL + + [applyConstraints accepts invalid ideal resizeMode, does not change setting] + expected: NOTRUN + + [applyConstraints accepts invalid ideal groupID, does not change setting] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html.ini new file mode 100644 index 000000000000..4c2916c913f2 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-getCapabilities.https.html.ini @@ -0,0 +1,110 @@ +[MediaStreamTrack-getCapabilities.https.html] + expected: ERROR + [Setup video MediaStreamTrack getCapabilities() test for frameRate] + expected: NOTRUN + + [Setup video MediaStreamTrack getCapabilities() test for facingMode] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for sampleSize] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for height] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for latency] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for resizeMode] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for frameRate] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for groupId] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for sampleSize] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for volume] + expected: FAIL + + [Setup video MediaStreamTrack getCapabilities() test for groupId] + expected: NOTRUN + + [Setup video MediaStreamTrack getCapabilities() test for height] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for sampleRate] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for channelCount] + expected: NOTRUN + + [Setup video MediaStreamTrack getCapabilities() test for aspectRatio] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for echoCancellation] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for autoGainControl] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for facingMode] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for noiseSuppression] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for deviceId] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for groupId] + expected: NOTRUN + + [Setup video MediaStreamTrack getCapabilities() test for resizeMode] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for volume] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for echoCancellation] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for noiseSuppression] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for deviceId] + expected: NOTRUN + + [Setup video MediaStreamTrack getCapabilities() test for width] + expected: NOTRUN + + [Setup video MediaStreamTrack getCapabilities() test for deviceId] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for sampleRate] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for channelCount] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for latency] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for groupId] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for width] + expected: NOTRUN + + [Setup audio InputDeviceInfo getCapabilities() test for deviceId] + expected: NOTRUN + + [Setup audio MediaStreamTrack getCapabilities() test for autoGainControl] + expected: NOTRUN + + [Setup video InputDeviceInfo getCapabilities() test for aspectRatio] + expected: NOTRUN + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-getSettings.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-getSettings.https.html.ini new file mode 100644 index 000000000000..ffab24b4e950 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-getSettings.https.html.ini @@ -0,0 +1,65 @@ +[MediaStreamTrack-getSettings.https.html] + expected: ERROR + [A device can be opened twice with different resolutions] + expected: FAIL + + [channelCount is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [autoGainControl is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [sampleSize is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [frameRate is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [sampleRate is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [volume is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [width is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [A device can be opened twice and have the same device ID] + expected: FAIL + + [resizeMode is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [groupId is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [facingMode is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [aspectRatio is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [deviceId is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [latency is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [height is reported by getSettings() for getUserMedia() video tracks] + expected: NOTRUN + + [groupId is correctly reported by getSettings() for all devices] + expected: FAIL + + [echoCancellation is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [noiseSuppression is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [groupId is reported by getSettings() for getUserMedia() audio tracks] + expected: NOTRUN + + [deviceId is reported by getSettings() for getUserMedia() audio tracks] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-init.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-init.https.html.ini new file mode 100644 index 000000000000..4b19f4724244 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrack-init.https.html.ini @@ -0,0 +1,4 @@ +[MediaStreamTrack-init.https.html] + [getUserMedia({video:true}) creates a stream with a properly initialized video track] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/MediaStreamTrackEvent-constructor.https.html.ini b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrackEvent-constructor.https.html.ini new file mode 100644 index 000000000000..543a18c43f27 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/MediaStreamTrackEvent-constructor.https.html.ini @@ -0,0 +1,10 @@ +[MediaStreamTrackEvent-constructor.https.html] + [The MediaStreamTrackEvent instance's track attribute is set.] + expected: FAIL + + [The eventInitDict's track member is required.] + expected: FAIL + + [The eventInitDict argument is required] + expected: FAIL + diff --git a/tests/wpt/metadata/mediacapture-streams/__dir__.ini b/tests/wpt/metadata/mediacapture-streams/__dir__.ini new file mode 100644 index 000000000000..6993fb302400 --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/__dir__.ini @@ -0,0 +1 @@ +prefs: ["dom.mediadevices.enabled:true"] diff --git a/tests/wpt/metadata/mediacapture-streams/idlharness.https.window.js.ini b/tests/wpt/metadata/mediacapture-streams/idlharness.https.window.js.ini new file mode 100644 index 000000000000..4fd5d804f1cf --- /dev/null +++ b/tests/wpt/metadata/mediacapture-streams/idlharness.https.window.js.ini @@ -0,0 +1,4 @@ +[idlharness.https.window.html] + [mediacapture-streams interfaces.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCCertificate-postMessage.html.ini b/tests/wpt/metadata/webrtc/RTCCertificate-postMessage.html.ini new file mode 100644 index 000000000000..1de3d768d448 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCCertificate-postMessage.html.ini @@ -0,0 +1,10 @@ +[RTCCertificate-postMessage.html] + [Check cross-origin created RTCCertificate] + expected: FAIL + + [Check cross-origin RTCCertificate serialization] + expected: FAIL + + [Check same-origin RTCCertificate serialization] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCCertificate.html.ini b/tests/wpt/metadata/webrtc/RTCCertificate.html.ini new file mode 100644 index 000000000000..9f13929c0cbb --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCCertificate.html.ini @@ -0,0 +1,16 @@ +[RTCCertificate.html] + [Constructing RTCPeerConnection with expired certificate should reject with InvalidAccessError] + expected: FAIL + + [RTCCertificate should have at least one fingerprint] + expected: FAIL + + [RTCPeerConnection({ certificates }) should generate offer SDP with fingerprint of provided certificate] + expected: FAIL + + [RTCPeerConnection({ certificates }) should generate offer SDP with fingerprint of all provided certificates] + expected: FAIL + + [Calling setConfiguration with different set of certs should reject with InvalidModificationError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCConfiguration-bundlePolicy.html.ini b/tests/wpt/metadata/webrtc/RTCConfiguration-bundlePolicy.html.ini new file mode 100644 index 000000000000..3b3b678b02ec --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCConfiguration-bundlePolicy.html.ini @@ -0,0 +1,40 @@ +[RTCConfiguration-bundlePolicy.html] + [setConfiguration({ bundlePolicy: 'max-compat' }) with initial bundlePolicy max-bundle should throw InvalidModificationError] + expected: FAIL + + [setConfiguration({ bundlePolicy: balanced }) with initial default bundlePolicy balanced should succeed] + expected: FAIL + + [setConfiguration({ bundlePolicy: 'balanced' }) with initial bundlePolicy balanced should succeed] + expected: FAIL + + [new RTCPeerConnection({ bundlePolicy: 'max-compat' }) should succeed] + expected: FAIL + + [setConfiguration({}) with initial default bundlePolicy balanced should succeed] + expected: FAIL + + [setConfiguration({ bundlePolicy: 'max-compat' }) with initial bundlePolicy max-compat should succeed] + expected: FAIL + + [setConfiguration({}) with initial bundlePolicy max-bundle should throw InvalidModificationError] + expected: FAIL + + [setConfiguration({ bundlePolicy: 'max-bundle' }) with initial bundlePolicy max-bundle should succeed] + expected: FAIL + + [new RTCPeerConnection({ bundlePolicy: undefined }) should have bundlePolicy balanced] + expected: FAIL + + [setConfiguration({}) with initial bundlePolicy balanced should succeed] + expected: FAIL + + [new RTCPeerConnection({ bundlePolicy: 'max-bundle' }) should succeed] + expected: FAIL + + [Default bundlePolicy should be balanced] + expected: FAIL + + [new RTCPeerConnection({ bundlePolicy: 'balanced' }) should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCConfiguration-iceCandidatePoolSize.html.ini b/tests/wpt/metadata/webrtc/RTCConfiguration-iceCandidatePoolSize.html.ini new file mode 100644 index 000000000000..9d89a1e55b50 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCConfiguration-iceCandidatePoolSize.html.ini @@ -0,0 +1,22 @@ +[RTCConfiguration-iceCandidatePoolSize.html] + [Initialize a new RTCPeerConnection with iceCandidatePoolSize: 255] + expected: FAIL + + [Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 0] + expected: FAIL + + [Initialize a new RTCPeerConnection with iceCandidatePoolSize: 0] + expected: FAIL + + [Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 255] + expected: FAIL + + [Reconfigure RTCPeerConnection instance iceCandidatePoolSize to 256 (Out Of Range)] + expected: FAIL + + [Initialize a new RTCPeerConnection with no iceCandidatePoolSize] + expected: FAIL + + [Reconfigure RTCPeerConnection instance iceCandidatePoolSize to -1 (Out Of Range)] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCConfiguration-iceServers.html.ini b/tests/wpt/metadata/webrtc/RTCConfiguration-iceServers.html.ini new file mode 100644 index 000000000000..4f357ec8c1c0 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCConfiguration-iceServers.html.ini @@ -0,0 +1,202 @@ +[RTCConfiguration-iceServers.html] + [setConfiguration(config) - { iceServers: undefined } should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with turn server, username, credential should succeed] + expected: FAIL + + [setConfiguration(config) - with turns server and no credentials should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with 2 stun servers should succeed] + expected: FAIL + + [setConfiguration(config) - with url field should throw TypeError] + expected: FAIL + + [setConfiguration(config) - with invalid credentialType should throw TypeError] + expected: FAIL + + [new RTCPeerConnection(config) - with ["stun:stun1.example.net", ""\] url should throw SyntaxError] + expected: FAIL + + [new RTCPeerConnection(config) - with turns server and only credential should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with stun server, credentialType oauth, and string credential should succeed] + expected: FAIL + + [setConfiguration(config) - with one turns server, one turn server, username, credential should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with "" url should throw SyntaxError] + expected: FAIL + + [new RTCPeerConnection(config) - with stun server, credentialType password, and RTCOAuthCredential credential should succeed] + expected: FAIL + + [new RTCPeerConnection() should have default configuration.iceServers of undefined] + expected: FAIL + + [setConfiguration(config) - with turns server, credentialType oauth and RTCOAuthCredential credential should succeed] + expected: FAIL + + [setConfiguration(config) - { iceServers: null } should throw TypeError] + expected: FAIL + + [new RTCPeerConnection(config) - { iceServers: undefined } should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with turns server and only username should throw InvalidAccessError] + expected: FAIL + + [setConfiguration(config) - with stun server should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with turns server, credentialType oauth and RTCOAuthCredential credential should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with stun server array should succeed] + expected: FAIL + + [setConfiguration(config) - with stun server, credentialType oauth, and string credential should succeed] + expected: FAIL + + [setConfiguration(config) - with invalid stun url should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - with turn server, username, credential should succeed] + expected: FAIL + + [setConfiguration(config) - with turns server and only credential should throw InvalidAccessError] + expected: FAIL + + [setConfiguration(config) - with turns server, credentialType oauth, and string credential should throw InvalidAccessError] + expected: FAIL + + [setConfiguration(config) - with turn server and only credential should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with http url should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - with turns server and only username should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with turn server and only username should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with stun server should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with turns server, credentialType oauth, and string credential should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with turn server and only credential should throw InvalidAccessError] + expected: FAIL + + [setConfiguration(config) - with turns server and empty string username, credential should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with both turns and stun server, credentialType oauth and RTCOAuthCredential credential should succeed] + expected: FAIL + + [setConfiguration(config) - {} should succeed] + expected: FAIL + + [setConfiguration(config) - with stun server and credentialType password should succeed] + expected: FAIL + + [setConfiguration(config) - { iceServers: [{}\] } should throw TypeError] + expected: FAIL + + [new RTCPeerConnection(config) - with turn server and no credentials should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with stun server and credentialType password should succeed] + expected: FAIL + + [setConfiguration(config) - with empty urls should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - with turn server and empty string username, credential should succeed] + expected: FAIL + + [setConfiguration(config) - with 2 stun servers should succeed] + expected: FAIL + + [setConfiguration(config) - with stun server array should succeed] + expected: FAIL + + [setConfiguration(config) - with relative url should throw SyntaxError] + expected: FAIL + + [new RTCPeerConnection(config) - with turns server, credentialType password, and RTCOauthCredential credential should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with invalid turn url should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - { iceServers: [undefined\] } should throw TypeError] + expected: FAIL + + [new RTCPeerConnection(config) - with turns server and empty string username, credential should succeed] + expected: FAIL + + [setConfiguration(config) - with "" url should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - with credentialType token should throw TypeError] + expected: FAIL + + [setConfiguration(config) - { iceServers: [\] } should succeed] + expected: FAIL + + [setConfiguration(config) - { iceServers: [null\] } should throw TypeError] + expected: FAIL + + [setConfiguration(config) - with turn server and no credentials should throw InvalidAccessError] + expected: FAIL + + [setConfiguration(config) - with stun server, credentialType password, and RTCOAuthCredential credential should succeed] + expected: FAIL + + [setConfiguration(config) - with ["stun:stun1.example.net", ""\] url should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - with turn server and only username should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - { iceServers: [\] } should succeed] + expected: FAIL + + [setConfiguration(config) - with both turns and stun server, credentialType oauth and RTCOAuthCredential credential should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with relative url should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - with invalid turn url should throw SyntaxError] + expected: FAIL + + [new RTCPeerConnection(config) - with turn server and empty string username, credential should succeed] + expected: FAIL + + [setConfiguration(config) - with http url should throw SyntaxError] + expected: FAIL + + [new RTCPeerConnection(config) - with invalid stun url should throw SyntaxError] + expected: FAIL + + [new RTCPeerConnection(config) - with empty urls should throw SyntaxError] + expected: FAIL + + [setConfiguration(config) - with turns server, credentialType password, and RTCOauthCredential credential should throw InvalidAccessError] + expected: FAIL + + [new RTCPeerConnection(config) - with one turns server, one turn server, username, credential should succeed] + expected: FAIL + + [new RTCPeerConnection(config) - with turns server and no credentials should throw InvalidAccessError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCConfiguration-iceTransportPolicy.html.ini b/tests/wpt/metadata/webrtc/RTCConfiguration-iceTransportPolicy.html.ini new file mode 100644 index 000000000000..c51b53bb31ff --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCConfiguration-iceTransportPolicy.html.ini @@ -0,0 +1,40 @@ +[RTCConfiguration-iceTransportPolicy.html] + [setConfiguration(config) - with null iceTransportPolicy should throw TypeError] + expected: FAIL + + [new RTCPeerConnection({ iceTransportPolicy: undefined }) should have default iceTransportPolicy all] + expected: FAIL + + [setConfiguration({}) with initial iceTransportPolicy relay should set new value to all] + expected: FAIL + + [new RTCPeerConnection({ iceTransportPolicy: 'relay' }) should succeed] + expected: FAIL + + [setConfiguration({ iceTransportPolicy: 'relay' }) with initial iceTransportPolicy all should succeed] + expected: FAIL + + [new RTCPeerConnection({ iceTransports: 'invalid' }) should have no effect] + expected: FAIL + + [new RTCPeerConnection() should have default iceTransportPolicy all] + expected: FAIL + + [new RTCPeerConnection({ iceTransports: 'relay' }) should have no effect] + expected: FAIL + + [setConfiguration({ iceTransportPolicy: 'all' }) with initial iceTransportPolicy relay should succeed] + expected: FAIL + + [new RTCPeerConnection({ iceTransports: null }) should have no effect] + expected: FAIL + + [setConfiguration(config) - with none iceTransportPolicy should throw TypeError] + expected: FAIL + + [setConfiguration(config) - with invalid iceTransportPolicy should throw TypeError] + expected: FAIL + + [new RTCPeerConnection({ iceTransportPolicy: 'all' }) should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCConfiguration-rtcpMuxPolicy.html.ini b/tests/wpt/metadata/webrtc/RTCConfiguration-rtcpMuxPolicy.html.ini new file mode 100644 index 000000000000..3bd8bdcb31d0 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCConfiguration-rtcpMuxPolicy.html.ini @@ -0,0 +1,34 @@ +[RTCConfiguration-rtcpMuxPolicy.html] + [setConfiguration(config) - with { rtcpMuxPolicy: 'invalid' } should throw TypeError] + expected: FAIL + + [setRemoteDescription throws InvalidAccessError when called with an answer without rtcp-mux and rtcpMuxPolicy is set to require] + expected: FAIL + + [new RTCPeerConnection({ rtcpMuxPolicy: undefined }) should have default rtcpMuxPolicy require] + expected: FAIL + + [new RTCPeerConnection({ rtcpMuxPolicy: 'require' }) should succeed] + expected: FAIL + + [new RTCPeerConnection({ rtcpMuxPolicy: 'negotiate' }) may succeed or throw NotSupportedError] + expected: FAIL + + [setConfiguration({ rtcpMuxPolicy: 'require' }) with initial rtcpMuxPolicy negotiate should throw InvalidModificationError] + expected: FAIL + + [setConfiguration(config) - with { rtcpMuxPolicy: null } should throw TypeError] + expected: FAIL + + [setRemoteDescription throws InvalidAccessError when called with an offer without rtcp-mux and rtcpMuxPolicy is set to require] + expected: FAIL + + [setConfiguration({}) with initial rtcpMuxPolicy negotiate should throw InvalidModificationError] + expected: FAIL + + [setConfiguration({ rtcpMuxPolicy: 'negotiate' }) with initial rtcpMuxPolicy require should throw InvalidModificationError] + expected: FAIL + + [new RTCPeerConnection() should have default rtcpMuxPolicy require] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDTMFSender-insertDTMF.https.html.ini b/tests/wpt/metadata/webrtc/RTCDTMFSender-insertDTMF.https.html.ini new file mode 100644 index 000000000000..4f60e5ef211c --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDTMFSender-insertDTMF.https.html.ini @@ -0,0 +1,22 @@ +[RTCDTMFSender-insertDTMF.https.html] + [insertDTMF() should throw InvalidCharacterError if tones contains invalid DTMF characters] + expected: FAIL + + [insertDTMF() after remove and close should reject] + expected: FAIL + + [insertDTMF() should throw InvalidStateError if transceiver is stopped] + expected: FAIL + + [insertDTMF() should set toneBuffer to provided tones normalized, with old tones overridden] + expected: FAIL + + [insertDTMF() should throw InvalidStateError if transceiver.currentDirection is recvonly] + expected: FAIL + + [insertDTMF() should succeed if tones contains valid DTMF characters] + expected: FAIL + + [insertDTMF() should throw InvalidStateError if transceiver.currentDirection is inactive] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDTMFSender-ontonechange-long.https.html.ini b/tests/wpt/metadata/webrtc/RTCDTMFSender-ontonechange-long.https.html.ini new file mode 100644 index 000000000000..2bd47cbeb7bc --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDTMFSender-ontonechange-long.https.html.ini @@ -0,0 +1,4 @@ +[RTCDTMFSender-ontonechange-long.https.html] + [insertDTMF with duration greater than 6000 should be clamped to 6000] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDTMFSender-ontonechange.https.html.ini b/tests/wpt/metadata/webrtc/RTCDTMFSender-ontonechange.https.html.ini new file mode 100644 index 000000000000..d998f28fcf10 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDTMFSender-ontonechange.https.html.ini @@ -0,0 +1,40 @@ +[RTCDTMFSender-ontonechange.https.html] + [Tone change event with unexpected name should not crash] + expected: FAIL + + [insertDTMF('') should not fire any tonechange event, including for '' tone] + expected: FAIL + + [Calling insertDTMF('') in the middle of tonechange events should stop future tonechange events from firing] + expected: FAIL + + [Setting transceiver.currentDirection to recvonly in the middle of tonechange events should stop future tonechange events from firing] + expected: FAIL + + [Tone change event constructor works] + expected: FAIL + + [insertDTMF() with duration less than 40 should be clamped to 40] + expected: FAIL + + [insertDTMF() with explicit duration and intertoneGap should fire tonechange events at the expected time] + expected: FAIL + + [Calling insertDTMF() in the middle of tonechange events should cause future tonechanges to be updated to new tones] + expected: FAIL + + [insertDTMF with comma should delay next tonechange event for a constant 2000ms] + expected: FAIL + + [insertDTMF() with interToneGap less than 30 should be clamped to 30] + expected: FAIL + + [insertDTMF() with default duration and intertoneGap should fire tonechange events at the expected time] + expected: FAIL + + [insertDTMF() with transceiver stopped in the middle should stop future tonechange events from firing] + expected: FAIL + + [Calling insertDTMF() multiple times in the middle of tonechange events should cause future tonechanges to be updated the last provided tones] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDataChannel-bufferedAmount.html.ini b/tests/wpt/metadata/webrtc/RTCDataChannel-bufferedAmount.html.ini new file mode 100644 index 000000000000..149a1d39488b --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDataChannel-bufferedAmount.html.ini @@ -0,0 +1,37 @@ +[RTCDataChannel-bufferedAmount.html] + [bufferedAmount should not decrease immediately after initiating closure] + expected: FAIL + + [Data channel bufferedamount is data.length on send(data)] + expected: FAIL + + [Data channel bufferedamountlow event fires only once after multiple consecutive send() calls] + expected: FAIL + + [bufferedAmount should increase to byte length of buffer sent] + expected: FAIL + + [Data channel bufferedamountlow event fires after each sent message] + expected: FAIL + + [bufferedAmount should increase by byte length for each message sent] + expected: FAIL + + [Data channel bufferedamount returns the same amount if no more data is sent on the channel] + expected: FAIL + + [bufferedAmount initial value should be 0 for both peers] + expected: FAIL + + [Data channel bufferedamountlow event fires after send() is complete] + expected: FAIL + + [bufferedAmount should not decrease after closing the peer connection] + expected: FAIL + + [bufferedAmount should increase to size of blob sent] + expected: FAIL + + [bufferedAmount should increase to byte length of encoded unicode string sent] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDataChannel-id.html.ini b/tests/wpt/metadata/webrtc/RTCDataChannel-id.html.ini new file mode 100644 index 000000000000..045d6b7385c0 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDataChannel-id.html.ini @@ -0,0 +1,13 @@ +[RTCDataChannel-id.html] + [DTLS server uses even data channel IDs] + expected: FAIL + + [Odd/even role should not be violated when mixing with negotiated channels] + expected: FAIL + + [In-band negotiation with a specific ID should not work] + expected: FAIL + + [DTLS client uses odd data channel IDs] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDataChannel-send.html.ini b/tests/wpt/metadata/webrtc/RTCDataChannel-send.html.ini new file mode 100644 index 000000000000..4c01d24cf90b --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDataChannel-send.html.ini @@ -0,0 +1,34 @@ +[RTCDataChannel-send.html] + [Data channel should be able to send unicode string and receive as unicode string] + expected: FAIL + + [Sending multiple messages with different types should succeed and be received] + expected: FAIL + + [Data channel should be able to send Uint8Array message and receive as ArrayBuffer] + expected: FAIL + + [Calling send() up to max size should succeed, above max size should fail] + expected: FAIL + + [Data channel should be able to send simple string and receive as string] + expected: FAIL + + [Calling send() when data channel is in connecting state should throw InvalidStateError] + expected: FAIL + + [Data channel binaryType should receive message as Blob by default] + expected: FAIL + + [Data channel should ignore binaryType and always receive string message as string] + expected: FAIL + + [Data channel should be able to send Blob message and receive as ArrayBuffer] + expected: FAIL + + [Data channel should be able to send ArrayBuffer message and receive as Blob] + expected: FAIL + + [Data channel should be able to send ArrayBuffer message and receive as ArrayBuffer] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDataChannelEvent-constructor.html.ini b/tests/wpt/metadata/webrtc/RTCDataChannelEvent-constructor.html.ini new file mode 100644 index 000000000000..a0a7c8e93875 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDataChannelEvent-constructor.html.ini @@ -0,0 +1,13 @@ +[RTCDataChannelEvent-constructor.html] + [RTCDataChannelEvent constructor with a channel passed as undefined.] + expected: FAIL + + [RTCDataChannelEvent constructor without a required argument.] + expected: FAIL + + [RTCDataChannelEvent constructor with channel passed as null.] + expected: FAIL + + [RTCDataChannelEvent constructor with full arguments.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDtlsTransport-getRemoteCertificates.html.ini b/tests/wpt/metadata/webrtc/RTCDtlsTransport-getRemoteCertificates.html.ini new file mode 100644 index 000000000000..f8a830f38553 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDtlsTransport-getRemoteCertificates.html.ini @@ -0,0 +1,4 @@ +[RTCDtlsTransport-getRemoteCertificates.html] + [RTCDtlsTransport.prototype.getRemoteCertificates] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCDtlsTransport-state.html.ini b/tests/wpt/metadata/webrtc/RTCDtlsTransport-state.html.ini new file mode 100644 index 000000000000..0257405637b2 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCDtlsTransport-state.html.ini @@ -0,0 +1,10 @@ +[RTCDtlsTransport-state.html] + [close() causes the other end's DTLS transport to close] + expected: FAIL + + [DTLS transport goes to connected state] + expected: FAIL + + [close() causes the local transport to close immediately] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCError.html.ini b/tests/wpt/metadata/webrtc/RTCError.html.ini new file mode 100644 index 000000000000..1020c07a75f9 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCError.html.ini @@ -0,0 +1,70 @@ +[RTCError.html] + [RTCError.sentAlert is readonly] + expected: FAIL + + [RTCError.errorDetail is readonly.] + expected: FAIL + + [RTCError constructor throws TypeError if the errorDetail is invalid] + expected: FAIL + + [RTCError constructor with errorDetail and message] + expected: FAIL + + [RTCError.receivedAlert is settable by constructor] + expected: FAIL + + [RTCError.sctpCauseCode is readonly] + expected: FAIL + + [RTCError.code is 0] + expected: FAIL + + [RTCError.sdpLineNumber is null by default] + expected: FAIL + + [RTCError constructor's message argument is optional] + expected: FAIL + + [RTCError.httpRequestStatusCode is settable by constructor] + expected: FAIL + + [RTCError.sentAlert is null by default] + expected: FAIL + + [RTCError.sentAlert is settable by constructor] + expected: FAIL + + [RTCError.receivedAlert is null by default] + expected: FAIL + + [RTCError.httpRequestStatusCode is null by default] + expected: FAIL + + [RTCError.receivedAlert is readonly] + expected: FAIL + + [RTCErrorInit.errorDetail is the only required attribute] + expected: FAIL + + [RTCError.sdpLineNumber is settable by constructor] + expected: FAIL + + [RTCError constructor throws TypeError if arguments are missing] + expected: FAIL + + [RTCError.sdpLineNumber is readonly] + expected: FAIL + + [RTCError.sctpCauseCode is settable by constructor] + expected: FAIL + + [RTCError.sctpCauseCode is null by default] + expected: FAIL + + [RTCError.httpRequestStatusCode is readonly] + expected: FAIL + + [RTCError.name is 'RTCError'] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCIceCandidate-constructor.html.ini b/tests/wpt/metadata/webrtc/RTCIceCandidate-constructor.html.ini new file mode 100644 index 000000000000..250ef2003cdf --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCIceCandidate-constructor.html.ini @@ -0,0 +1,7 @@ +[RTCIceCandidate-constructor.html] + [new RTCIceCandidate({ ... }) with nondefault values for all fields, tcp candidate] + expected: FAIL + + [new RTCIceCandidate({ ... }) with nondefault values for all fields] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCIceConnectionState-candidate-pair.https.html.ini b/tests/wpt/metadata/webrtc/RTCIceConnectionState-candidate-pair.https.html.ini new file mode 100644 index 000000000000..0d56318781f7 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCIceConnectionState-candidate-pair.https.html.ini @@ -0,0 +1,4 @@ +[RTCIceConnectionState-candidate-pair.https.html] + [On ICE connected, getStats() contains a connected candidate-pair] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCIceTransport-extension.https.html.ini b/tests/wpt/metadata/webrtc/RTCIceTransport-extension.https.html.ini new file mode 100644 index 000000000000..5675564cb5bb --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCIceTransport-extension.https.html.ini @@ -0,0 +1,88 @@ +[RTCIceTransport-extension.https.html] + [gather() returns at least one host candidate] + expected: FAIL + + [gather() returns no candidates with { gatherPolicy: 'relay'} and no turn servers] + expected: FAIL + + [addRemoteCandidate() throws if closed] + expected: FAIL + + [Two RTCIceTransports configured with the controlled role resolve the conflict in band and still connect.] + expected: FAIL + + [onicecandidate fires with null candidate before gatheringState transitions to 'complete'] + expected: FAIL + + [addRemoteCandidate() transitions state to 'checking' if start() had been called before] + expected: FAIL + + [gather() with 2 stun servers should succeed] + expected: FAIL + + [start() sets role attribute to 'controlling'] + expected: FAIL + + [start() throws if closed] + expected: FAIL + + [Selected candidate pair changes once the RTCIceTransports connect.] + expected: FAIL + + [Two RTCIceTransports connect to each other] + expected: FAIL + + [RTCIceTransport initial properties are set] + expected: FAIL + + [start() flushes remote candidates and transitions state to 'new' if later called with different remote parameters] + expected: FAIL + + [start() throws if later called with a different role] + expected: FAIL + + [gather() with { iceServers: undefined } should succeed] + expected: FAIL + + [addRemoteCandidate() throws on invalid candidate] + expected: FAIL + + [start() with default role sets role attribute to 'controlled'] + expected: FAIL + + [gather() with { iceServers: null } should throw TypeError] + expected: FAIL + + [gather() throws if called twice] + expected: FAIL + + [Two RTCIceTransports configured with the controlling role resolve the conflict in band and still connect.] + expected: FAIL + + [gather() transitions gatheringState to 'gathering'] + expected: FAIL + + [start() throws if usernameFragment or password not set] + expected: FAIL + + [start() transitions state to 'checking' if one remote candidate had been added] + expected: FAIL + + [gather() with one turns server, one turn server, username, credential should succeed] + expected: FAIL + + [getSelectedCandidatePair() returns null once the RTCIceTransport is stopped.] + expected: FAIL + + [start() does not transition state to 'checking' if no remote candidates added] + expected: FAIL + + [gather() throws if closed] + expected: FAIL + + [RTCIceTransport constructor does not throw] + expected: FAIL + + [eventually transition gatheringState to 'complete'] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCIceTransport.html.ini b/tests/wpt/metadata/webrtc/RTCIceTransport.html.ini new file mode 100644 index 000000000000..bccbf4558ea8 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCIceTransport.html.ini @@ -0,0 +1,7 @@ +[RTCIceTransport.html] + [Two connected iceTransports should has matching local/remote candidates returned] + expected: FAIL + + [Unconnected iceTransport should have empty remote candidates and selected pair] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-add-track-no-deadlock.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-add-track-no-deadlock.https.html.ini new file mode 100644 index 000000000000..033edaad84f7 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-add-track-no-deadlock.https.html.ini @@ -0,0 +1,5 @@ +[RTCPeerConnection-add-track-no-deadlock.https.html] + expected: ERROR + [RTCPeerConnection addTrack does not deadlock.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-addIceCandidate.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-addIceCandidate.html.ini new file mode 100644 index 000000000000..aa70cfeec278 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-addIceCandidate.html.ini @@ -0,0 +1,61 @@ +[RTCPeerConnection-addIceCandidate.html] + [addIceCandidate({usernameFragment: usernameFragment1, sdpMid: sdpMid1}) should work, and add a=end-of-candidates to the first m-section] + expected: FAIL + + [addIceCandidate(null) should work, and add a=end-of-candidates to both m-sections] + expected: FAIL + + [Add candidate with only valid sdpMid should succeed] + expected: FAIL + + [addIceCandidate({usernameFragment: "no such ufrag"}) should not work] + expected: FAIL + + [addIceCandidate with second sdpMid and sdpMLineIndex should add candidate to second media stream] + expected: FAIL + + [Add candidate with invalid sdpMid should reject with OperationError] + expected: FAIL + + [Add candidate with sdpMid belonging to different usernameFragment should reject with OperationError] + expected: FAIL + + [Add candidate with invalid sdpMLineIndex should reject with OperationError] + expected: FAIL + + [Add candidate for first media stream with null usernameFragment should add candidate to first media stream] + expected: FAIL + + [Add candidate for media stream 2 with null usernameFragment should succeed] + expected: FAIL + + [Adding multiple candidates should add candidates to their corresponding media stream] + expected: FAIL + + [addIceCandidate({usernameFragment: usernameFragment2, sdpMLineIndex: 1}) should work, and add a=end-of-candidates to the first m-section] + expected: FAIL + + [Add ICE candidate before setting remote description should reject with InvalidStateError] + expected: FAIL + + [Add candidate with invalid candidate string should reject with OperationError] + expected: FAIL + + [addIceCandidate(undefined) should work, and add a=end-of-candidates to both m-sections] + expected: FAIL + + [Add candidate with invalid usernameFragment should reject with OperationError] + expected: FAIL + + [Add with empty candidate string (end of candidate) should succeed] + expected: FAIL + + [addIceCandidate({}) should work, and add a=end-of-candidates to both m-sections] + expected: FAIL + + [addIceCandidate with first sdpMid and sdpMLineIndex add candidate to first media stream] + expected: FAIL + + [addIceCandidate({"candidate":"","sdpMid":null,"sdpMLineIndex":null}) should work, and add a=end-of-candidates to both m-sections] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-addTrack.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-addTrack.https.html.ini new file mode 100644 index 000000000000..6de0040367c7 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-addTrack.https.html.ini @@ -0,0 +1,29 @@ +[RTCPeerConnection-addTrack.https.html] + expected: ERROR + [addTrack with existing sender that has been used to send should create new sender] + expected: NOTRUN + + [addTrack with single track argument and multiple streams should succeed] + expected: NOTRUN + + [addTrack with existing sender with null track, different kind, and recvonly direction should create new sender] + expected: NOTRUN + + [addTrack with single track argument and no stream should succeed] + expected: NOTRUN + + [addTrack with existing sender that has not been used to send should reuse the sender] + expected: NOTRUN + + [addTrack with single track argument and single stream should succeed] + expected: NOTRUN + + [addTrack when pc is closed should throw InvalidStateError] + expected: FAIL + + [addTrack with existing sender with null track, same kind, and recvonly direction should reuse sender] + expected: NOTRUN + + [Adding the same track multiple times should throw InvalidAccessError] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-addTransceiver.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-addTransceiver.https.html.ini new file mode 100644 index 000000000000..46efcaa35623 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-addTransceiver.https.html.ini @@ -0,0 +1,38 @@ +[RTCPeerConnection-addTransceiver.https.html] + expected: ERROR + [addTransceiver() with direction inactive should have result transceiver.direction be the same] + expected: FAIL + + [addTransceiver() with direction sendonly should have result transceiver.direction be the same] + expected: FAIL + + [addTransceiver() with valid sendEncodings should succeed] + expected: FAIL + + [addTransceiver('audio') should return an audio transceiver] + expected: FAIL + + [addTransceiver() with valid rid value should succeed] + expected: FAIL + + [addTransceiver('video') should return a video transceiver] + expected: FAIL + + [addTransceiver() with rid longer than 16 characters should throw TypeError] + expected: FAIL + + [addTransceiver() with rid containing invalid non-alphanumeric characters should throw TypeError] + expected: FAIL + + [addTransceiver(track) should have result with sender.track be given track] + expected: FAIL + + [addTransceiver() with string argument as invalid kind should throw TypeError] + expected: FAIL + + [addTransceiver() with invalid direction should throw TypeError] + expected: FAIL + + [addTransceiver(track) multiple times should create multiple transceivers] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-canTrickleIceCandidates.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-canTrickleIceCandidates.html.ini new file mode 100644 index 000000000000..03e5bc90ed64 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-canTrickleIceCandidates.html.ini @@ -0,0 +1,10 @@ +[RTCPeerConnection-canTrickleIceCandidates.html] + [canTrickleIceCandidates property is true after setRemoteDescription with a=ice-options:trickle] + expected: FAIL + + [canTrickleIceCandidates property is false after setRemoteDescription without a=ice-options:trickle] + expected: FAIL + + [canTrickleIceCandidates property is null prior to setRemoteDescription] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-connectionState.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-connectionState.https.html.ini new file mode 100644 index 000000000000..73eb59444599 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-connectionState.https.html.ini @@ -0,0 +1,20 @@ +[RTCPeerConnection-connectionState.https.html] + expected: ERROR + [Initial connectionState should be new] + expected: FAIL + + [connectionState remains new when not adding remote ice candidates] + expected: FAIL + + [connectionState transitions to connected via connecting] + expected: NOTRUN + + [connection with one data channel should eventually have transports in connected state] + expected: FAIL + + [connection with one data channel should eventually have connected connection state] + expected: FAIL + + [Closing the connection should set connectionState to closed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-constructor.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-constructor.html.ini new file mode 100644 index 000000000000..9aad6750938a --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-constructor.html.ini @@ -0,0 +1,28 @@ +[RTCPeerConnection-constructor.html] + [connectionState initial value] + expected: FAIL + + [pendingRemoteDescription initial value] + expected: FAIL + + [pendingLocalDescription initial value] + expected: FAIL + + [new RTCPeerConnection({ certificates: null })] + expected: FAIL + + [canTrickleIceCandidates initial value] + expected: FAIL + + [currentLocalDescription initial value] + expected: FAIL + + [new RTCPeerConnection({ certificates: [null\] })] + expected: FAIL + + [currentRemoteDescription initial value] + expected: FAIL + + [new RTCPeerConnection({ certificates: [undefined\] })] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-createAnswer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-createAnswer.html.ini new file mode 100644 index 000000000000..625c956f86ac --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-createAnswer.html.ini @@ -0,0 +1,11 @@ +[RTCPeerConnection-createAnswer.html] + expected: CRASH + [createAnswer() when connection is closed reject with InvalidStateError] + expected: NOTRUN + + [createAnswer() after setting remote description should succeed] + expected: NOTRUN + + [createAnswer() with null remoteDescription should reject with InvalidStateError] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-createDataChannel.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-createDataChannel.html.ini new file mode 100644 index 000000000000..f672fd7d1e72 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-createDataChannel.html.ini @@ -0,0 +1,94 @@ +[RTCPeerConnection-createDataChannel.html] + [createDataChannel with maxPacketLifeTime 0 should succeed] + expected: FAIL + + [createDataChannel with protocol null should succeed] + expected: FAIL + + [createDataChannel with closed connection should throw InvalidStateError] + expected: FAIL + + [createDataChannel with protocol undefined should succeed] + expected: FAIL + + [createDataChannel with negotiated false should succeed] + expected: FAIL + + [createDataChannel with negotiated false and id 42 should ignore the id] + expected: FAIL + + [createDataChannel with label undefined should succeed] + expected: FAIL + + [Reusing a data channel id that is in use (after setRemoteDescription, negotiated via DCEP) should throw OperationError] + expected: FAIL + + [Reusing a data channel id that is in use (after setRemoteDescription) should throw OperationError] + expected: FAIL + + [New data channel should be in the connecting state after creation (after connection establishment)] + expected: FAIL + + [createDataChannel with maxRetransmits 0 should succeed] + expected: FAIL + + [createDataChannel with ordered null/undefined should succeed] + expected: FAIL + + [createDataChannel with label "foo" should succeed] + expected: FAIL + + [Reusing a data channel id that is in use should throw OperationError] + expected: FAIL + + [createDataChannel with no argument should throw TypeError] + expected: FAIL + + [createDataChannel with id 0 should succeed] + expected: FAIL + + [createDataChannel attribute default values] + expected: FAIL + + [Channels created (after setRemoteDescription) should have id assigned] + expected: FAIL + + [createDataChannel with ordered false should succeed] + expected: FAIL + + [createDataChannel with label lone surrogate should succeed] + expected: FAIL + + [createDataChannel with label null should succeed] + expected: FAIL + + [createDataChannel with id 1 should succeed] + expected: FAIL + + [createDataChannel with both maxPacketLifeTime and maxRetransmits undefined should succeed] + expected: FAIL + + [createDataChannel with negotiated true and id should succeed] + expected: FAIL + + [createDataChannel with maximum length label and protocol should succeed] + expected: FAIL + + [createDataChannel with provided parameters should initialize attributes to provided values] + expected: FAIL + + [createDataChannel with protocol "foo" should succeed] + expected: FAIL + + [createDataChannel with priority "high" should succeed] + expected: FAIL + + [createDataChannel with protocol lone surrogate should succeed] + expected: FAIL + + [createDataChannel with id 65534 should succeed] + expected: FAIL + + [createDataChannel with same label used twice should not throw] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-createOffer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-createOffer.html.ini new file mode 100644 index 000000000000..71490a1c46cb --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-createOffer.html.ini @@ -0,0 +1,7 @@ +[RTCPeerConnection-createOffer.html] + [When media stream is added when createOffer() is running in parallel, the result offer should contain the new media stream] + expected: FAIL + + [createOffer() and then setLocalDescription() should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-generateCertificate.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-generateCertificate.html.ini new file mode 100644 index 000000000000..6bd76a79b4a2 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-generateCertificate.html.ini @@ -0,0 +1,25 @@ +[RTCPeerConnection-generateCertificate.html] + [generateCertificate() with invalid string algorithm should reject with NotSupportedError] + expected: FAIL + + [generateCertificate() with invalid range for expires should reject with TypeError] + expected: FAIL + + [generateCertificate() with 0 expires parameter should generate expired cert] + expected: FAIL + + [generateCertificate() with compulsary ECDSA parameters should succeed] + expected: FAIL + + [generateCertificate() with invalid algorithm dict should reject with NotSupportedError] + expected: FAIL + + [generateCertificate() with valid expires parameter should succeed] + expected: FAIL + + [generateCertificate() with invalid type for expires should reject with TypeError] + expected: FAIL + + [generateCertificate() with compulsary RSASSA-PKCS1-v1_5 parameters should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-getDefaultIceServers.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-getDefaultIceServers.html.ini new file mode 100644 index 000000000000..092d1f657d3e --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-getDefaultIceServers.html.ini @@ -0,0 +1,4 @@ +[RTCPeerConnection-getDefaultIceServers.html] + [RTCPeerConnection.getDefaultIceServers() should return array of RTCIceServer] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-getStats.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-getStats.https.html.ini new file mode 100644 index 000000000000..b7adadda25ec --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-getStats.https.html.ini @@ -0,0 +1,41 @@ +[RTCPeerConnection-getStats.https.html] + expected: ERROR + [getStats() with connected peer connections having tracks and data channel should return all mandatory to implement stats] + expected: FAIL + + [getStats() with no argument should return stats report containing peer-connection stats and outbound-track-stats] + expected: NOTRUN + + [getStats() with track associated with both sender and receiver should reject with InvalidAccessError] + expected: NOTRUN + + [getStats() on track associated with RtpReceiver should return stats report containing inbound-rtp stats] + expected: NOTRUN + + [getStats() with no argument should return stats for no-stream tracks] + expected: NOTRUN + + [getStats() on track associated with RtpSender should return stats report containing outbound-rtp stats] + expected: NOTRUN + + [getStats() with no argument should succeed] + expected: FAIL + + [getStats(null) should succeed] + expected: FAIL + + [getStats() with track not added to connection should reject with InvalidAccessError] + expected: FAIL + + [getStats() with no argument should return stats report containing peer-connection stats on an empty PC] + expected: NOTRUN + + [getStats() with track added via addTransceiver should succeed] + expected: FAIL + + [getStats() with track associated with more than one sender should reject with InvalidAccessError] + expected: NOTRUN + + [getStats() with track added via addTrack should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-getTransceivers.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-getTransceivers.html.ini new file mode 100644 index 000000000000..163d418cffa6 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-getTransceivers.html.ini @@ -0,0 +1,4 @@ +[RTCPeerConnection-getTransceivers.html] + [Initial peer connection should have list of zero senders, receivers and transceivers] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html.ini new file mode 100644 index 000000000000..b135b4af16f2 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html.ini @@ -0,0 +1,5 @@ +[RTCPeerConnection-iceConnectionState-disconnected.https.html] + expected: ERROR + [ICE goes to disconnected if the other side goes away] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-iceConnectionState.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-iceConnectionState.https.html.ini new file mode 100644 index 000000000000..861d4a1dbce4 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-iceConnectionState.https.html.ini @@ -0,0 +1,17 @@ +[RTCPeerConnection-iceConnectionState.https.html] + expected: ERROR + [ICE can connect in a recvonly usecase] + expected: NOTRUN + + [connection with one data channel should eventually have connected connection state] + expected: FAIL + + [connection with one data channel should eventually have connected or completed connection state] + expected: FAIL + + [connection with audio track should eventually have connected connection state] + expected: FAIL + + [connection with audio and video tracks should eventually have connected connection state] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-iceGatheringState.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-iceGatheringState.html.ini new file mode 100644 index 000000000000..ee97c9e7f325 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-iceGatheringState.html.ini @@ -0,0 +1,8 @@ +[RTCPeerConnection-iceGatheringState.html] + expected: TIMEOUT + [iceGatheringState should eventually become complete after setLocalDescription] + expected: TIMEOUT + + [connection with one data channel should eventually have connected connection state] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-ondatachannel.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-ondatachannel.html.ini new file mode 100644 index 000000000000..f813f6444e18 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-ondatachannel.html.ini @@ -0,0 +1,25 @@ +[RTCPeerConnection-ondatachannel.html] + [Open event should be raised when closing the channel in the datachannel event after enqueuing a task] + expected: FAIL + + [Data channel event should fire when new data channel is announced to the remote peer] + expected: FAIL + + [Negotiated channel should not fire datachannel event on remote peer] + expected: FAIL + + [In-band negotiated channel created on remote peer should match the same (default) configuration as local peer] + expected: FAIL + + [Open event should not be raised when sending and immediately closing the channel in the datachannel event] + expected: FAIL + + [Open event should not be raised when closing the channel in the datachannel event] + expected: FAIL + + [Should be able to send data in a datachannel event handler] + expected: FAIL + + [In-band negotiated channel created on remote peer should match the same configuration as local peer] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-onnegotiationneeded.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-onnegotiationneeded.html.ini new file mode 100644 index 000000000000..ac85dc6b8990 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-onnegotiationneeded.html.ini @@ -0,0 +1,38 @@ +[RTCPeerConnection-onnegotiationneeded.html] + expected: ERROR + [addTransceiver() should fire negotiationneeded event] + expected: FAIL + + [removeTrack should cause negotiationneeded to fire on the caller] + expected: TIMEOUT + + [Calling both addTransceiver() and createDataChannel() should fire negotiationneeded event once] + expected: FAIL + + [negotiationneeded event should fire only after signaling state go back to stable after setRemoteDescription] + expected: FAIL + + [Calling addTransceiver() twice should fire negotiationneeded event once] + expected: FAIL + + [Updating the direction of the transceiver should cause negotiationneeded to fire] + expected: NOTRUN + + [negotiationneeded event should fire only after signaling state go back to stable after setLocalDescription] + expected: FAIL + + [removeTrack should cause negotiationneeded to fire on the callee] + expected: TIMEOUT + + [Creating first data channel should fire negotiationneeded event] + expected: FAIL + + [addTrack should cause negotiationneeded to fire] + expected: FAIL + + [calling createDataChannel twice should fire negotiationneeded event once] + expected: FAIL + + [negotiationneeded event should not fire if signaling state is not stable] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-onsignalingstatechanged.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-onsignalingstatechanged.https.html.ini new file mode 100644 index 000000000000..a81b9e2ce821 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-onsignalingstatechanged.https.html.ini @@ -0,0 +1,5 @@ +[RTCPeerConnection-onsignalingstatechanged.https.html] + expected: ERROR + [RTCPeerConnection onsignalingstatechanged] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-ontrack.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-ontrack.https.html.ini new file mode 100644 index 000000000000..a880161b7dd3 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-ontrack.https.html.ini @@ -0,0 +1,14 @@ +[RTCPeerConnection-ontrack.https.html] + expected: TIMEOUT + [addTrack() should cause remote connection to fire ontrack when setRemoteDescription()] + expected: FAIL + + [setRemoteDescription should trigger ontrack event when the MSID of the stream is is parsed.] + expected: TIMEOUT + + [addTransceiver('video') should cause remote connection to fire ontrack when setRemoteDescription()] + expected: FAIL + + [addTransceiver() with inactive direction should not cause remote connection to fire ontrack when setRemoteDescription()] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-remote-track-mute.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-remote-track-mute.https.html.ini new file mode 100644 index 000000000000..8902a67d99cb --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-remote-track-mute.https.html.ini @@ -0,0 +1,20 @@ +[RTCPeerConnection-remote-track-mute.https.html] + expected: ERROR + [Changing transceiver direction to 'sendrecv' unmutes the remote track] + expected: NOTRUN + + [pc.close() mutes remote tracks] + expected: NOTRUN + + [Changing transceiver direction to 'inactive' mutes the remote track] + expected: NOTRUN + + [ontrack: track goes from muted to unmuted] + expected: FAIL + + [pc.close() on one side causes mute events on the other] + expected: NOTRUN + + [transceiver.stop() on one side (without renegotiation) causes mute events on the other] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-removeTrack.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-removeTrack.https.html.ini new file mode 100644 index 000000000000..6875bfdb7e12 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-removeTrack.https.html.ini @@ -0,0 +1,41 @@ +[RTCPeerConnection-removeTrack.https.html] + expected: ERROR + [Calling removeTrack with currentDirection sendonly should set direction to inactive] + expected: NOTRUN + + [addTrack - Calling removeTrack when connection is closed should throw InvalidStateError] + expected: NOTRUN + + [addTransceiver - Calling removeTrack on different connection should throw InvalidAccessError] + expected: NOTRUN + + [addTrack - Calling removeTrack on different connection that is closed should throw InvalidStateError] + expected: NOTRUN + + [addTransceiver - Calling removeTrack on different connection that is closed should throw InvalidStateError] + expected: NOTRUN + + [addTransceiver - Calling removeTrack with valid sender should set sender.track to null] + expected: NOTRUN + + [Calling removeTrack on a stopped transceiver should be a no-op] + expected: NOTRUN + + [addTransceiver - Calling removeTrack when connection is closed should throw InvalidStateError] + expected: FAIL + + [addTrack - Calling removeTrack on different connection should throw InvalidAccessError] + expected: NOTRUN + + [Calling removeTrack with currentDirection inactive should not change direction] + expected: NOTRUN + + [Calling removeTrack with currentDirection sendrecv should set direction to recvonly] + expected: NOTRUN + + [Calling removeTrack with currentDirection recvonly should not change direction] + expected: NOTRUN + + [addTrack - Calling removeTrack with valid sender should set sender.track to null] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setDescription-transceiver.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setDescription-transceiver.html.ini new file mode 100644 index 000000000000..2eccaf1bedf5 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setDescription-transceiver.html.ini @@ -0,0 +1,19 @@ +[RTCPeerConnection-setDescription-transceiver.html] + [setRemoteDescription(rollback) should remove newly created transceiver from transceiver list] + expected: FAIL + + [setRemoteDescription(offer) with m= section and no existing transceiver should create corresponding transceiver] + expected: FAIL + + [setLocalDescription(offer) with m= section should assign mid to corresponding transceiver] + expected: FAIL + + [setLocalDescription(rollback) should unset transceiver.mid] + expected: FAIL + + [setRemoteDescription should stop the transceiver if its corresponding m section is rejected] + expected: FAIL + + [setLocalDescription(rollback) should only unset transceiver mids associated with current round] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-answer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-answer.html.ini new file mode 100644 index 000000000000..d4733273c51d --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-answer.html.ini @@ -0,0 +1,20 @@ +[RTCPeerConnection-setLocalDescription-answer.html] + expected: TIMEOUT + [Setting previously generated answer after a call to createOffer should work] + expected: NOTRUN + + [Calling setLocalDescription(answer) from have-local-offer state should reject with InvalidModificationError] + expected: NOTRUN + + [setLocalDescription() with type answer and null sdp should use lastAnswer generated from createAnswer] + expected: TIMEOUT + + [Calling setLocalDescription(answer) from stable state should reject with InvalidModificationError] + expected: NOTRUN + + [setLocalDescription() with answer not created by own createAnswer() should reject with InvalidModificationError] + expected: NOTRUN + + [setLocalDescription() with valid answer should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-offer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-offer.html.ini new file mode 100644 index 000000000000..4db3cc7b2870 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-offer.html.ini @@ -0,0 +1,20 @@ +[RTCPeerConnection-setLocalDescription-offer.html] + expected: TIMEOUT + [Set created offer other than last offer should reject with InvalidModificationError] + expected: NOTRUN + + [setLocalDescription() with offer not created by own createOffer() should reject with InvalidModificationError] + expected: NOTRUN + + [setLocalDescription with valid offer should succeed] + expected: FAIL + + [Setting previously generated offer after a call to createAnswer should work] + expected: NOTRUN + + [setLocalDescription with type offer and null sdp should use lastOffer generated from createOffer] + expected: TIMEOUT + + [Creating and setting offer multiple times should succeed] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html.ini new file mode 100644 index 000000000000..49e0f57d3a2d --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html.ini @@ -0,0 +1,10 @@ +[RTCPeerConnection-setLocalDescription-pranswer.html] + [setLocalDescription(pranswer) should succeed] + expected: FAIL + + [setLocalDescription(pranswer) from stable state should reject with InvalidStateError] + expected: FAIL + + [setLocalDescription(answer) from have-local-pranswer state should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-rollback.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-rollback.html.ini new file mode 100644 index 000000000000..1269ea7f95bd --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription-rollback.html.ini @@ -0,0 +1,14 @@ +[RTCPeerConnection-setLocalDescription-rollback.html] + expected: TIMEOUT + [setLocalDescription(rollback) after setting answer description should reject with InvalidStateError] + expected: NOTRUN + + [setLocalDescription(rollback) should ignore invalid sdp content and succeed] + expected: NOTRUN + + [setLocalDescription(rollback) from stable state should reject with InvalidStateError] + expected: TIMEOUT + + [setLocalDescription(rollback) from have-local-offer state should reset back to stable state] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription.html.ini new file mode 100644 index 000000000000..31b794ddd864 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setLocalDescription.html.ini @@ -0,0 +1,7 @@ +[RTCPeerConnection-setLocalDescription.html] + [Switching role from answerer to offerer after going back to stable state should succeed] + expected: FAIL + + [Calling createOffer() and setLocalDescription() again after one round of local-offer/remote-answer should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-answer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-answer.html.ini new file mode 100644 index 000000000000..90f8e96b5135 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-answer.html.ini @@ -0,0 +1,10 @@ +[RTCPeerConnection-setRemoteDescription-answer.html] + [Calling setRemoteDescription(answer) from stable state should reject with InvalidStateError] + expected: FAIL + + [Calling setRemoteDescription(answer) from have-remote-offer state should reject with InvalidStateError] + expected: FAIL + + [setRemoteDescription() with valid state and answer should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-nomsid.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-nomsid.html.ini new file mode 100644 index 000000000000..dbc455e6a0b1 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-nomsid.html.ini @@ -0,0 +1,5 @@ +[RTCPeerConnection-setRemoteDescription-nomsid.html] + expected: TIMEOUT + [setRemoteDescription with an SDP without a=msid lines triggers ontrack with a default stream.] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-offer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-offer.html.ini new file mode 100644 index 000000000000..46d9fc38844b --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-offer.html.ini @@ -0,0 +1,16 @@ +[RTCPeerConnection-setRemoteDescription-offer.html] + [setRemoteDescription multiple times should succeed] + expected: FAIL + + [setRemoteDescription multiple times with different offer should succeed] + expected: FAIL + + [setRemoteDescription(offer) with invalid SDP should reject with RTCError] + expected: FAIL + + [setRemoteDescription(offer) from have-local-offer state should reject with InvalidStateError] + expected: FAIL + + [setRemoteDescription with valid offer should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html.ini new file mode 100644 index 000000000000..81ec65365060 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html.ini @@ -0,0 +1,10 @@ +[RTCPeerConnection-setRemoteDescription-pranswer.html] + [setRemoteDescription(answer) from have-remote-pranswer state should succeed] + expected: FAIL + + [setRemoteDescription(pranswer) from stable state should reject with InvalidStateError] + expected: FAIL + + [setRemoteDescription(pranswer) from have-local-offer state should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html.ini new file mode 100644 index 000000000000..ed1103294b00 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html.ini @@ -0,0 +1,19 @@ +[RTCPeerConnection-setRemoteDescription-replaceTrack.https.html] + [replaceTrack() sets the track attribute to null.] + expected: FAIL + + [replaceTrack() rejects when the peer connection is closed.] + expected: FAIL + + [replaceTrack() sets the track attribute to a new track.] + expected: FAIL + + [replaceTrack() does not reject after a subsequent removeTrack().] + expected: FAIL + + [replaceTrack() does not reject when invoked after removeTrack().] + expected: FAIL + + [replaceTrack() does not set the track synchronously.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html.ini new file mode 100644 index 000000000000..35321b65a089 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html.ini @@ -0,0 +1,17 @@ +[RTCPeerConnection-setRemoteDescription-rollback.html] + expected: TIMEOUT + [setRemoteDescription(rollback) from stable state should reject with InvalidStateError] + expected: TIMEOUT + + [setRemoteDescription(rollback) should ignore invalid sdp content and succeed] + expected: NOTRUN + + [local offer created before setRemoteDescription(remote offer) then rollback should still be usable] + expected: NOTRUN + + [setRemoteDescription(rollback) in have-remote-offer state should revert to stable state] + expected: FAIL + + [local offer created before setRemoteDescription(remote offer) with different transceiver level assignments then rollback should still be usable] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html.ini new file mode 100644 index 000000000000..0f67a2850ead --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html.ini @@ -0,0 +1,44 @@ +[RTCPeerConnection-setRemoteDescription-tracks.https.html] + expected: ERROR + [ontrack fires before setRemoteDescription resolves.] + expected: NOTRUN + + [addTrack() for an existing stream makes stream.onaddtrack fire.] + expected: NOTRUN + + [ontrack's receiver matches getReceivers().] + expected: NOTRUN + + [track.onmute fires before setRemoteDescription resolves.] + expected: NOTRUN + + [addTrack() with two tracks and one stream makes ontrack fire twice with the tracks and shared stream.] + expected: NOTRUN + + [stream.onaddtrack fires before setRemoteDescription resolves.] + expected: NOTRUN + + [addTrack() with a track and no stream makes ontrack fire with a track and no stream.] + expected: FAIL + + [addTrack() with a track and a stream makes ontrack fire with a track and a stream.] + expected: NOTRUN + + [removeTrack() makes track.onmute fire and the track to be muted.] + expected: NOTRUN + + [addTrack() with a track and two streams makes ontrack fire with a track and two streams.] + expected: NOTRUN + + [stream.onremovetrack fires before setRemoteDescription resolves.] + expected: NOTRUN + + [removeTrack() makes stream.onremovetrack fire and the track to be removed from the stream.] + expected: NOTRUN + + [removeTrack() does not remove the receiver.] + expected: NOTRUN + + [removeTrack() twice is safe.] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription.html.ini new file mode 100644 index 000000000000..0a0df27d0127 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-setRemoteDescription.html.ini @@ -0,0 +1,7 @@ +[RTCPeerConnection-setRemoteDescription.html] + [Calling setRemoteDescription() again after one round of remote-offer/local-answer should succeed] + expected: FAIL + + [Switching role from offerer to answerer after going back to stable state should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-track-stats.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-track-stats.https.html.ini new file mode 100644 index 000000000000..404bb86a9486 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-track-stats.https.html.ini @@ -0,0 +1,56 @@ +[RTCPeerConnection-track-stats.https.html] + expected: ERROR + [replaceTrack() before offer: new track attachment stats present] + expected: FAIL + + [replaceTrack() after offer, before answer: new track attachment stats present] + expected: FAIL + + [addTrack() with setLocalDescription() yields media stream stats] + expected: FAIL + + [RTCRtpSender.getStats() contains only outbound-rtp and related stats] + expected: FAIL + + [RTCRtpReceiver.getStats() contains only inbound-rtp and related stats] + expected: NOTRUN + + [O/A exchange yields inbound RTP stream stats for receiving track] + expected: FAIL + + [replaceTrack(): original track attachment stats present after replacing] + expected: FAIL + + [Media stream stats references track stats] + expected: FAIL + + [O/A exchange yields outbound RTP stream stats for sending track] + expected: FAIL + + [addTrack(): Media stream stats references track stats] + expected: FAIL + + [addTrack() without setLocalDescription() yields track stats] + expected: FAIL + + [RTCPeerConnection.getStats(track) throws InvalidAccessError when there are zero senders or receivers for the track] + expected: NOTRUN + + [RTCPeerConnection.getStats(track) throws InvalidAccessError when there are multiple senders for the track] + expected: NOTRUN + + [replaceTrack() after answer: new track attachment stats present] + expected: FAIL + + [RTCPeerConnection.getStats(receivingTrack) is the same as RTCRtpReceiver.getStats()] + expected: NOTRUN + + [RTCPeerConnection.getStats(sendingTrack) is the same as RTCRtpSender.getStats()] + expected: NOTRUN + + [addTrack() with setLocalDescription() yields track stats] + expected: FAIL + + [addTrack() without setLocalDescription() yields media stream stats] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnection-transceivers.https.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnection-transceivers.https.html.ini new file mode 100644 index 000000000000..ffce6fe8e7ad --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnection-transceivers.https.html.ini @@ -0,0 +1,134 @@ +[RTCPeerConnection-transceivers.https.html] + expected: ERROR + [setLocalDescription(answer): transceiver.currentDirection is recvonly] + expected: NOTRUN + + [setRemoteDescription(offer): ontrack fires with a track] + expected: NOTRUN + + [Can setup two-way call using a single transceiver] + expected: NOTRUN + + [setRemoteDescription(offer): transceiver.mid is the same on both ends] + expected: NOTRUN + + [addTransceiver(track, init): initialize sendEncodings[0\].active to false] + expected: NOTRUN + + [addTransceiver('video'): transceiver.receiver.track.kind == 'video'] + expected: NOTRUN + + [addTransceiver('audio'): transceiver.stopped is false] + expected: NOTRUN + + [setLocalDescription(answer): transceiver.currentDirection is sendonly] + expected: NOTRUN + + [addTrack: transceiver is not associated with an m-section] + expected: NOTRUN + + [transceiver.sender.track does not revert to an old state] + expected: NOTRUN + + [addTrack: transceiver.receiver has its own track] + expected: NOTRUN + + [addTrack: "transceiver == {sender,receiver}"] + expected: NOTRUN + + [setLocalDescription(offer): transceiver.mid matches the offer SDP] + expected: NOTRUN + + [setRemoteDescription(offer): transceiver.direction is recvonly] + expected: NOTRUN + + [Changing transceiver direction to 'sendrecv' makes ontrack fire] + expected: NOTRUN + + [addTrack: transceiver is not stopped] + expected: NOTRUN + + [addTrack(1 stream): ontrack fires with corresponding stream] + expected: NOTRUN + + [addTransceiver(track, init): initialize direction to inactive] + expected: NOTRUN + + [addTrack(0 streams): ontrack fires with no stream] + expected: NOTRUN + + [addTrack: transceiver's direction is sendrecv] + expected: NOTRUN + + [addTrack(2 streams): ontrack fires with corresponding two streams] + expected: NOTRUN + + [addTransceiver(0 streams): ontrack fires with no stream] + expected: NOTRUN + + [addTransceiver(1 stream): ontrack fires with corresponding stream] + expected: NOTRUN + + [setRemoteDescription(offer): transceiver.currentDirection is null] + expected: NOTRUN + + [addTrack: transceiver.sender is associated with the track] + expected: NOTRUN + + [addTransceiver does not reuse reusable transceivers] + expected: NOTRUN + + [addTransceiver(track): "transceiver == {sender,receiver}"] + expected: NOTRUN + + [transceiver.direction does not revert to an old state] + expected: NOTRUN + + [addTransceiver('audio'): transceiver.sender.track == null] + expected: NOTRUN + + [addTransceiver('audio'): creates a transceiver with direction sendrecv] + expected: NOTRUN + + [setLocalDescription(offer): transceiver gets associated with an m-section] + expected: NOTRUN + + [addTransceiver('audio'): transceiver.currentDirection is null] + expected: NOTRUN + + [setRemoteDescription(offer): ontrack's stream.id is the same as stream.id] + expected: NOTRUN + + [setRemoteDescription(offer): transceiver.stopped is false] + expected: NOTRUN + + [addTransceiver('audio'): transceiver.receiver.track.kind == 'audio'] + expected: NOTRUN + + [addTransceiver(track): creates a transceiver for the track] + expected: NOTRUN + + [addTransceiver(2 streams): ontrack fires with corresponding two streams] + expected: NOTRUN + + [setRemoteDescription(offer): "transceiver == {sender,receiver}"] + expected: NOTRUN + + [addTrack: transceiver's currentDirection is null] + expected: NOTRUN + + [addTrack reuses reusable transceivers] + expected: NOTRUN + + [addTrack: creates a transceiver for the sender] + expected: FAIL + + [Closing the PC stops the transceivers] + expected: NOTRUN + + [setRemoteDescription(offer): ontrack fires with a transceiver.] + expected: NOTRUN + + [addTrack: transceiver.receiver's track is muted] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCPeerConnectionIceEvent-constructor.html.ini b/tests/wpt/metadata/webrtc/RTCPeerConnectionIceEvent-constructor.html.ini new file mode 100644 index 000000000000..043a9c242eb9 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCPeerConnectionIceEvent-constructor.html.ini @@ -0,0 +1,4 @@ +[RTCPeerConnectionIceEvent-constructor.html] + [RTCPeerConnectionIceEvent bubbles and cancelable] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpParameters-codecs.html.ini b/tests/wpt/metadata/webrtc/RTCRtpParameters-codecs.html.ini new file mode 100644 index 000000000000..b5836224c54e --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpParameters-codecs.html.ini @@ -0,0 +1,19 @@ +[RTCRtpParameters-codecs.html] + [setParameters() with codec.mimeType modified should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with new codecs inserted should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with codec.clockRate modified should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with codec.channels modified should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with codec.payloadType modified should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with codec.sdpFmtpLine modified should reject with InvalidModificationError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpParameters-degradationPreference.html.ini b/tests/wpt/metadata/webrtc/RTCRtpParameters-degradationPreference.html.ini new file mode 100644 index 000000000000..aa9e7a414a3f --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpParameters-degradationPreference.html.ini @@ -0,0 +1,7 @@ +[RTCRtpParameters-degradationPreference.html] + [setParameters with degradationPreference unset should succeed] + expected: FAIL + + [setParameters with degradationPreference set should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpParameters-encodings.html.ini b/tests/wpt/metadata/webrtc/RTCRtpParameters-encodings.html.ini new file mode 100644 index 000000000000..c0417560aeec --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpParameters-encodings.html.ini @@ -0,0 +1,73 @@ +[RTCRtpParameters-encodings.html] + [setParameters() with modified encoding.dtx should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [addTransceiver() with undefined sendEncodings should have default encoding parameter with active set to true] + expected: FAIL + + [setParameters() with unset encoding.dtx should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.priority should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [sender.getParameters() should return sendEncodings set by addTransceiver()] + expected: FAIL + + [setParameters() with modified encoding.priority should succeed without RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.ptime should succeed without RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.dtx should succeed without RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with encoding.scaleResolutionDownBy field set to greater than 1.0 should succeed] + expected: FAIL + + [setParameters() with encoding.scaleResolutionDownBy field set to less than 1.0 should reject with RangeError] + expected: FAIL + + [setParameters() with unset encoding.dtx should succeed without RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.maxFramerate should succeed without RTCRtpTransceiverInit] + expected: FAIL + + [sender.setParameters() with mismatch number of encodings should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with modified encoding.rid field should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with modified encoding.maxFramerate should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.networkPriority should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.networkPriority should succeed without RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.ptime should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.maxBitrate should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.maxBitrate should succeed without RTCRtpTransceiverInit] + expected: FAIL + + [addTransceiver() with empty list sendEncodings should have default encoding parameter with active set to true] + expected: FAIL + + [sender.setParameters() with encodings unset should reject with TypeError] + expected: FAIL + + [setParameters() with modified encoding.active should succeed with RTCRtpTransceiverInit] + expected: FAIL + + [setParameters() with modified encoding.active should succeed without RTCRtpTransceiverInit] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpParameters-headerExtensions.html.ini b/tests/wpt/metadata/webrtc/RTCRtpParameters-headerExtensions.html.ini new file mode 100644 index 000000000000..6ca8a5f33e62 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpParameters-headerExtensions.html.ini @@ -0,0 +1,4 @@ +[RTCRtpParameters-headerExtensions.html] + [setParameters() with modified headerExtensions should reject with InvalidModificationError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpParameters-rtcp.html.ini b/tests/wpt/metadata/webrtc/RTCRtpParameters-rtcp.html.ini new file mode 100644 index 000000000000..f64f1632239e --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpParameters-rtcp.html.ini @@ -0,0 +1,7 @@ +[RTCRtpParameters-rtcp.html] + [setParameters() with modified rtcp.cname should reject with InvalidModificationError] + expected: FAIL + + [setParameters() with modified rtcp.reducedSize should reject with InvalidModificationError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpParameters-transactionId.html.ini b/tests/wpt/metadata/webrtc/RTCRtpParameters-transactionId.html.ini new file mode 100644 index 000000000000..789937148d22 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpParameters-transactionId.html.ini @@ -0,0 +1,16 @@ +[RTCRtpParameters-transactionId.html] + [sender.setParameters() with transaction ID different from last getParameters() should reject with InvalidModificationError] + expected: FAIL + + [setParameters() twice with the same parameters should reject with InvalidStateError] + expected: FAIL + + [setParameters() with parameters older than last getParameters() should reject with InvalidModificationError] + expected: FAIL + + [sender.getParameters() should return different transaction IDs for each call] + expected: FAIL + + [sender.setParameters() with transaction ID unset should reject with TypeError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpReceiver-getCapabilities.html.ini b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getCapabilities.html.ini new file mode 100644 index 000000000000..414165d0f605 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getCapabilities.html.ini @@ -0,0 +1,10 @@ +[RTCRtpReceiver-getCapabilities.html] + [RTCRtpSender.getCapabilities('video') should return RTCRtpCapabilities dictionary] + expected: FAIL + + [RTCRtpSender.getCapabilities('audio') should return RTCRtpCapabilities dictionary] + expected: FAIL + + [RTCRtpSender.getCapabilities('dummy') should return null] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpReceiver-getContributingSources.https.html.ini b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getContributingSources.https.html.ini new file mode 100644 index 000000000000..f8ec71028533 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getContributingSources.https.html.ini @@ -0,0 +1,8 @@ +[RTCRtpReceiver-getContributingSources.https.html] + expected: ERROR + [[audio\] getContributingSources() returns an empty list in loopback call] + expected: FAIL + + [[video\] getContributingSources() returns an empty list in loopback call] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCRtpReceiver-getParameters.html.ini b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getParameters.html.ini new file mode 100644 index 000000000000..b282182bb8be --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getParameters.html.ini @@ -0,0 +1,10 @@ +[RTCRtpReceiver-getParameters.html] + [getParameters() with simulcast video receiver] + expected: FAIL + + [getParameters() with video receiver] + expected: FAIL + + [getParameters() with audio receiver] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpReceiver-getStats.https.html.ini b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getStats.https.html.ini new file mode 100644 index 000000000000..0d9402476431 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getStats.https.html.ini @@ -0,0 +1,8 @@ +[RTCRtpReceiver-getStats.https.html] + expected: ERROR + [receiver.getStats() via addTrack should return stats report containing inbound-rtp stats] + expected: NOTRUN + + [receiver.getStats() via addTransceiver should return stats report containing inbound-rtp stats] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html.ini b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html.ini new file mode 100644 index 000000000000..18a8e0fef6a1 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html.ini @@ -0,0 +1,38 @@ +[RTCRtpReceiver-getSynchronizationSources.https.html] + expected: ERROR + [[audio\] RTCRtpSynchronizationSource.source is a number] + expected: NOTRUN + + [[audio\] RTCRtpSynchronizationSource.timestamp is comparable to performance.timeOrigin + performance.now()] + expected: NOTRUN + + [[audio\] getSynchronizationSources() eventually returns a non-empty list] + expected: FAIL + + [[video\] RTCRtpSynchronizationSource.timestamp is a number] + expected: NOTRUN + + [[audio-only\] RTCRtpSynchronizationSource.voiceActivityFlag is a boolean] + expected: NOTRUN + + [[video\] getSynchronizationSources() does not contain SSRCs older than 10 seconds] + expected: NOTRUN + + [[audio\] getSynchronizationSources() does not contain SSRCs older than 10 seconds] + expected: NOTRUN + + [[video\] getSynchronizationSources() eventually returns a non-empty list] + expected: NOTRUN + + [[video\] RTCRtpSynchronizationSource.timestamp is comparable to performance.timeOrigin + performance.now()] + expected: NOTRUN + + [[audio-only\] RTCRtpSynchronizationSource.audioLevel is a number [0, 1\]] + expected: NOTRUN + + [[video\] RTCRtpSynchronizationSource.source is a number] + expected: NOTRUN + + [[audio\] RTCRtpSynchronizationSource.timestamp is a number] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCRtpSender-getCapabilities.html.ini b/tests/wpt/metadata/webrtc/RTCRtpSender-getCapabilities.html.ini new file mode 100644 index 000000000000..b70af48747f3 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpSender-getCapabilities.html.ini @@ -0,0 +1,10 @@ +[RTCRtpSender-getCapabilities.html] + [RTCRtpSender.getCapabilities('video') should return RTCRtpCapabilities dictionary] + expected: FAIL + + [RTCRtpSender.getCapabilities('audio') should return RTCRtpCapabilities dictionary] + expected: FAIL + + [RTCRtpSender.getCapabilities('dummy') should return null] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpSender-getStats.https.html.ini b/tests/wpt/metadata/webrtc/RTCRtpSender-getStats.https.html.ini new file mode 100644 index 000000000000..924a89b73025 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpSender-getStats.https.html.ini @@ -0,0 +1,8 @@ +[RTCRtpSender-getStats.https.html] + expected: ERROR + [sender.getStats() via addTrack should return stats report containing outbound-rtp stats] + expected: NOTRUN + + [sender.getStats() via addTransceiver should return stats report containing outbound-rtp stats] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpSender-replaceTrack.https.html.ini b/tests/wpt/metadata/webrtc/RTCRtpSender-replaceTrack.https.html.ini new file mode 100644 index 000000000000..04f02b467342 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpSender-replaceTrack.https.html.ini @@ -0,0 +1,29 @@ +[RTCRtpSender-replaceTrack.https.html] + expected: ERROR + [Calling replaceTrack on sender with null track and not set to session description should resolve with sender.track set to given track] + expected: NOTRUN + + [Calling replaceTrack(null) on sender not set to session description should resolve with sender.track set to null] + expected: NOTRUN + + [Calling replaceTrack with track of different kind should reject with TypeError] + expected: NOTRUN + + [Calling replaceTrack on sender with similar track and and set to session description should resolve with sender.track set to new track] + expected: NOTRUN + + [Calling replaceTrack on closed connection should reject with InvalidStateError] + expected: FAIL + + [Calling replaceTrack on sender with stopped track and and set to session description should resolve with sender.track set to given track] + expected: NOTRUN + + [Calling replaceTrack on stopped sender should reject with InvalidStateError] + expected: NOTRUN + + [Calling replaceTrack on sender not set to session description should resolve with sender.track set to given track] + expected: NOTRUN + + [Calling replaceTrack(null) on sender set to session description should resolve with sender.track set to null] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCRtpSender-setParameters.html.ini b/tests/wpt/metadata/webrtc/RTCRtpSender-setParameters.html.ini new file mode 100644 index 000000000000..c5eebcb0af55 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpSender-setParameters.html.ini @@ -0,0 +1,4 @@ +[RTCRtpSender-setParameters.html] + [setParameters() when transceiver is stopped should reject with InvalidStateError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpSender-transport.https.html.ini b/tests/wpt/metadata/webrtc/RTCRtpSender-transport.https.html.ini new file mode 100644 index 000000000000..a2ca0dd2b522 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpSender-transport.https.html.ini @@ -0,0 +1,26 @@ +[RTCRtpSender-transport.https.html] + expected: ERROR + [RTCRtpSender/receiver.transport at the right time, with bundle policy balanced] + expected: NOTRUN + + [RTCRtpSender/receiver.transport at the right time, with bundle policy max-bundle] + expected: NOTRUN + + [RTCRtpSender/receiver.transport at the right time, with bundle policy max-compat] + expected: NOTRUN + + [RTCRtpSender/receiver.transport has a value when connected] + expected: NOTRUN + + [RTCRtpSender.transport is null when unconnected] + expected: FAIL + + [RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy max-compat] + expected: NOTRUN + + [RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy balanced] + expected: NOTRUN + + [RTCRtpSender/receiver/SCTP transport at the right time, with bundle policy max-bundle] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/RTCRtpTransceiver-direction.html.ini b/tests/wpt/metadata/webrtc/RTCRtpTransceiver-direction.html.ini new file mode 100644 index 000000000000..0fe61cf3a652 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpTransceiver-direction.html.ini @@ -0,0 +1,10 @@ +[RTCRtpTransceiver-direction.html] + [setting direction with same direction should have no effect] + expected: FAIL + + [setting direction should change transceiver.direction] + expected: FAIL + + [setting direction should change transceiver.direction independent of transceiver.currentDirection] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpTransceiver-setCodecPreferences.html.ini b/tests/wpt/metadata/webrtc/RTCRtpTransceiver-setCodecPreferences.html.ini new file mode 100644 index 000000000000..edbadaa9d164 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpTransceiver-setCodecPreferences.html.ini @@ -0,0 +1,52 @@ +[RTCRtpTransceiver-setCodecPreferences.html] + [setCodecPreferences() with modified codecs returned from getCapabilities() should throw InvalidAccessError] + expected: FAIL + + [setCodecPreferences() with user defined codec together with codecs returned from getCapabilities() should throw InvalidAccessError] + expected: FAIL + + [setCodecPreferences([\]) should succeed] + expected: FAIL + + [setCodecPreferences() on video transceiver with codecs returned from RTCRtpReceiver.getCapabilities('video') should succeed] + expected: FAIL + + [setCodecPreferences() with user defined codec should throw InvalidAccessError] + expected: FAIL + + [setCodecPreferences() on audio transceiver with codecs returned from getCapabilities('video') should throw InvalidAccessError] + expected: FAIL + + [setCodecPreferences() with reordered codecs should succeed] + expected: FAIL + + [setCodecPreferences() with both sender receiver codecs combined should succeed] + expected: FAIL + + [setCodecPreferences() on audio transceiver with codecs returned from RTCRtpSender.getCapabilities('audio') should succeed] + expected: FAIL + + [setCodecPreferences() with user defined codec should throw InvalidModificationError] + expected: FAIL + + [setCodecPreferences() on audio transceiver with codecs returned from getCapabilities('video') should throw InvalidModificationError] + expected: FAIL + + [setCodecPreferences() with modified codec channel count should throw InvalidModificationError] + expected: FAIL + + [setCodecPreferences() with user defined codec with invalid mimeType should throw InvalidModificationError] + expected: FAIL + + [setCodecPreferences() with modified codecs returned from getCapabilities() should throw InvalidModificationError] + expected: FAIL + + [setCodecPreferences() with modified codec clock rate should throw InvalidModificationError] + expected: FAIL + + [setCodecPreferences() with modified codec parameters should throw InvalidModificationError] + expected: FAIL + + [setCodecPreferences() with user defined codec together with codecs returned from getCapabilities() should throw InvalidModificationError] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpTransceiver-stop.html.ini b/tests/wpt/metadata/webrtc/RTCRtpTransceiver-stop.html.ini new file mode 100644 index 000000000000..9596a7c3f469 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpTransceiver-stop.html.ini @@ -0,0 +1,13 @@ +[RTCRtpTransceiver-stop.html] + [A stopped sendonly transceiver should generate a sendonly m-section in the offer] + expected: FAIL + + [During renegotiation, adding and stopping a transceiver should not trigger a renegotiated offer m-section generation] + expected: FAIL + + [A transceiver added and stopped before the initial offer generation should not trigger an offer m-section generation] + expected: FAIL + + [A stopped inactive transceiver should generate an inactive m-section in the offer] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCRtpTransceiver.https.html.ini b/tests/wpt/metadata/webrtc/RTCRtpTransceiver.https.html.ini new file mode 100644 index 000000000000..6bedeb73a102 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCRtpTransceiver.https.html.ini @@ -0,0 +1,4 @@ +[RTCRtpTransceiver.https.html] + [RTCRtpTransceiver] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCSctpTransport-constructor.html.ini b/tests/wpt/metadata/webrtc/RTCSctpTransport-constructor.html.ini new file mode 100644 index 000000000000..7c6091433f47 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCSctpTransport-constructor.html.ini @@ -0,0 +1,13 @@ +[RTCSctpTransport-constructor.html] + [setRemoteDescription() with answer containing data media should initialize pc.sctp] + expected: FAIL + + [setLocalDescription() with answer containing data media should initialize pc.sctp] + expected: FAIL + + [setLocalDescription() with answer not containing data media should not initialize pc.sctp] + expected: FAIL + + [setRemoteDescription() with answer not containing data media should not initialize pc.sctp] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCSctpTransport-events.html.ini b/tests/wpt/metadata/webrtc/RTCSctpTransport-events.html.ini new file mode 100644 index 000000000000..25121409be6a --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCSctpTransport-events.html.ini @@ -0,0 +1,7 @@ +[RTCSctpTransport-events.html] + [SctpTransport reaches connected and closed state] + expected: FAIL + + [SctpTransport objects are created at appropriate times] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCSctpTransport-maxMessageSize.html.ini b/tests/wpt/metadata/webrtc/RTCSctpTransport-maxMessageSize.html.ini new file mode 100644 index 000000000000..04a99bd0fea9 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCSctpTransport-maxMessageSize.html.ini @@ -0,0 +1,16 @@ +[RTCSctpTransport-maxMessageSize.html] + [max-message-size with a (non-zero) value provided by the remote peer] + expected: FAIL + + [Determine the local side send limitation (canSendSize) by offering a max-message-size of 0] + expected: FAIL + + [Remote offer SDP missing max-message-size attribute] + expected: FAIL + + [max-message-size with a (non-zero) value larger than canSendSize provided by the remote peer] + expected: FAIL + + [Renegotiate max-message-size with various values provided by the remote peer] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCTrackEvent-constructor.html.ini b/tests/wpt/metadata/webrtc/RTCTrackEvent-constructor.html.ini new file mode 100644 index 000000000000..17cb203923ac --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCTrackEvent-constructor.html.ini @@ -0,0 +1,22 @@ +[RTCTrackEvent-constructor.html] + [new RTCTrackEvent() with no transceiver should throw TypeError] + expected: FAIL + + [new RTCTrackEvent() with unrelated receiver, track, streams, transceiver should succeed] + expected: FAIL + + [new RTCTrackEvent() with no track should throw TypeError] + expected: FAIL + + [new RTCTrackEvent() with no receiver should throw TypeError] + expected: FAIL + + [new RTCTrackEvent() with valid receiver, track, multiple streams, transceiver should succeed] + expected: FAIL + + [new RTCTrackEvent() with valid receiver, track, transceiver should succeed] + expected: FAIL + + [new RTCTrackEvent() with valid receiver, track, streams, transceiver should succeed] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/RTCTrackEvent-fire.html.ini b/tests/wpt/metadata/webrtc/RTCTrackEvent-fire.html.ini new file mode 100644 index 000000000000..aeeed15a1cc5 --- /dev/null +++ b/tests/wpt/metadata/webrtc/RTCTrackEvent-fire.html.ini @@ -0,0 +1,26 @@ +[RTCTrackEvent-fire.html] + expected: TIMEOUT + [Applying a remote description with removed msid should trigger firing a removetrack event on the corresponding stream] + expected: NOTRUN + + [Applying a remote description with a new msid should trigger firing an event with populated streams] + expected: NOTRUN + + [Source-level msid should be ignored, or an error should be thrown, if a different media-level msid is present] + expected: NOTRUN + + [When a=msid is absent, the track should still be associated with a stream] + expected: TIMEOUT + + [stream ids should be found even if msid-semantic is absent] + expected: NOTRUN + + [a=msid:- should result in a track event with no streams] + expected: NOTRUN + + [Source-level msid should be parsed if media-level msid is absent] + expected: NOTRUN + + [Source-level msid should be ignored if media-level msid is present] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/__dir__.ini b/tests/wpt/metadata/webrtc/__dir__.ini new file mode 100644 index 000000000000..1b83059072f3 --- /dev/null +++ b/tests/wpt/metadata/webrtc/__dir__.ini @@ -0,0 +1 @@ +prefs: ["dom.webrtc.enabled:true", "dom.mediadevices.enabled:true", "dom.mediadevices.mock:true"] diff --git a/tests/wpt/metadata/webrtc/datachannel-emptystring.html.ini b/tests/wpt/metadata/webrtc/datachannel-emptystring.html.ini new file mode 100644 index 000000000000..d3cc2f656efc --- /dev/null +++ b/tests/wpt/metadata/webrtc/datachannel-emptystring.html.ini @@ -0,0 +1,4 @@ +[datachannel-emptystring.html] + [Can send empty strings across a WebRTC data channel.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/getstats.html.ini b/tests/wpt/metadata/webrtc/getstats.html.ini new file mode 100644 index 000000000000..ba30262f2591 --- /dev/null +++ b/tests/wpt/metadata/webrtc/getstats.html.ini @@ -0,0 +1,4 @@ +[getstats.html] + [Can get stats from a basic WebRTC call.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/historical.html.ini b/tests/wpt/metadata/webrtc/historical.html.ini new file mode 100644 index 000000000000..d4de2a34fa49 --- /dev/null +++ b/tests/wpt/metadata/webrtc/historical.html.ini @@ -0,0 +1,13 @@ +[historical.html] + [RTCRtpTransceiver member setDirection should not exist] + expected: FAIL + + [RTCDataChannel member reliable should not exist] + expected: FAIL + + [RTCPeerConnection member addStream should not exist] + expected: FAIL + + [RTCDataChannel member maxRetransmitTime should not exist] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/idlharness.https.window.js.ini b/tests/wpt/metadata/webrtc/idlharness.https.window.js.ini new file mode 100644 index 000000000000..f06ce24b7e81 --- /dev/null +++ b/tests/wpt/metadata/webrtc/idlharness.https.window.js.ini @@ -0,0 +1,1183 @@ +[idlharness.https.window.html] + [RTCRtpSender interface: attribute track] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "foundation" with the proper type] + expected: FAIL + + [RTCRtpTransceiver interface: attribute mid] + expected: FAIL + + [RTCPeerConnection interface: operation addTransceiver([object Object\],[object Object\], RTCRtpTransceiverInit)] + expected: FAIL + + [RTCPeerConnection interface: calling addTransceiver([object Object\],[object Object\], RTCRtpTransceiverInit) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCCertificate interface: attribute expires] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "setCodecPreferences([object Object\])" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getReceivers()" with the proper type] + expected: FAIL + + [RTCDataChannel interface: existence and properties of interface object] + expected: FAIL + + [RTCSctpTransport interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCIceTransport interface: operation getSelectedCandidatePair()] + expected: FAIL + + [RTCDataChannelEvent interface: new RTCDataChannelEvent('channel', {\n channel: new RTCPeerConnection().createDataChannel('')\n }) must inherit property "channel" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getParameters()" with the proper type] + expected: FAIL + + [RTCDTMFSender interface: operation insertDTMF(DOMString, unsigned long, unsigned long)] + expected: FAIL + + [RTCDataChannel interface: calling send(Blob) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError] + expected: FAIL + + [RTCPeerConnection interface: operation getTransceivers()] + expected: FAIL + + [RTCDataChannel interface: calling send(USVString) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(Blob)" with the proper type] + expected: FAIL + + [RTCDtlsTransport must be primary interface of idlTestObjects.dtlsTransport] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getStats()" with the proper type] + expected: FAIL + + [RTCErrorEvent must be primary interface of new RTCErrorEvent('error')] + expected: FAIL + + [RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "onstatechange" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: attribute pendingLocalDescription] + expected: FAIL + + [RTCRtpSender interface: attribute transport] + expected: FAIL + + [RTCTrackEvent interface: initTrackEvent() must inherit property "streams" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: existence and properties of interface object] + expected: FAIL + + [RTCError interface: attribute sentAlert] + expected: FAIL + + [RTCDataChannelEvent interface: attribute channel] + expected: FAIL + + [RTCRtpSender interface: existence and properties of interface object] + expected: FAIL + + [RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "iceTransport" with the proper type] + expected: FAIL + + [RTCTrackEvent must be primary interface of initTrackEvent()] + expected: FAIL + + [Stringification of idlTestObjects.certificate] + expected: FAIL + + [RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCError interface object name] + expected: FAIL + + [RTCRtpSender interface: operation setStreams(MediaStream)] + expected: FAIL + + [RTCPeerConnection interface: operation getConfiguration()] + expected: FAIL + + [RTCRtpTransceiver interface: existence and properties of interface object] + expected: FAIL + + [RTCPeerConnection interface: attribute ondatachannel] + expected: FAIL + + [RTCRtpTransceiver interface: attribute stopped] + expected: FAIL + + [RTCRtpReceiver interface: existence and properties of interface object] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stopped" with the proper type] + expected: FAIL + + [RTCErrorEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "ongatheringstatechange" with the proper type] + expected: FAIL + + [RTCDataChannel interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "ordered" with the proper type] + expected: FAIL + + [RTCCertificate interface: existence and properties of interface object] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxPacketLifeTime" with the proper type] + expected: FAIL + + [RTCIceCandidate interface: attribute component] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "transport" with the proper type] + expected: FAIL + + [RTCRtpReceiver interface: operation getContributingSources()] + expected: FAIL + + [Test driver for asyncInitCertificate] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "id" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "direction" with the proper type] + expected: FAIL + + [RTCIceCandidate interface: attribute relatedPort] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "sender" with the proper type] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "track" with the proper type] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onmessage" with the proper type] + expected: FAIL + + [RTCRtpTransceiver interface object length] + expected: FAIL + + [RTCError interface object length] + expected: FAIL + + [Stringification of new RTCPeerConnection().addTransceiver('audio')] + expected: FAIL + + [RTCPeerConnection interface: attribute onstatsended] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "currentDirection" with the proper type] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "maxRetransmits" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "sctp" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: calling setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCRtpTransceiver interface object name] + expected: FAIL + + [RTCErrorEvent interface: new RTCErrorEvent('error') must inherit property "error" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: attribute errorText] + expected: FAIL + + [RTCPeerConnection interface: operation createOffer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback, RTCOfferOptions)] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "address" with the proper type] + expected: FAIL + + [RTCTrackEvent interface: attribute transceiver] + expected: FAIL + + [RTCRtpSender interface: calling replaceTrack(MediaStreamTrack) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError] + expected: FAIL + + [RTCDataChannel interface: attribute onbufferedamountlow] + expected: FAIL + + [RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onstatechange" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "removeTrack(RTCRtpSender)" with the proper type] + expected: FAIL + + [RTCRtpSender interface: attribute rtcpTransport] + expected: FAIL + + [RTCDTMFSender interface object name] + expected: FAIL + + [RTCStatsReport interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onstatsended" with the proper type] + expected: FAIL + + [RTCDTMFSender interface: attribute canInsertDTMF] + expected: FAIL + + [RTCPeerConnection interface: attribute sctp] + expected: FAIL + + [RTCRtpReceiver interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').receiver with too few arguments must throw TypeError] + expected: FAIL + + [RTCRtpReceiver interface: operation getSynchronizationSources()] + expected: FAIL + + [RTCStatsEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCPeerConnection interface: attribute onconnectionstatechange] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBuffer)" with the proper type] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "component" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute bufferedAmountLowThreshold] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTrack(MediaStreamTrack, MediaStream)" with the proper type] + expected: FAIL + + [RTCIceTransport interface object length] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "transport" with the proper type] + expected: FAIL + + [RTCDtlsTransport interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCDataChannel interface: calling send(ArrayBuffer) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteParameters()" with the proper type] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getCapabilities(DOMString)" with the proper type] + expected: FAIL + + [RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCRtpTransceiver interface: calling setCodecPreferences([object Object\]) on new RTCPeerConnection().addTransceiver('audio') with too few arguments must throw TypeError] + expected: FAIL + + [RTCDtlsTransport interface object name] + expected: FAIL + + [RTCRtpSender interface: operation setParameters(RTCRtpSendParameters)] + expected: FAIL + + [RTCIceTransport interface: attribute gatheringState] + expected: FAIL + + [RTCErrorEvent interface: existence and properties of interface object] + expected: FAIL + + [RTCPeerConnection interface: operation createAnswer(RTCSessionDescriptionCallback, RTCPeerConnectionErrorCallback)] + expected: FAIL + + [RTCRtpReceiver interface: operation getCapabilities(DOMString)] + expected: FAIL + + [RTCRtpReceiver interface: operation getStats()] + expected: FAIL + + [RTCSctpTransport interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCRtpTransceiver interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCPeerConnection interface: attribute pendingRemoteDescription] + expected: FAIL + + [RTCRtpSender interface: calling setStreams(MediaStream) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onselectedcandidatepairchange" with the proper type] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "priority" with the proper type] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "protocol" with the proper type] + expected: FAIL + + [RTCRtpTransceiver interface: attribute direction] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getTransceivers()" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute priority] + expected: FAIL + + [RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCIceTransport must be primary interface of idlTestObjects.iceTransport] + expected: FAIL + + [RTCError interface: attribute errorDetail] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedPort" with the proper type] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "tcpType" with the proper type] + expected: FAIL + + [RTCErrorEvent interface object length] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "setConfiguration(RTCConfiguration)" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute maxRetransmits] + expected: FAIL + + [RTCRtpSender interface object length] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface object length] + expected: FAIL + + [RTCDTMFSender interface: attribute toneBuffer] + expected: FAIL + + [RTCCertificate interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxChannels" with the proper type] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onclose" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: attribute onicecandidateerror] + expected: FAIL + + [RTCStatsReport interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCPeerConnection interface: operation addIceCandidate(RTCIceCandidateInit, VoidFunction, RTCPeerConnectionErrorCallback)] + expected: FAIL + + [RTCSctpTransport interface: attribute transport] + expected: FAIL + + [RTCDataChannel interface object name] + expected: FAIL + + [RTCPeerConnection interface: operation getSenders()] + expected: FAIL + + [RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "getRemoteCertificates()" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getStats(MediaStreamTrack)" with the proper type] + expected: FAIL + + [RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "state" with the proper type] + expected: FAIL + + [RTCRtpReceiver interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCDataChannelEvent interface object name] + expected: FAIL + + [RTCDataChannelEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCRtpSender interface: calling getCapabilities(DOMString) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError] + expected: FAIL + + [RTCRtpSender interface: operation getCapabilities(DOMString)] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorText" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute negotiated] + expected: FAIL + + [RTCRtpReceiver interface: attribute transport] + expected: FAIL + + [Stringification of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 });] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalParameters()" with the proper type] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onopen" with the proper type] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getStats()" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute protocol] + expected: FAIL + + [RTCPeerConnection interface: operation addTrack(MediaStreamTrack, MediaStream)] + expected: FAIL + + [RTCPeerConnection interface: attribute currentRemoteDescription] + expected: FAIL + + [RTCSctpTransport interface: attribute onstatechange] + expected: FAIL + + [RTCIceTransport interface: attribute state] + expected: FAIL + + [RTCDataChannel interface: attribute onerror] + expected: FAIL + + [RTCRtpSender interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCPeerConnection interface: operation createOffer(RTCOfferOptions)] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onicecandidateerror" with the proper type] + expected: FAIL + + [RTCStatsReport interface: existence and properties of interface object] + expected: FAIL + + [RTCDataChannel interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "addTransceiver([object Object\],[object Object\], RTCRtpTransceiverInit)" with the proper type] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "onstatechange" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute maxPacketLifeTime] + expected: FAIL + + [RTCIceCandidate interface: attribute type] + expected: FAIL + + [RTCTrackEvent interface: attribute receiver] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "port" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: operation createDataChannel(USVString, RTCDataChannelInit)] + expected: FAIL + + [RTCDataChannelEvent must be primary interface of new RTCDataChannelEvent('channel', {\n channel: new RTCPeerConnection().createDataChannel('')\n })] + expected: FAIL + + [RTCRtpSender must be primary interface of new RTCPeerConnection().addTransceiver('audio').sender] + expected: FAIL + + [RTCSctpTransport interface object name] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onbufferedamountlow" with the proper type] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "mid" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "createDataChannel(USVString, RTCDataChannelInit)" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute onmessage] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface object name] + expected: FAIL + + [RTCErrorEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCSctpTransport interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCRtpTransceiver interface: attribute sender] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "protocol" with the proper type] + expected: FAIL + + [RTCStatsEvent interface: existence and properties of interface object] + expected: FAIL + + [RTCStatsReport interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmountLowThreshold" with the proper type] + expected: FAIL + + [RTCIceTransport interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [Stringification of idlTestObjects.dtlsTransport] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "binaryType" with the proper type] + expected: FAIL + + [Stringification of new RTCDataChannelEvent('channel', {\n channel: new RTCPeerConnection().createDataChannel('')\n })] + expected: FAIL + + [RTCCertificate interface: idlTestObjects.certificate must inherit property "getFingerprints()" with the proper type] + expected: FAIL + + [RTCCertificate must be primary interface of idlTestObjects.certificate] + expected: FAIL + + [RTCCertificate interface object length] + expected: FAIL + + [RTCRtpReceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio').receiver] + expected: FAIL + + [RTCTrackEvent interface: initTrackEvent() must inherit property "transceiver" with the proper type] + expected: FAIL + + [RTCDTMFSender interface object length] + expected: FAIL + + [RTCIceCandidate interface: attribute address] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "readyState" with the proper type] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "close()" with the proper type] + expected: FAIL + + [RTCSctpTransport interface: existence and properties of interface object] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "canTrickleIceCandidates" with the proper type] + expected: FAIL + + [RTCTrackEvent interface: initTrackEvent() must inherit property "track" with the proper type] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getSelectedCandidatePair()" with the proper type] + expected: FAIL + + [RTCDataChannel interface: operation close()] + expected: FAIL + + [RTCPeerConnection interface: calling removeTrack(RTCRtpSender) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCDataChannelEvent interface object length] + expected: FAIL + + [RTCErrorEvent interface: attribute error] + expected: FAIL + + [RTCPeerConnection interface: operation generateCertificate(AlgorithmIdentifier)] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "type" with the proper type] + expected: FAIL + + [RTCRtpTransceiver interface: operation stop()] + expected: FAIL + + [RTCCertificate interface: idlTestObjects.certificate must inherit property "expires" with the proper type] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getSynchronizationSources()" with the proper type] + expected: FAIL + + [RTCIceTransport interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [Stringification of new RTCErrorEvent('error')] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "url" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: operation getStats(MediaStreamTrack)] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "dtmf" with the proper type] + expected: FAIL + + [RTCRtpSender interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCCertificate interface: operation getFingerprints()] + expected: FAIL + + [RTCSctpTransport interface: attribute state] + expected: FAIL + + [RTCSctpTransport interface: attribute maxChannels] + expected: FAIL + + [RTCIceTransport interface: operation getLocalParameters()] + expected: FAIL + + [RTCIceTransport interface: attribute ongatheringstatechange] + expected: FAIL + + [RTCSctpTransport interface: attribute maxMessageSize] + expected: FAIL + + [RTCRtpReceiver interface object length] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getParameters()" with the proper type] + expected: FAIL + + [RTCCertificate interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCDtlsTransport interface object length] + expected: FAIL + + [RTCRtpTransceiver interface: attribute receiver] + expected: FAIL + + [RTCDTMFToneChangeEvent interface object length] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "receiver" with the proper type] + expected: FAIL + + [RTCRtpTransceiver interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "rtcpTransport" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)] + expected: FAIL + + [RTCRtpTransceiver interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "priority" with the proper type] + expected: FAIL + + [RTCStatsEvent interface: attribute report] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: attribute hostCandidate] + expected: FAIL + + [RTCRtpReceiver interface: attribute track] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setStreams(MediaStream)" with the proper type] + expected: FAIL + + [RTCRtpReceiver interface: operation getParameters()] + expected: FAIL + + [RTCPeerConnection interface: operation getDefaultIceServers()] + expected: FAIL + + [RTCRtpTransceiver must be primary interface of new RTCPeerConnection().addTransceiver('audio')] + expected: FAIL + + [RTCDTMFSender interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCDataChannel interface: attribute label] + expected: FAIL + + [RTCPeerConnection interface: operation setConfiguration(RTCConfiguration)] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "onconnectionstatechange" with the proper type] + expected: FAIL + + [RTCCertificate interface: idlTestObjects.certificate must inherit property "getSupportedAlgorithms()" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: attribute currentLocalDescription] + expected: FAIL + + [RTCDataChannel interface: operation send(Blob)] + expected: FAIL + + [RTCIceTransport interface: attribute onselectedcandidatepairchange] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "errorCode" with the proper type] + expected: FAIL + + [RTCCertificate interface: operation getSupportedAlgorithms()] + expected: FAIL + + [RTCPeerConnection interface: operation removeTrack(RTCRtpSender)] + expected: FAIL + + [RTCTrackEvent interface: attribute streams] + expected: FAIL + + [RTCRtpSender interface: operation getParameters()] + expected: FAIL + + [RTCPeerConnection interface: operation setRemoteDescription(RTCSessionDescriptionInit)] + expected: FAIL + + [Test driver for asyncInitTransports] + expected: FAIL + + [RTCIceTransport interface: attribute onstatechange] + expected: FAIL + + [RTCDataChannel interface: attribute id] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "negotiated" with the proper type] + expected: FAIL + + [RTCCertificate interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCDataChannel interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCDTMFToneChangeEvent interface: attribute tone] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "setParameters(RTCRtpSendParameters)" with the proper type] + expected: FAIL + + [RTCDTMFSender interface: attribute ontonechange] + expected: FAIL + + [RTCDataChannel interface: attribute readyState] + expected: FAIL + + [RTCError interface: attribute sctpCauseCode] + expected: FAIL + + [RTCStatsEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCStatsEvent interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "role" with the proper type] + expected: FAIL + + [RTCPeerConnection interface: attribute connectionState] + expected: FAIL + + [RTCRtpReceiver interface object name] + expected: FAIL + + [RTCIceTransport interface: operation getRemoteParameters()] + expected: FAIL + + [RTCDtlsTransport interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "component" with the proper type] + expected: FAIL + + [RTCError interface: attribute httpRequestStatusCode] + expected: FAIL + + [RTCRtpSender interface: operation getStats()] + expected: FAIL + + [RTCPeerConnection interface: operation getReceivers()] + expected: FAIL + + [RTCPeerConnection interface: operation addIceCandidate(RTCIceCandidateInit)] + expected: FAIL + + [Stringification of idlTestObjects.iceTransport] + expected: FAIL + + [RTCPeerConnection interface: calling setConfiguration(RTCConfiguration) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCPeerConnection interface: calling createDataChannel(USVString, RTCDataChannelInit) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCRtpReceiver interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCPeerConnection interface: operation createAnswer(RTCAnswerOptions)] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getSenders()" with the proper type] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getLocalCandidates()" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute onopen] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "getCapabilities(DOMString)" with the proper type] + expected: FAIL + + [RTCIceCandidate interface: attribute tcpType] + expected: FAIL + + [RTCRtpReceiver interface: attribute rtcpTransport] + expected: FAIL + + [RTCIceCandidate interface: new RTCIceCandidate({ sdpMid: 1 }) must inherit property "relatedAddress" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute ordered] + expected: FAIL + + [RTCPeerConnection interface: calling getStats(MediaStreamTrack) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCError interface: attribute sdpLineNumber] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "bufferedAmount" with the proper type] + expected: FAIL + + [RTCDtlsTransport interface: attribute state] + expected: FAIL + + [RTCError interface: attribute receivedAlert] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "getRemoteCandidates()" with the proper type] + expected: FAIL + + [RTCTrackEvent interface: initTrackEvent() must inherit property "receiver" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: attribute errorCode] + expected: FAIL + + [RTCIceCandidate interface: attribute priority] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentRemoteDescription" with the proper type] + expected: FAIL + + [RTCDataChannelEvent interface: existence and properties of interface object] + expected: FAIL + + [RTCIceCandidate interface: attribute foundation] + expected: FAIL + + [RTCStatsReport interface object length] + expected: FAIL + + [RTCError interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "ondatachannel" with the proper type] + expected: FAIL + + [RTCDataChannel interface object length] + expected: FAIL + + [RTCRtpSender interface: calling setParameters(RTCRtpSendParameters) on new RTCPeerConnection().addTransceiver('audio').sender with too few arguments must throw TypeError] + expected: FAIL + + [RTCStatsReport interface object name] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "gatheringState" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent must be primary interface of new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 });] + expected: FAIL + + [RTCErrorEvent interface object name] + expected: FAIL + + [RTCDtlsTransport interface: idlTestObjects.dtlsTransport must inherit property "onerror" with the proper type] + expected: FAIL + + [RTCIceTransport interface object name] + expected: FAIL + + [RTCDataChannelEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit)] + expected: FAIL + + [RTCDataChannel interface: operation send(USVString)] + expected: FAIL + + [RTCError interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingRemoteDescription" with the proper type] + expected: FAIL + + [RTCCertificate interface object name] + expected: FAIL + + [RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "getConfiguration()" with the proper type] + expected: FAIL + + [RTCDataChannel must be primary interface of new RTCPeerConnection().createDataChannel('')] + expected: FAIL + + [RTCStatsEvent interface object length] + expected: FAIL + + [RTCDTMFToneChangeEvent interface object name] + expected: FAIL + + [RTCDataChannel interface: attribute bufferedAmount] + expected: FAIL + + [RTCIceTransport interface: existence and properties of interface object] + expected: FAIL + + [RTCIceTransport interface: attribute role] + expected: FAIL + + [RTCDataChannelEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCDtlsTransport interface: existence and properties of interface object] + expected: FAIL + + [RTCDtlsTransport interface: attribute iceTransport] + expected: FAIL + + [RTCPeerConnection interface: calling generateCertificate(AlgorithmIdentifier) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "currentLocalDescription" with the proper type] + expected: FAIL + + [Stringification of new RTCPeerConnection().addTransceiver('audio').receiver] + expected: FAIL + + [RTCIceCandidate interface: attribute port] + expected: FAIL + + [RTCRtpSender interface object name] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "label" with the proper type] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "replaceTrack(MediaStreamTrack)" with the proper type] + expected: FAIL + + [RTCDtlsTransport interface: attribute onstatechange] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "rtcpTransport" with the proper type] + expected: FAIL + + [RTCRtpSender interface: new RTCPeerConnection().addTransceiver('audio').sender must inherit property "track" with the proper type] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "onerror" with the proper type] + expected: FAIL + + [RTCRtpTransceiver interface: operation setCodecPreferences([object Object\])] + expected: FAIL + + [RTCIceCandidate interface: attribute protocol] + expected: FAIL + + [RTCIceTransport interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCIceTransport interface: attribute component] + expected: FAIL + + [RTCPeerConnection interface: calling addTrack(MediaStreamTrack, MediaStream) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [Stringification of new RTCPeerConnection().addTransceiver('audio').sender] + expected: FAIL + + [RTCDTMFToneChangeEvent interface: existence and properties of interface object] + expected: FAIL + + [RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "state" with the proper type] + expected: FAIL + + [RTCDataChannel interface: attribute binaryType] + expected: FAIL + + [RTCIceTransport interface: idlTestObjects.iceTransport must inherit property "state" with the proper type] + expected: FAIL + + [RTCDTMFToneChangeEvent interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [RTCPeerConnection interface: calling setRemoteDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback) on new RTCPeerConnection() with too few arguments must throw TypeError] + expected: FAIL + + [RTCRtpReceiver interface: new RTCPeerConnection().addTransceiver('audio').receiver must inherit property "getContributingSources()" with the proper type] + expected: FAIL + + [RTCDataChannel interface: calling send(ArrayBufferView) on new RTCPeerConnection().createDataChannel('') with too few arguments must throw TypeError] + expected: FAIL + + [RTCDtlsTransport interface: operation getRemoteCertificates()] + expected: FAIL + + [RTCStatsEvent interface object name] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(ArrayBufferView)" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: new RTCPeerConnectionIceErrorEvent('ice-error', { errorCode: 701 }); must inherit property "hostCandidate" with the proper type] + expected: FAIL + + [RTCDataChannel interface: operation send(ArrayBuffer)] + expected: FAIL + + [RTCDataChannel interface: new RTCPeerConnection().createDataChannel('') must inherit property "send(USVString)" with the proper type] + expected: FAIL + + [RTCIceTransport interface: operation getRemoteCandidates()] + expected: FAIL + + [RTCSctpTransport must be primary interface of idlTestObjects.sctpTransport] + expected: FAIL + + [RTCRtpTransceiver interface: attribute currentDirection] + expected: FAIL + + [RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "maxMessageSize" with the proper type] + expected: FAIL + + [RTCError interface: existence and properties of interface prototype object] + expected: FAIL + + [Stringification of idlTestObjects.sctpTransport] + expected: FAIL + + [RTCIceTransport interface: operation getLocalCandidates()] + expected: FAIL + + [RTCDtlsTransport interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCPeerConnection interface: attribute canTrickleIceCandidates] + expected: FAIL + + [Stringification of initTrackEvent()] + expected: FAIL + + [RTCDataChannel interface: operation send(ArrayBufferView)] + expected: FAIL + + [RTCDTMFSender interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCRtpSender interface: attribute dtmf] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "pendingLocalDescription" with the proper type] + expected: FAIL + + [RTCPeerConnectionIceErrorEvent interface: attribute url] + expected: FAIL + + [RTCRtpSender interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCError interface: existence and properties of interface object] + expected: FAIL + + [RTCSctpTransport interface object length] + expected: FAIL + + [RTCIceCandidate interface: attribute relatedAddress] + expected: FAIL + + [RTCRtpSender interface: operation replaceTrack(MediaStreamTrack)] + expected: FAIL + + [RTCDTMFSender interface: existence and properties of interface object] + expected: FAIL + + [RTCRtpReceiver interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [RTCSctpTransport interface: idlTestObjects.sctpTransport must inherit property "transport" with the proper type] + expected: FAIL + + [RTCDTMFSender interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCPeerConnection interface: operation setLocalDescription(RTCSessionDescriptionInit, VoidFunction, RTCPeerConnectionErrorCallback)] + expected: FAIL + + [RTCDtlsTransport interface: attribute onerror] + expected: FAIL + + [RTCDataChannel interface: attribute onclose] + expected: FAIL + + [Stringification of new RTCPeerConnection().createDataChannel('')] + expected: FAIL + + [RTCRtpTransceiver interface: new RTCPeerConnection().addTransceiver('audio') must inherit property "stop()" with the proper type] + expected: FAIL + + [RTCErrorEvent interface: existence and properties of interface prototype object] + expected: FAIL + + [RTCPeerConnection interface: new RTCPeerConnection() must inherit property "connectionState" with the proper type] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/legacy/RTCPeerConnection-addStream.https.html.ini b/tests/wpt/metadata/webrtc/legacy/RTCPeerConnection-addStream.https.html.ini new file mode 100644 index 000000000000..491868c9613b --- /dev/null +++ b/tests/wpt/metadata/webrtc/legacy/RTCPeerConnection-addStream.https.html.ini @@ -0,0 +1,4 @@ +[RTCPeerConnection-addStream.https.html] + [Legacy addStream(): Media stream stats references track stats] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/legacy/RTCPeerConnection-createOffer-offerToReceive.html.ini b/tests/wpt/metadata/webrtc/legacy/RTCPeerConnection-createOffer-offerToReceive.html.ini new file mode 100644 index 000000000000..874c5a94c9cc --- /dev/null +++ b/tests/wpt/metadata/webrtc/legacy/RTCPeerConnection-createOffer-offerToReceive.html.ini @@ -0,0 +1,55 @@ +[RTCPeerConnection-createOffer-offerToReceive.html] + [offerToReceiveVideo option should be ignored if a non-stopped "recvonly" transceiver exists] + expected: FAIL + + [createOffer() with offerToReceiveAudio should add audio line to all subsequent created offers] + expected: FAIL + + [createOffer() with offerToReceiveAudio set to false should not create a transceiver] + expected: FAIL + + [offerToReceiveVideo option should be ignored if a non-stopped "sendrecv" transceiver exists] + expected: FAIL + + [offerToReceiveAudio set to false with a track should create a "sendonly" transceiver] + expected: FAIL + + [subsequent offerToReceiveAudio set to false with a track should change the direction to "sendonly"] + expected: FAIL + + [offerToReceiveAudio option should be ignored if a non-stopped "sendrecv" transceiver exists] + expected: FAIL + + [createOffer() with offerToReceiveVideo should add video line to all subsequent created offers] + expected: FAIL + + [subsequent offerToReceiveVideo set to false with a track should change the direction to "sendonly"] + expected: FAIL + + [createOffer() with offerToReceiveAudio should create a "recvonly" transceiver] + expected: FAIL + + [offerToReceiveAudio option should be ignored if a non-stopped "recvonly" transceiver exists] + expected: FAIL + + [createOffer() with offerToReceiveAudio:true, then with offerToReceiveVideo:true, should have result offer with both audio and video line] + expected: FAIL + + [offerToReceiveAudio and Video should create two "recvonly" transceivers] + expected: FAIL + + [createOffer() with offerToReceiveVideo set to false should not create a transceiver] + expected: FAIL + + [offerToReceiveVideo set to false with a track should create a "sendonly" transceiver] + expected: FAIL + + [offerToReceiveAudio set to false with a "recvonly" transceiver should change the direction to "inactive"] + expected: FAIL + + [offerToReceiveVideo set to false with a "recvonly" transceiver should change the direction to "inactive"] + expected: FAIL + + [createOffer() with offerToReceiveVideo should create a "recvonly" transceiver] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/legacy/RTCRtpTransceiver-with-OfferToReceive-options.https.html.ini b/tests/wpt/metadata/webrtc/legacy/RTCRtpTransceiver-with-OfferToReceive-options.https.html.ini new file mode 100644 index 000000000000..b9dadb679850 --- /dev/null +++ b/tests/wpt/metadata/webrtc/legacy/RTCRtpTransceiver-with-OfferToReceive-options.https.html.ini @@ -0,0 +1,14 @@ +[RTCRtpTransceiver-with-OfferToReceive-options.https.html] + expected: ERROR + [checkAddTransceiverWithStream] + expected: FAIL + + [checkAddTransceiverWithOfferToReceiveVideo] + expected: NOTRUN + + [checkAddTransceiverWithOfferToReceiveBoth] + expected: NOTRUN + + [checkAddTransceiverWithOfferToReceiveAudio] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/legacy/onaddstream.https.html.ini b/tests/wpt/metadata/webrtc/legacy/onaddstream.https.html.ini new file mode 100644 index 000000000000..7923ea02036a --- /dev/null +++ b/tests/wpt/metadata/webrtc/legacy/onaddstream.https.html.ini @@ -0,0 +1,5 @@ +[onaddstream.https.html] + expected: ERROR + [Check onaddstream] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/no-media-call.html.ini b/tests/wpt/metadata/webrtc/no-media-call.html.ini new file mode 100644 index 000000000000..95345d5794b2 --- /dev/null +++ b/tests/wpt/metadata/webrtc/no-media-call.html.ini @@ -0,0 +1,5 @@ +[no-media-call.html] + expected: TIMEOUT + [Can set up a basic WebRTC call with no data.] + expected: TIMEOUT + diff --git a/tests/wpt/metadata/webrtc/promises-call.html.ini b/tests/wpt/metadata/webrtc/promises-call.html.ini new file mode 100644 index 000000000000..644ee144700a --- /dev/null +++ b/tests/wpt/metadata/webrtc/promises-call.html.ini @@ -0,0 +1,4 @@ +[promises-call.html] + [Can set up a basic WebRTC call with only data using promises.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/protocol/ice-state.https.html.ini b/tests/wpt/metadata/webrtc/protocol/ice-state.https.html.ini new file mode 100644 index 000000000000..c32b2dedfc78 --- /dev/null +++ b/tests/wpt/metadata/webrtc/protocol/ice-state.https.html.ini @@ -0,0 +1,2 @@ +[ice-state.https.html] + expected: CRASH diff --git a/tests/wpt/metadata/webrtc/protocol/missing-fields.html.ini b/tests/wpt/metadata/webrtc/protocol/missing-fields.html.ini new file mode 100644 index 000000000000..eccf5f7d6519 --- /dev/null +++ b/tests/wpt/metadata/webrtc/protocol/missing-fields.html.ini @@ -0,0 +1,7 @@ +[missing-fields.html] + [Offer description with no mid is accepted] + expected: FAIL + + [Answer description with no mid is accepted] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/protocol/msid-parse.html.ini b/tests/wpt/metadata/webrtc/protocol/msid-parse.html.ini new file mode 100644 index 000000000000..ef091feba6a3 --- /dev/null +++ b/tests/wpt/metadata/webrtc/protocol/msid-parse.html.ini @@ -0,0 +1,14 @@ +[msid-parse.html] + expected: TIMEOUT + [Description with no msid produces a track with a stream] + expected: TIMEOUT + + [Description with two msid produces two streams] + expected: NOTRUN + + [Description with msid:foo bar produces a stream with id foo] + expected: NOTRUN + + [Description with msid:- appid produces a track with no stream] + expected: NOTRUN + diff --git a/tests/wpt/metadata/webrtc/protocol/simulcast-answer.html.ini b/tests/wpt/metadata/webrtc/protocol/simulcast-answer.html.ini new file mode 100644 index 000000000000..641ec8fb9d79 --- /dev/null +++ b/tests/wpt/metadata/webrtc/protocol/simulcast-answer.html.ini @@ -0,0 +1,4 @@ +[simulcast-answer.html] + [createOffer() with multiple send encodings should create simulcast offer] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/protocol/simulcast-offer.html.ini b/tests/wpt/metadata/webrtc/protocol/simulcast-offer.html.ini new file mode 100644 index 000000000000..11cd69418f11 --- /dev/null +++ b/tests/wpt/metadata/webrtc/protocol/simulcast-offer.html.ini @@ -0,0 +1,4 @@ +[simulcast-offer.html] + [createOffer() with multiple send encodings should create simulcast offer] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/protocol/video-codecs.https.html.ini b/tests/wpt/metadata/webrtc/protocol/video-codecs.https.html.ini new file mode 100644 index 000000000000..d316de1f6122 --- /dev/null +++ b/tests/wpt/metadata/webrtc/protocol/video-codecs.https.html.ini @@ -0,0 +1,10 @@ +[video-codecs.https.html] + [H.264 and VP8 should be negotiated after handshake] + expected: FAIL + + [H.264 and VP8 should be supported in initial offer] + expected: FAIL + + [All H.264 codecs MUST include profile-level-id] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/simplecall-no-ssrcs.https.html.ini b/tests/wpt/metadata/webrtc/simplecall-no-ssrcs.https.html.ini new file mode 100644 index 000000000000..b3469e44234e --- /dev/null +++ b/tests/wpt/metadata/webrtc/simplecall-no-ssrcs.https.html.ini @@ -0,0 +1,4 @@ +[simplecall-no-ssrcs.https.html] + [Can set up a basic WebRTC call without announcing ssrcs.] + expected: FAIL + diff --git a/tests/wpt/metadata/webrtc/simplecall.https.html.ini b/tests/wpt/metadata/webrtc/simplecall.https.html.ini new file mode 100644 index 000000000000..c4522527714c --- /dev/null +++ b/tests/wpt/metadata/webrtc/simplecall.https.html.ini @@ -0,0 +1,4 @@ +[simplecall.https.html] + [Can set up a basic WebRTC call.] + expected: FAIL + diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index f12353058f91..67f210953085 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -20306,7 +20306,7 @@ "testharness" ], "mozilla/interfaces.html": [ - "2effd46f565c4787e8632f5e898e1b43d457672f", + "c3941a5f90824f1081904a42b0d189bad73a8b73", "testharness" ], "mozilla/interfaces.js": [ diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.html b/tests/wpt/mozilla/tests/mozilla/interfaces.html index 2effd46f565c..c3941a5f9082 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.html +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.html @@ -165,6 +165,8 @@ "MediaList", "MediaQueryList", "MediaQueryListEvent", + "MediaStream", + "MediaStreamTrack", "MessageEvent", "MimeType", "MimeTypeArray", @@ -201,6 +203,11 @@ "Range", "Request", "Response", + "RTCIceCandidate", + "RTCPeerConnection", + "RTCPeerConnectionIceEvent", + "RTCSessionDescription", + "RTCTrackEvent", "Screen", "ShadowRoot", "StereoPannerNode",