summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/meta/screen-capture
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--testing/web-platform/meta/screen-capture/__dir__.ini3
-rw-r--r--testing/web-platform/meta/screen-capture/delegate-request.https.sub.html.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.ini36
-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.ini7
-rw-r--r--testing/web-platform/meta/screen-capture/permissions-policy-audio.https.sub.html.ini7
-rw-r--r--testing/web-platform/meta/screen-capture/permissions-policy-video.https.sub.html.ini9
11 files changed, 226 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..8ed0e172df
--- /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::MozPromise, mozilla::MozPromiseHolderBase, mozilla::detail::HashTable, mozilla::dom::Performance::CreateForMainThread, mozilla::dom::PerformanceMainThread::CreateNavigationTimingEntry, mozilla::dom::ProtoAndIfaceCache::PageTableCache::EntrySlotOrCreate, mozilla::dom::ScriptLoader::EvaluateScript, mozilla::intl::FluentBundle::Constructor, mozilla::intl::FluentResource::Constructor, mozilla::net::nsStandardURL::TemplatedMutator, nsDynamicAtom::Create]
+leak-threshold: [default:460800]
diff --git a/testing/web-platform/meta/screen-capture/delegate-request.https.sub.html.ini b/testing/web-platform/meta/screen-capture/delegate-request.https.sub.html.ini
new file mode 100644
index 0000000000..e311d364cf
--- /dev/null
+++ b/testing/web-platform/meta/screen-capture/delegate-request.https.sub.html.ini
@@ -0,0 +1,3 @@
+[delegate-request.https.sub.html]
+ [Display-capture request from a subframe succeeds with delegation when the top frame has user activation]
+ expected: FAIL
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..bca2ec2d53
--- /dev/null
+++ b/testing/web-platform/meta/screen-capture/getdisplaymedia.https.html.ini
@@ -0,0 +1,36 @@
+[getdisplaymedia.https.html]
+ disabled:
+ if os == "android": bug 1550895 (frequently fails on geckoview)
+
+ [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..082d85ed64
--- /dev/null
+++ b/testing/web-platform/meta/screen-capture/permissions-policy-audio+video.https.sub.html.ini
@@ -0,0 +1,7 @@
+[permissions-policy-audio+video.https.sub.html]
+ expected:
+ if (os == "win") and debug and not swgl: [OK, ERROR]
+ [Default "display-capture" permissions policy ["self"\] allows the top-level document.]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ 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..c9d76a4b99
--- /dev/null
+++ b/testing/web-platform/meta/screen-capture/permissions-policy-audio.https.sub.html.ini
@@ -0,0 +1,7 @@
+[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"\] allows the top-level document.]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ 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..d0bf036076
--- /dev/null
+++ b/testing/web-platform/meta/screen-capture/permissions-policy-video.https.sub.html.ini
@@ -0,0 +1,9 @@
+[permissions-policy-video.https.sub.html]
+ expected:
+ if fission and not debug and (os == "win") and (processor == "x86_64"): [OK, ERROR]
+ if fission and debug and (os == "mac"): [OK, ERROR]
+ if fission and not debug and (os == "linux"): [OK, ERROR]
+ [Default "display-capture" permissions policy ["self"\] allows the top-level document.]
+ expected:
+ if (os == "mac") and not debug: [PASS, FAIL]
+ if os == "android": FAIL