Contact emails [email protected]
Explainer https://github.com/screen-share/capture-all-screens/blob/main/explainer.md Specification https://screen-share.github.io/capture-all-screens/ Design docs https://screen-share.github.io/capture-all-screens https://github.com/screen-share/capture-all-screens/blob/main/explainer.md https://docs.google.com/document/d/1p8hhW8cp1PbhEClMTWzYGjfTkBxaNcD34170F60FRpg/edit?resourcekey=0-gLQD4Q6bPVJlZ3gEyZ4_mA#heading=h.qxjlhbc2utcv Summary Capture all the screens currently connected to the device using getAllScreensMedia(). Calling getDisplayMedia() multiple times requires multiple user gestures, burdens the user with choosing the next screen each time, and does not guarantee to the app that all the screens were selected. getAllScreensMedia() improves on all of these fronts. (As this feature has extreme privacy ramifications, it is only exposed behind an enterprise policy, and users are warned before recording even starts, that recording *could* start at some point.) Blink component Blink>GetDisplayMediaSet <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EGetDisplayMediaSet> TAG review None TAG review status Pending Risks Interoperability and Compatibility This API is only available to origins allowlisted by administrators through a policy. The policy itself is non-standard, limiting even theoretical interoperability.This API rejects requests from pages that are not allow-listed through an administrator. The likelihood of this API being adopted by a browser that does not provide administrators mechanisms to manage clients is low. Gecko: N/A - given that the API is limited to managed configurations, it's not clear that requesting a position is needed WebKit: N/A - given that the API is limited to managed configurations, it's not clear that requesting a position is needed Web developers: Positive ( https://github.com/screen-share/capture-all-screens/issues/9) Other signals: Ergonomics No Security 1. Risk of malicious sites exploiting the API and gaining access to sensitive information on users' devices. This risk is mitigated by the API only being accessible to origins allowlisted by an enterprise policy. 2. Risk of users loading private information that gets recorded and made available to apps affiliated with their device's admin. This risk is mitigated by informing users that recording might start at any moment before the API becomes accessible. (In CrOS, this warning is delivered in the log-in screen, and when users log-in despite the warning, this is tantamount to assent.) 3. Risk of users forgetting that their screens are being recorded. This risk is mitigated through a persistent notification. WebView application risks None Goals for experimentation Learn about the experience of web developers and how this API fulfills their needs. Ongoing technical constraints None Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? No This API is initially implemented on CrOS, where demand for it is greatest, and where we have the most flexibility in offering users early warning that their screens may be recorded if they proceed past the log-in screen. Lessons learned from shipping this API on CrOS will be used when deciding how to correctly implement such warnings on other platforms. Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ? No, as WPTs don’t support setting of managed policies. The API is tested by a number of unit- and browser- tests (Test files <https://source.chromium.org/search?q=getallscreensmedia%20f:test.cc%20-f:out%2F&sq=> ). DevTrial instructions https://github.com/screen-share/capture-all-screens/blob/main/HOWTO.md Flag name enable-get-all-screens-media Requires code in //chrome? True. To support this API, embedders need to implement the ContentBrowserClient::ContentCreateScreenEnumerator <https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:content/public/browser/content_browser_client.h;l=1377;drc=9c68f2c46912577bf73bcf032c0f8c00379a0bca> interface. Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=1300883 Launch bug https://bugs.chromium.org/p/chromium/issues/detail?id=1300881 Estimated milestones OriginTrial desktop last 119 OriginTrial desktop first 117 DevTrial on desktop 116 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/6284029979525120 Links to previous Intent discussions Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEdDZo9N354i6eST0x19TXwpeBtgs5_gJUYVF%2BTKLpiJySDADg%40mail.gmail.com Ready for trial: https://groups.google.com/a/chromium.org/g/blink-dev/c/e_cUVJEvzuY?pli=1 -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEdDZo8ijX%3DMG_bE_U0%2B_HMOd1VSBj8GM5fv13HZ69gtoeHgdw%40mail.gmail.com.
