LGTM as an IWA OWNER (3x LGTM from Blink API OWNERS are still required
according to the IWA-specific API launch process
<https://www.chromium.org/blink/launching-features/isolated-web-apps/>).

Thank you for working with the IWA and Security reviewers to figure out the
right restrictions to prevent this from exacerbating fullscreen-based
phishing attacks. We have the option to loosen these restrictions if a
better UX solution to the notice and consent is developed.
Reilly Grant | Software Engineer | reil...@chromium.org | Google Chrome
<https://www.google.com/chrome>


On Wed, May 15, 2024 at 3:00 PM Mike Wasserman <m...@chromium.org> wrote:

> Our team can commit to adding Permissions API query integration, with the
> requisite approvals.
> That would provide feature detection, and also clarify requestFullscreen
> method steps in the spec.
>
> I'm requesting approval to ship the feature in its current state, given
> our commitment to follow up.
>
> Thanks,
> Mike
>
>
> On Wed, May 15, 2024 at 10:01 AM Mike Wasserman <m...@chromium.org> wrote:
>
>> No, this content setting does not have Permissions API integration at
>> this time.
>> That seems like a great future improvement, especially if user control of
>> the setting is extended to more contexts.
>>
>> On Wed, May 15, 2024 at 9:37 AM Alex Russell <slightly...@chromium.org>
>> wrote:
>>
>>> Will the status of the permission be reflected in the Permissions API? I
>>> see Permissions Policy integration, but not the Permissions API reflection
>>> that I'd expect.
>>>
>>> Best,
>>>
>>> Alex
>>>
>>> On Tuesday, May 14, 2024 at 3:54:24 PM UTC-7 Mike Wasserman wrote:
>>>
>>>> Thanks! I pinged the PR, and hope for some feedback there soon.
>>>>
>>>> Feature detection via Permissions API querying seems like a great
>>>> follow up here, ideally alongside broadened feature availability (i.e.
>>>> extending user control beyond Isolated Web Apps).
>>>>
>>>>
>>>> On Tue, May 14, 2024 at 1:43 PM Mike Taylor <miketa...@chromium.org>
>>>> wrote:
>>>>
>>>>> It would be nice for the PR to be reviewed and approved, even without
>>>>> other stakeholder support.
>>>>>
>>>>> Additionally - the explainer mentions a few options for feature
>>>>> detection. Any progress on that front? Or is it just hypothetical?
>>>>> On 5/9/24 3:04 PM, Mike Wasserman wrote:
>>>>>
>>>>> Sure. I'll note that whatwg/fullscreen's PR merging includes a
>>>>> question or criteria "At least two implementers are interested (and none
>>>>> opposed)".
>>>>> I have filed standards position requests with Mozilla and WebKit, and
>>>>> I will ping fullscreen spec maintainers for input.
>>>>>
>>>>> On Thu, May 9, 2024 at 11:39 AM Vladimir Levin <vmp...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> Ah thanks, I missed it in the explainer. The spec changes make sense
>>>>>> to me. The changes don't look like they would be controversial, but it's
>>>>>> probably worthwhile to ensure that this PR is under review and/or landing
>>>>>> as a part of shipping this.
>>>>>>
>>>>>> Thanks!
>>>>>> Vlad
>>>>>>
>>>>>> On Thu, May 9, 2024 at 12:20 PM Mike Wasserman <m...@chromium.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Yes, there's a draft PR
>>>>>>> <https://github.com/whatwg/fullscreen/pull/235> with the
>>>>>>> Explainer's anticipated spec changes
>>>>>>> <https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture#spec-changes>,
>>>>>>> which are designed
>>>>>>> <https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture?tab=readme-ov-file#detailed-design-discussion>
>>>>>>>  alike The rules for choosing a navigable
>>>>>>> <https://html.spec.whatwg.org/multipage/document-sequences.html#the-rules-for-choosing-a-navigable>
>>>>>>> when a new top-level traversable
>>>>>>> <https://html.spec.whatwg.org/multipage/document-sequences.html#top-level-traversable>
>>>>>>> is being requested, as invoked by Window.open()
>>>>>>> <https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-open-dev>:
>>>>>>>
>>>>>>>
>>>>>>>    - If currentNavigable's active window
>>>>>>>    
>>>>>>> <https://html.spec.whatwg.org/multipage/document-sequences.html#nav-window>
>>>>>>>    does not have transient activation
>>>>>>>    
>>>>>>> <https://html.spec.whatwg.org/multipage/interaction.html#transient-activation>
>>>>>>>    and the user agent has been configured to not show popups (i.e., the 
>>>>>>> user
>>>>>>>    agent has a "popup blocker" enabled)
>>>>>>>       - The user agent may inform the user that a popup has been
>>>>>>>       blocked.
>>>>>>>
>>>>>>>
>>>>>>> On Thursday, May 9, 2024 at 7:30:09 AM UTC-7 Vladimir Levin wrote:
>>>>>>>
>>>>>>>> On Wed, May 8, 2024 at 7:46 PM Mike Wasserman <m...@chromium.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Contact emails
>>>>>>>>>
>>>>>>>>> m...@chromium.org, fugu-...@chromium.org
>>>>>>>>>
>>>>>>>>> Explainer
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture
>>>>>>>>>
>>>>>>>>> Specification
>>>>>>>>>
>>>>>>>>> https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen
>>>>>>>>>
>>>>>>>>> Design docs
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture
>>>>>>>>>
>>>>>>>>> Summary
>>>>>>>>>
>>>>>>>>> A new "Automatic Fullscreen" content setting permits
>>>>>>>>> Element.requestFullscreen() without a user gesture, and permits 
>>>>>>>>> browser
>>>>>>>>> dialogs to appear without exiting fullscreen.
>>>>>>>>>
>>>>>>>>> The setting is blocked by default and sites cannot prompt for
>>>>>>>>> permission. New UI controls are limited to Chrome's settings pages 
>>>>>>>>> [1] and
>>>>>>>>> the site info bubble. Users can allow Isolated Web Apps [2], and 
>>>>>>>>> enterprise
>>>>>>>>> admins can allow additional origins with the
>>>>>>>>> AutomaticFullscreenAllowedForUrls policy.
>>>>>>>>>
>>>>>>>>> Combined with Window Management permission [3] and unblocked
>>>>>>>>> popups [4], this unlocks valuable fullscreen capabilities:
>>>>>>>>>
>>>>>>>>> - Open a fullscreen popup on another display, from one gesture
>>>>>>>>>
>>>>>>>>> - Show fullscreen content on multiple displays from one gesture
>>>>>>>>>
>>>>>>>>> - Show fullscreen content on a new display, when it's connected
>>>>>>>>>
>>>>>>>>> - Swap fullscreen windows between displays with one gesture
>>>>>>>>>
>>>>>>>>> - Show fullscreen content after user gesture expiry or consumption
>>>>>>>>>
>>>>>>>>> [1] chrome://settings/content/automaticFullScreen and site
>>>>>>>>> details pages
>>>>>>>>>
>>>>>>>>> [2] User control is initially scoped to security-sensitive apps;
>>>>>>>>> see https://chromestatus.com/feature/5146307550248960
>>>>>>>>>
>>>>>>>>> [3] For multi-screen window placement features; see
>>>>>>>>> https://chromestatus.com/feature/5252960583942144
>>>>>>>>>
>>>>>>>>> [4] To similarly permit window.open() without a user gesture; see
>>>>>>>>> chrome://settings/content/popups
>>>>>>>>>
>>>>>>>>> Blink component
>>>>>>>>>
>>>>>>>>> Blink>Fullscreen
>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EFullscreen>
>>>>>>>>>
>>>>>>>>> Search tags
>>>>>>>>>
>>>>>>>>> Fullscreen <https://chromestatus.com/features#tags:Fullscreen>,
>>>>>>>>> requestFullscreen
>>>>>>>>> <https://chromestatus.com/features#tags:requestFullscreen>, transient
>>>>>>>>> activation
>>>>>>>>> <https://chromestatus.com/features#tags:transient%20activation>, user
>>>>>>>>> gesture <https://chromestatus.com/features#tags:user%20gesture>, 
>>>>>>>>> content
>>>>>>>>> setting <https://chromestatus.com/features#tags:content%20setting>
>>>>>>>>>
>>>>>>>>> TAG review
>>>>>>>>>
>>>>>>>>> N/A. This is not proposing a new or changed web API, but a
>>>>>>>>> browser-specific permission configuration.
>>>>>>>>>
>>>>>>>>
>>>>>>>> Does this change also need to update the referenced spec? In the
>>>>>>>> spec, it seems like if there is no transient activation, it results in 
>>>>>>>> an
>>>>>>>> error. I'm trying to understand whether (and how) the spec needs to be
>>>>>>>> updated to reflect the capability proposed in this intent
>>>>>>>>
>>>>>>>>
>>>>>>>>> Risks Interoperability and Compatibility
>>>>>>>>>
>>>>>>>>> Element.requestFullscreen() may now succeed instead of rejecting
>>>>>>>>> without transient activation. The design doc considers some nuanced
>>>>>>>>> windowing corner cases. This feature is initially only available to
>>>>>>>>> security-sensitive apps and enterprise allow-listed origins.
>>>>>>>>>
>>>>>>>>> Gecko: No signal (
>>>>>>>>> https://github.com/mozilla/standards-positions/issues/1020)
>>>>>>>>>
>>>>>>>>> WebKit: No signal (
>>>>>>>>> https://github.com/WebKit/standards-positions/issues/345)
>>>>>>>>>
>>>>>>>>> Web developers: Positive. Requested by 1st and 3rd party
>>>>>>>>> partners, particularly around VDI:
>>>>>>>>> https://github.com/w3c/window-management/issues/7
>>>>>>>>> https://github.com/w3c/window-management/issues/98
>>>>>>>>> https://github.com/w3c/window-management/issues/92
>>>>>>>>> https://crbug.com/315859364
>>>>>>>>>
>>>>>>>>> Ergonomics
>>>>>>>>>
>>>>>>>>> The explainer discusses prospective feature detection support.
>>>>>>>>>
>>>>>>>>> Activation
>>>>>>>>>
>>>>>>>>> Users or admins must grant the new Automatic Fullscreen content
>>>>>>>>> setting, plus the Popups & Redirects content setting and the Window
>>>>>>>>> Management permission, and to take full advantage of fullscreen 
>>>>>>>>> windowing
>>>>>>>>> features.
>>>>>>>>>
>>>>>>>>> Security
>>>>>>>>>
>>>>>>>>> This capability exacerbates preexisting fullscreen usable security
>>>>>>>>> concerns, so sites cannot show a permission prompt, and user controls 
>>>>>>>>> are
>>>>>>>>> initially scoped to IWA contexts.
>>>>>>>>>
>>>>>>>>> WebView application risks
>>>>>>>>>
>>>>>>>>> None; this feature is not supported on WebView for now
>>>>>>>>>
>>>>>>>>> Debuggability
>>>>>>>>>
>>>>>>>>> Sites can debug via Element.requestFullscreen()'s promise, which
>>>>>>>>> may reject with a TypeError containing a message, the document
>>>>>>>>> `fullscreenElement` property, document `fullscreenchange` +
>>>>>>>>> `fullscreenerror` events, and devtools console messages. Transient
>>>>>>>>> activation state is exposed via navigator.userActivation.isActive. 
>>>>>>>>> Script
>>>>>>>>> can check the window.location.href's scheme for `isolated-app:` to 
>>>>>>>>> assess
>>>>>>>>> initial availability of user control for the current context.
>>>>>>>>>
>>>>>>>>> Will this feature be supported on all six Blink platforms
>>>>>>>>> (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
>>>>>>>>>
>>>>>>>>> No; Initial support targets desktop platforms.
>>>>>>>>>
>>>>>>>>> Is this feature fully tested by web-platform-tests
>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>>>>> ?
>>>>>>>>>
>>>>>>>>> No; WPT coverage is not yet available, and necessitates test
>>>>>>>>> driver controls for this new content setting.
>>>>>>>>>
>>>>>>>>> DevTrial instructions
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture/blob/main/HOWTO.md
>>>>>>>>>
>>>>>>>>> Flag name on chrome://flags
>>>>>>>>>
>>>>>>>>> chrome://flags/#automatic-fullscreen-content-setting
>>>>>>>>>
>>>>>>>>> Finch feature name
>>>>>>>>>
>>>>>>>>> AutomaticFullscreenContentSetting
>>>>>>>>>
>>>>>>>>> Requires code in //chrome?
>>>>>>>>>
>>>>>>>>> True (Chrome settings pages, page info bubble, enterprise policy
>>>>>>>>> integration)
>>>>>>>>>
>>>>>>>>> Tracking bug
>>>>>>>>>
>>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1501130
>>>>>>>>>
>>>>>>>>> Launch bug
>>>>>>>>>
>>>>>>>>> https://launch.corp.google.com/launch/4296344
>>>>>>>>>
>>>>>>>>> Measurement
>>>>>>>>>
>>>>>>>>> Blink.UseCounter.Features: FullscreenAllowedByContentSetting
>>>>>>>>> https://chromestatus.com/metrics/feature/timeline/popularity/4835
>>>>>>>>>
>>>>>>>>> Availability expectation
>>>>>>>>>
>>>>>>>>> Feature is available only in Chromium browsers for the foreseeable
>>>>>>>>> future
>>>>>>>>>
>>>>>>>>> Adoption expectation
>>>>>>>>>
>>>>>>>>> Feature is used by specific partner(s) to provide functionality
>>>>>>>>> within 12 months of launch in Chrome
>>>>>>>>>
>>>>>>>>> Sample links
>>>>>>>>>
>>>>>>>>> https://github.com/michaelwasserman/iwa-windowing-example
>>>>>>>>>
>>>>>>>>> Estimated milestones
>>>>>>>>>
>>>>>>>>> Shipping on desktop 126
>>>>>>>>>
>>>>>>>>> DevTrial on desktop 124
>>>>>>>>>
>>>>>>>>> Anticipated spec changes
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture#spec-changes
>>>>>>>>>
>>>>>>>>> Link to entry on the Chrome Platform Status
>>>>>>>>>
>>>>>>>>> https://chromestatus.com/feature/6218822004768768
>>>>>>>>>
>>>>>>>>> Links to previous Intent discussions
>>>>>>>>>
>>>>>>>>> I2P:
>>>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/CuIqA2v3cvs/m/C6J3clNxAAAJ
>>>>>>>>>
>>>>>>>>> This intent message was generated by Chrome Platform Status
>>>>>>>>> <https://chromestatus.com/>.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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 blink-dev+unsubscr...@chromium.org.
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpVwU7-73Mux5N-0DwYHNC34d8W5z4Yrfy6Qa_if%3DDxCsQ%40mail.gmail.com
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpVwU7-73Mux5N-0DwYHNC34d8W5z4Yrfy6Qa_if%3DDxCsQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> --
>>>>>>> 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 blink-dev+unsubscr...@chromium.org.
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3b8910e6-5c31-4a00-8638-3d6a2a1632d9n%40chromium.org
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/3b8910e6-5c31-4a00-8638-3d6a2a1632d9n%40chromium.org?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>>> 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 blink-dev+unsubscr...@chromium.org.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpXQRXW_Z2LzdQ%3DSTBf2aLydwrD5TT51XR3qrg4zYT8Nig%40mail.gmail.com
>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEsbcpXQRXW_Z2LzdQ%3DSTBf2aLydwrD5TT51XR3qrg4zYT8Nig%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> --
> You received this message because you are subscribed to the Google Groups
> "iwa-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to iwa-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/iwa-dev/CAEsbcpWxbi-Dwzhr_%3DSYjw%2BWas0qXEtk6ACLV%3DbthJ5RW8GDbw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/iwa-dev/CAEsbcpWxbi-Dwzhr_%3DSYjw%2BWas0qXEtk6ACLV%3DbthJ5RW8GDbw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAEmk%3DMaxuVfJp7-aG%2BQof01h4rujTVEoj1fDV7af3xC%2B-QqUGw%40mail.gmail.com.

Reply via email to