Intent to Extend Experiment #2: Conditional Focus

Skip to first unread message

Elad Alon

Sep 21, 2022, 3:52:29 AM9/21/22
to blink-dev

Hi Blink owners,

We'd like to extend the Conditional Focus experiment again. It is currently running m102-m108, and we'd like to extend by 3 additional milestones, making it m102-m111 (inclusive).

There has been significant progress in discussions lately, and we have a new API shape which has rough consensus in the WG. However, it will take time to fully finalize that shape's fine details, align the implementation and ship. During this time, we'd like to (1) show consideration to our partners and (2) keep their feedback coming in. The latter is especially true given that a major partner is about to start experimenting on real users, which will provide even more useful feedback than thus far (when they only prototyped and tested internally).

Contact emails



Design docs


Extend the getDisplayMedia() APIs to ensure that tab-capture and window-capture return a new subclass of MediaStreamTrack called FocusableMediaStreamTrack. This new subclass exposes the focus() method. This new method allows Web-applications, when capture starts, to decide whether the captured tab/window should be immediately focused, or whether the capturing tab+window should remain the focused one.

Blink component


TAG review

TAG review status



Interoperability and Compatibility

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:




Not challenging - just feature-detect: // Pre-existing functionality: const mediaStream = await navigator.mediaDevices.getDisplayMedia(); const [track] = mediaStream.getVideoTracks(); // New functionality behind feature-detection: if (!!track.focus) { track.focus(...); }


See design-doc.

Reason this experiment is being extended

The WebRTC WG has reached rough consensus on Conditional Focus. The conclusions are summarized in these two threads (190230), and most recently in this comment. It is now on me to produce a PR, get it through review, and then align the Chromium implementation with it. 

It's not likely that all of this will be done before m109 branches. I therefore request that the OT be extended by 3 additional milestones (up to and including m111). This will allow us to finalize Conditional Focus work without penalizing the partners that have been kind enough to participate in the trial and provide feedback. It would also help that we'll have more time to get feedback from a major partner, who has only provided feedback based on prototypes thus far, but who will soon have feedback based on an experiment with real users.

We are therefore requesting extension by 3 milestones, making the experiment run for m102-m111 (inclusive).

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Supported on all Desktop platforms, but not on any mobile platforms.

Is this feature fully tested by web-platform-tests?


Flag name


Tracking bug

Launch bug

Estimated milestones

OriginTrial desktop last108 (but extension to 111 hereby requested)
OriginTrial desktop first102

Link to entry on the Chrome Platform Status

Links to previous Intent discussions

Intent to prototype:
Intent to Experiment:

Elad Alon

Oct 13, 2022, 4:21:30 PM10/13/22
to blink-dev, Elad Alon
For posterity - a Blink owner ended up LGTMing this request on the original thread.
Reply all
Reply to author
0 new messages