WPT
wpt / screen-capture / getdisplaymedia-capture-controller.https.window.html
Spec: Screen Capture ↗
Runs: Chrome 155.0.8039.0 (wpt@a8b466b15, 2026-09-03) | Firefox 157.0a1 (wpt@a8b466b15, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-56c61 (wpt@ed1909ed6, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 51/51 | 0/51 | 0/51 | 0/51 | 0/51 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| CaptureController in window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must succeed before capture starts | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must succeed before capture starts | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must succeed before capture starts | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("invalid") must throw TypeError if focusBehavior is invalid | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("null") must throw TypeError if focusBehavior is invalid | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("undefined") must throw TypeError if focusBehavior is invalid | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("[object Object]") must throw TypeError if focusBehavior is invalid | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("true") must throw TypeError if focusBehavior is invalid | PASS | FAIL | FAIL | FAIL | FAIL | — |
| getDisplayMedia({controller}) must succeed | PASS | FAIL | FAIL | FAIL | FAIL | — |
| getDisplayMedia({controller: invalid}) must fail with TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |
| getDisplayMedia({controller: null}) must fail with TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |
| getDisplayMedia({controller: [object Object]}) must fail with TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |
| getDisplayMedia({controller: true}) must fail with TypeError | PASS | FAIL | FAIL | FAIL | FAIL | — |
| getDisplayMedia({controller}) must fail with InvalidStateError if controller is bound | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must succeed when window of opportunity is opened if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must succeed when window of opportunity is opened if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must succeed when window of opportunity is opened if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must succeed when window of opportunity is opened if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must succeed when window of opportunity is opened if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must succeed when window of opportunity is opened if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must succeed when getDisplayMedia promise is pending if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must succeed when getDisplayMedia promise is pending if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must succeed when getDisplayMedia promise is pending if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must succeed when getDisplayMedia promise is pending if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must succeed when getDisplayMedia promise is pending if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must succeed when getDisplayMedia promise is pending if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError when track is stopped if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError when track is stopped if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError when track is stopped if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError when track is stopped if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError when track is stopped if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError when track is stopped if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError if capturing a monitor | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError if capturing a monitor | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError if capturing a monitor | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError when window of opportunity is closed if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError when window of opportunity is closed if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError when window of opportunity is closed if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError when window of opportunity is closed if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError when window of opportunity is closed if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError when window of opportunity is closed if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError the second time if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError the second time if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError the second time if capturing a window | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError the second time if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError the second time if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError the second time if capturing a browser | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-capturing-application") must throw InvalidStateError if getDisplayMedia fails | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("focus-captured-surface") must throw InvalidStateError if getDisplayMedia fails | PASS | FAIL | FAIL | FAIL | FAIL | — |
| setFocusBehavior("no-focus-change") must throw InvalidStateError if getDisplayMedia fails | PASS | FAIL | FAIL | FAIL | FAIL | — |