summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/screen-capture
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/meta/screen-capture')
-rw-r--r--testing/web-platform/meta/screen-capture/__dir__.ini3
-rw-r--r--testing/web-platform/meta/screen-capture/getdisplaymedia-after-discard.https.html.ini5
-rw-r--r--testing/web-platform/meta/screen-capture/getdisplaymedia-capture-controller.https.window.js.ini114
-rw-r--r--testing/web-platform/meta/screen-capture/getdisplaymedia-framerate.https.html.ini6
-rw-r--r--testing/web-platform/meta/screen-capture/getdisplaymedia.https.html.ini46
-rw-r--r--testing/web-platform/meta/screen-capture/historical.https.html.ini3
-rw-r--r--testing/web-platform/meta/screen-capture/idlharness.https.window.js.ini33
-rw-r--r--testing/web-platform/meta/screen-capture/permissions-policy-audio+video.https.sub.html.ini25
-rw-r--r--testing/web-platform/meta/screen-capture/permissions-policy-audio.https.sub.html.ini23
-rw-r--r--testing/web-platform/meta/screen-capture/permissions-policy-video.https.sub.html.ini26
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