diff options
Diffstat (limited to 'testing/web-platform/meta/screen-capture')
10 files changed, 284 insertions, 0 deletions
diff --git a/testing/web-platform/meta/screen-capture/__dir__.ini b/testing/web-platform/meta/screen-capture/__dir__.ini new file mode 100644 index 0000000000..9a7c187531 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/__dir__.ini @@ -0,0 +1,3 @@ +prefs: [media.navigator.permission.disabled:true, media.navigator.streams.fake:true, dom.security.featurePolicy.header.enabled:true, dom.security.featurePolicy.webidl.enabled:true] +lsan-allowed: [Alloc, alloc::raw_vec::finish_grow, mozilla::detail::HashTable, mozilla::dom::Performance::CreateForMainThread, mozilla::dom::PerformanceMainThread::CreateNavigationTimingEntry, mozilla::dom::ProtoAndIfaceCache::PageTableCache::EntrySlotOrCreate, mozilla::intl::FluentBundle::Constructor, mozilla::intl::FluentResource::Constructor, nsDynamicAtom::Create] +leak-threshold: [default:460800] diff --git a/testing/web-platform/meta/screen-capture/getdisplaymedia-after-discard.https.html.ini b/testing/web-platform/meta/screen-capture/getdisplaymedia-after-discard.https.html.ini new file mode 100644 index 0000000000..2e80a2702e --- /dev/null +++ b/testing/web-platform/meta/screen-capture/getdisplaymedia-after-discard.https.html.ini @@ -0,0 +1,5 @@ +[getdisplaymedia-after-discard.https.html] + [getDisplayMedia() in a discarded browsing context] + expected: + if os == "android": FAIL + diff --git a/testing/web-platform/meta/screen-capture/getdisplaymedia-capture-controller.https.window.js.ini b/testing/web-platform/meta/screen-capture/getdisplaymedia-capture-controller.https.window.js.ini new file mode 100644 index 0000000000..7917b6f543 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/getdisplaymedia-capture-controller.https.window.js.ini @@ -0,0 +1,114 @@ +[getdisplaymedia-capture-controller.https.window.html] + [setFocusBehavior("no-focus-change") must throw InvalidStateError when track is stopped if capturing a browser] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must succeed when window of opportunity is opened if capturing a window] + expected: FAIL + + [setFocusBehavior("no-focus-change") must throw InvalidStateError the second time if capturing a window] + expected: FAIL + + [setFocusBehavior("no-focus-change") must throw InvalidStateError if capturing a monitor] + expected: FAIL + + [CaptureController in window] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError when track is stopped if capturing a window] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must succeed before capture starts] + expected: FAIL + + [setFocusBehavior("no-focus-change") must succeed when getDisplayMedia promise is pending if capturing a browser] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must succeed when getDisplayMedia promise is pending if capturing a window] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError when track is stopped if capturing a browser] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError when window of opportunity is closed if capturing a browser] + expected: FAIL + + [setFocusBehavior("no-focus-change") must succeed when getDisplayMedia promise is pending if capturing a window] + expected: FAIL + + [getDisplayMedia({controller: true}) must fail with TypeError] + expected: FAIL + + [getDisplayMedia({controller}) must succeed] + expected: FAIL + + [setFocusBehavior("no-focus-change") must throw InvalidStateError when track is stopped if capturing a window] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError if capturing a monitor] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError when window of opportunity is closed if capturing a window] + expected: FAIL + + [setFocusBehavior("no-focus-change") must succeed when window of opportunity is opened if capturing a browser] + expected: FAIL + + [setFocusBehavior("no-focus-change") must succeed before capture starts] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError the second time if capturing a browser] + expected: FAIL + + [getDisplayMedia({controller: null}) must fail with TypeError] + expected: FAIL + + [getDisplayMedia({controller: invalid}) must fail with TypeError] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must succeed when window of opportunity is opened if capturing a browser] + expected: FAIL + + [setFocusBehavior("undefined") must throw TypeError if focusBehavior is invalid] + expected: FAIL + + [setFocusBehavior("no-focus-change") must throw InvalidStateError the second time if capturing a browser] + expected: FAIL + + [setFocusBehavior("no-focus-change") must throw InvalidStateError when window of opportunity is closed if capturing a window] + expected: FAIL + + [setFocusBehavior("[object Object\]") must throw TypeError if focusBehavior is invalid] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError if getDisplayMedia fails] + expected: FAIL + + [setFocusBehavior("null") must throw TypeError if focusBehavior is invalid] + expected: FAIL + + [setFocusBehavior("no-focus-change") must succeed when window of opportunity is opened if capturing a window] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must throw InvalidStateError the second time if capturing a window] + expected: FAIL + + [setFocusBehavior("no-focus-change") must throw InvalidStateError if getDisplayMedia fails] + expected: FAIL + + [getDisplayMedia({controller: [object Object\]}) must fail with TypeError] + expected: FAIL + + [getDisplayMedia({controller}) must fail with InvalidStateError if controller is bound] + expected: FAIL + + [setFocusBehavior("no-focus-change") must throw InvalidStateError when window of opportunity is closed if capturing a browser] + expected: FAIL + + [setFocusBehavior("invalid") must throw TypeError if focusBehavior is invalid] + expected: FAIL + + [setFocusBehavior("focus-captured-surface") must succeed when getDisplayMedia promise is pending if capturing a browser] + expected: FAIL + + [setFocusBehavior("true") must throw TypeError if focusBehavior is invalid] + expected: FAIL diff --git a/testing/web-platform/meta/screen-capture/getdisplaymedia-framerate.https.html.ini b/testing/web-platform/meta/screen-capture/getdisplaymedia-framerate.https.html.ini new file mode 100644 index 0000000000..01971c5100 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/getdisplaymedia-framerate.https.html.ini @@ -0,0 +1,6 @@ +[getdisplaymedia-framerate.https.html] + expected: + if (os == "android") and fission: [OK, TIMEOUT] + [getDisplayMedia() must adhere to frameRate if set] + expected: + if os == "android": FAIL diff --git a/testing/web-platform/meta/screen-capture/getdisplaymedia.https.html.ini b/testing/web-platform/meta/screen-capture/getdisplaymedia.https.html.ini new file mode 100644 index 0000000000..6461d1a7d4 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/getdisplaymedia.https.html.ini @@ -0,0 +1,46 @@ +[getdisplaymedia.https.html] + disabled: + if os == "android": bug 1550895 (frequently fails on geckoview) + expected: + if (os == "win") and debug and (processor == "x86_64") and not swgl: [CRASH, OK, TIMEOUT] + if (os == "win") and debug and (processor == "x86_64") and swgl: [CRASH, OK, TIMEOUT] + if (os == "win") and debug and (processor == "x86"): [OK, TIMEOUT, CRASH] + if (os == "linux") and not fission and not debug: [OK, CRASH] + [applyConstraints(width or height) must downscale precisely] + expected: + if (os == "linux") and debug and fission: [PASS, FAIL] + if (os == "mac") and debug: [PASS, FAIL] + if os == "win": [PASS, FAIL] + + [displaySurface is supported] + expected: FAIL + + [getDisplayMedia({"selfBrowserSurface":"invalid"}) must fail with TypeError] + expected: FAIL + + [getDisplayMedia({"surfaceSwitching":"invalid"}) must fail with TypeError] + expected: FAIL + + [getDisplayMedia({"systemAudio":"invalid"}) must fail with TypeError] + expected: FAIL + + [getDisplayMedia({"video":{"displaySurface":"monitor"}}) with getSettings] + expected: FAIL + + [getDisplayMedia({"video":{"displaySurface":"window"}}) with getSettings] + expected: FAIL + + [getDisplayMedia({"video":{"displaySurface":"browser"}}) with getSettings] + expected: FAIL + + [suppressLocalAudioPlayback is supported] + expected: FAIL + + [getDisplayMedia({"audio":{"suppressLocalAudioPlayback":true}}) with getSettings] + expected: FAIL + + [getDisplayMedia({"audio":{"suppressLocalAudioPlayback":false}}) with getSettings] + expected: FAIL + + [getDisplayMedia() with getCapabilities] + expected: FAIL diff --git a/testing/web-platform/meta/screen-capture/historical.https.html.ini b/testing/web-platform/meta/screen-capture/historical.https.html.ini new file mode 100644 index 0000000000..87e2fdffc4 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/historical.https.html.ini @@ -0,0 +1,3 @@ +[historical.https.html] + expected: + if (os == "android") and fission: [TIMEOUT, OK] diff --git a/testing/web-platform/meta/screen-capture/idlharness.https.window.js.ini b/testing/web-platform/meta/screen-capture/idlharness.https.window.js.ini new file mode 100644 index 0000000000..663e3ccfb4 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/idlharness.https.window.js.ini @@ -0,0 +1,33 @@ +[idlharness.https.window.html] + [MediaDevices interface: operation getDisplayMedia(optional DisplayMediaStreamOptions)] + expected: + if os == "android": FAIL + + [MediaDevices interface: navigator.mediaDevices must inherit property "getDisplayMedia(optional DisplayMediaStreamOptions)" with the proper type] + expected: + if os == "android": FAIL + + [MediaDevices interface: calling getDisplayMedia(optional DisplayMediaStreamOptions) on navigator.mediaDevices with too few arguments must throw TypeError] + expected: + if os == "android": FAIL + + [CaptureController interface: existence and properties of interface object] + expected: FAIL + + [CaptureController interface object length] + expected: FAIL + + [CaptureController interface object name] + expected: FAIL + + [CaptureController interface: existence and properties of interface prototype object] + expected: FAIL + + [CaptureController interface: existence and properties of interface prototype object's "constructor" property] + expected: FAIL + + [CaptureController interface: existence and properties of interface prototype object's @@unscopables property] + expected: FAIL + + [CaptureController interface: operation setFocusBehavior(CaptureStartFocusBehavior)] + expected: FAIL diff --git a/testing/web-platform/meta/screen-capture/permissions-policy-audio+video.https.sub.html.ini b/testing/web-platform/meta/screen-capture/permissions-policy-audio+video.https.sub.html.ini new file mode 100644 index 0000000000..dfd0367466 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/permissions-policy-audio+video.https.sub.html.ini @@ -0,0 +1,25 @@ +[permissions-policy-audio+video.https.sub.html] + expected: + if (os == "win") and (processor == "x86_64") and debug and not swgl: [OK, ERROR] + if (os == "win") and (processor == "x86") and debug: [OK, ERROR] + if (os == "android") and fission: [OK, TIMEOUT] + [Default "display-capture" permissions policy ["self"\] disallows cross-origin iframes.] + expected: + if os == "android": FAIL + + [Default "display-capture" permissions policy ["self"\] allows the top-level document.] + expected: + if (os == "mac") and not debug: [PASS, FAIL] + if os == "android": FAIL + + [permissions policy "display-capture" can be enabled in cross-origin iframes using "allow" attribute.] + expected: + if os == "android": FAIL + + [Default "display-capture" permissions policy ["self"\] allows same-origin iframes.] + expected: + if os == "android": FAIL + + [permissions policy "display-capture" can be disabled in same-origin iframes using "allow" attribute.] + expected: + if os == "android": FAIL diff --git a/testing/web-platform/meta/screen-capture/permissions-policy-audio.https.sub.html.ini b/testing/web-platform/meta/screen-capture/permissions-policy-audio.https.sub.html.ini new file mode 100644 index 0000000000..c025d6d269 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/permissions-policy-audio.https.sub.html.ini @@ -0,0 +1,23 @@ +[permissions-policy-audio.https.sub.html] + expected: + if (os == "win") and not debug and (processor == "x86_64"): [OK, ERROR] + [Default "display-capture" permissions policy ["self"\] disallows cross-origin iframes.] + expected: + if os == "android": FAIL + + [Default "display-capture" permissions policy ["self"\] allows the top-level document.] + expected: + if (os == "mac") and not debug: [PASS, FAIL] + if os == "android": FAIL + + [permissions policy "display-capture" can be enabled in cross-origin iframes using "allow" attribute.] + expected: + if os == "android": FAIL + + [Default "display-capture" permissions policy ["self"\] allows same-origin iframes.] + expected: + if os == "android": FAIL + + [permissions policy "display-capture" can be disabled in same-origin iframes using "allow" attribute.] + expected: + if os == "android": FAIL diff --git a/testing/web-platform/meta/screen-capture/permissions-policy-video.https.sub.html.ini b/testing/web-platform/meta/screen-capture/permissions-policy-video.https.sub.html.ini new file mode 100644 index 0000000000..e0c9710e82 --- /dev/null +++ b/testing/web-platform/meta/screen-capture/permissions-policy-video.https.sub.html.ini @@ -0,0 +1,26 @@ +[permissions-policy-video.https.sub.html] + expected: + if fission and (os == "win") and not debug and (processor == "x86_64"): [OK, ERROR] + if fission and (os == "linux") and not debug: [OK, ERROR] + if fission and (os == "mac") and debug: [OK, ERROR] + if fission and (os == "android"): [OK, TIMEOUT] + [Default "display-capture" permissions policy ["self"\] disallows cross-origin iframes.] + expected: + if os == "android": FAIL + + [Default "display-capture" permissions policy ["self"\] allows the top-level document.] + expected: + if (os == "mac") and not debug: [PASS, FAIL] + if os == "android": FAIL + + [permissions policy "display-capture" can be enabled in cross-origin iframes using "allow" attribute.] + expected: + if os == "android": FAIL + + [Default "display-capture" permissions policy ["self"\] allows same-origin iframes.] + expected: + if os == "android": FAIL + + [permissions policy "display-capture" can be disabled in same-origin iframes using "allow" attribute.] + expected: + if os == "android": FAIL |