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
elad...@chromium.orgExplainer
https://github.com/WICG/conditional-focus/blob/main/README.mdSpecification
https://wicg.github.io/conditional-focusDesign docs
https://docs.google.com/document/d/1LHJRt-ry9hwzFTbPxKrmD0VvtEFEU6lvqsD7k6wwGKMSummary
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
BlinkTAG review
https://github.com/w3ctag/design-reviews/issues/679TAG review status
PendingRisks
Interoperability and Compatibility
Gecko: No signal
WebKit: No signal
Web developers: No signals
Other signals:
Ergonomics
N/A
Activation
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(...);
}
Security
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 (
190,
230), 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.