Intent to Extend Experiment #2: Conditional Focus

124 views
Skip to first unread message

Elad Alon

unread,
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

elad...@chromium.org

Explainer

https://github.com/WICG/conditional-focus/blob/main/README.md

Specification

https://wicg.github.io/conditional-focus

Design docs


https://docs.google.com/document/d/1LHJRt-ry9hwzFTbPxKrmD0VvtEFEU6lvqsD7k6wwGKM

Summary

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

Blink

TAG review

https://github.com/w3ctag/design-reviews/issues/679

TAG review status

Pending

Risks



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 (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?

No

Flag name

ConditionalFocus

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1215480

Launch bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1214483

Estimated milestones

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


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5646614535340032

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/lbuqOGx07xY
Intent to Experiment: https://groups.google.com/a/chromium.org/g/blink-dev/c/I4RE2pbocTg

Elad Alon

unread,
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
Forward
0 new messages