FYI, we are shipping this to stable on 
Android: https://chromium-review.googlesource.com/c/chromium/src/+/6422855



On Thursday, September 12, 2024 at 2:18:28 PM UTC-7 Wenyu Fu wrote:

> Rick, Yoav, Mike (and many API owners behind the scene), thank you for the 
> review and the approval!
>
> On Thu, Sep 12, 2024 at 7:02 AM Mike Taylor <miketa...@chromium.org> 
> wrote:
>
>> LGTM3
>> On 9/12/24 9:57 AM, Yoav Weiss (@Shopify) wrote:
>>
>> LGTM2
>>
>> The fact that iOS already shipped this is a compelling argument. 
>>  
>> On Thu, Sep 12, 2024 at 3:55 PM Rick Byers <rby...@chromium.org> wrote:
>>
>>> On Thu, Sep 12, 2024 at 9:09 AM Yoav Weiss (@Shopify) <
>>> yoavwe...@chromium.org> wrote:
>>>
>>>>
>>>> On Wed, Sep 11, 2024 at 5:05 PM Wenyu Fu <weny...@chromium.org> wrote:
>>>>
>>>>> Thank you for the feedback Robert! 
>>>>>
>>>>> > updating the safe area while scrolling requires a main thread update 
>>>>> for the developer drawn controls (e.g. footer) to respond
>>>>>
>>>>> I've attached a recording of the same feature's behavior on iOS 
>>>>> <https://drive.google.com/file/d/19kaNBAr8RFQ0X9odMjx4g-t28lnCHSS_/view?usp=drive_link>.
>>>>>  
>>>>> One of the initiatives for this change is to align Chrome on Android 
>>>>> parity with iOS.
>>>>>
>>>>> > Can you attach this video so that it is available externally?
>>>>>
>>>>> Here's the link to the recording 
>>>>> <https://drive.google.com/file/d/1IhIiYMaG5bK2n-ufahEqkQwcPTok7sFe/view?usp=drive_link>
>>>>>  - 
>>>>> I've updated that in chrome status too: 
>>>>> https://chromestatus.com/feature/5174306712322048?gate=5101473814544384
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Sep 11, 2024 at 7:41 AM Robert Flack <fla...@chromium.org> 
>>>>> wrote:
>>>>>
>>>>>> My only concern with the current feature is that dynamically updating 
>>>>>> the safe area while scrolling requires a main thread update for the 
>>>>>> developer drawn controls (e.g. footer) to respond. This is going to be 
>>>>>> slow. Hopefully there is a path by which we can recognize this 
>>>>>> positioning 
>>>>>> and update it frame perfectly on the compositor similar to fixed / 
>>>>>> sticky 
>>>>>> position content.
>>>>>>
>>>>>> Otherwise, this seems in line with the established pattern for 
>>>>>> devices which draw the viewport to an area that is not entirely 
>>>>>> guaranteed 
>>>>>> to be visible.
>>>>>>
>>>>>> On Mon, Sep 9, 2024 at 12:54 PM Wenyu Fu <weny...@chromium.org> 
>>>>>> wrote:
>>>>>>
>>>>>>> Friendly ping :) This feature has an associated Chrome milstone, 
>>>>>>> it'd be great if I can get some feedback so I can have them addressed 
>>>>>>> in a 
>>>>>>> timely manner 
>>>>>>>
>>>>>>> On Fri, Sep 6, 2024 at 7:58 AM Wenyu Fu <weny...@chromium.org> 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> For Chrome on Android, we are aiming to draw the web contents edge 
>>>>>>>> to edge, drawing part of the web contents under the bezels (i.e. 
>>>>>>>> navigation 
>>>>>>>> bar). This change allows us to correctly dispatch the safe-area-inset* 
>>>>>>>> attributes based on the shown ration of the browser controls, so if 
>>>>>>>> websites has control elements that anchor to the bottom, they can read 
>>>>>>>> the 
>>>>>>>> CSS env variable "safe-area-inset-bottom" to avoid having the controls 
>>>>>>>> being occluded by the navigation bar. This Intent to Ship is targeting 
>>>>>>>> the 
>>>>>>>> render side of the change.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Sep 6, 2024 at 3:59 AM Yoav Weiss (@Shopify) <
>>>>>>>> yoavwe...@chromium.org> wrote:
>>>>>>>>
>>>>>>>>> The design doc doesn't give a lot of background. Can you provide a 
>>>>>>>>> short explanation or an inline explainer as to what this is trying to 
>>>>>>>>> solve 
>>>>>>>>> and how we think developers will be using this? Thanks! :)
>>>>>>>>>
>>>>>>>>
>>>>>> MDN has a great explanation and examples 
>>>>>> <https://developer.mozilla.org/en-US/docs/Web/CSS/env#examples> of 
>>>>>> how this variable is used by developers. I suspect given this is already 
>>>>>> an 
>>>>>> established feature and that this is changing it to be dynamic in the 
>>>>>> case 
>>>>>> of native UI which only covers the content some of the time that this 
>>>>>> could 
>>>>>> have been a PSA 
>>>>>> <https://www.chromium.org/blink/launching-features/#behavior-changes>. 
>>>>>> The only risk I can think of is if this is the first instance of a 
>>>>>> dynamically changing inset, there may be developers who read it once 
>>>>>> from 
>>>>>> Javascript and don't have a signal to update their UI when it changes.
>>>>>>
>>>>>
>>>> Makes sense! Can y'all take a look at the HTTP archive to make sure we 
>>>> don't see evidence of this happening in the wild?
>>>>
>>>
>>> FWIW, given this is already shipped on iOS, I personally think the 
>>> compat risk is quite small. Even if we did find a few sites that read it 
>>> once and then didn't update, they'd probably not be any more broken than 
>>> they are today with non-dynamic safe areas, right?
>>>
>>> Personally I think we should just ship this ASAP to match iOS. As Rob 
>>> says, there's an argument that it's just a bug fix.
>>>
>>> LGTM1 from me (but happy for others to disagree)
>>>
>>>
>>>>>> On Fri, Aug 30, 2024 at 7:10 PM Wenyu Fu <weny...@chromium.org> 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> > The work isn't being done by the team which owns Blink>CSS so 
>>>>>>>>>> it would be good if there were experts which could triage incoming 
>>>>>>>>>> bugs, 
>>>>>>>>>> etc in this area. 
>>>>>>>>>>
>>>>>>>>>> Good callout! I can't seem to find an appropriate component for 
>>>>>>>>>> this feature, thus I choose the closest. During development I've 
>>>>>>>>>> been 
>>>>>>>>>> closely working with owners from Blink>CSS (futhark@) and I think 
>>>>>>>>>> this 
>>>>>>>>>> still fits the CSS area. 
>>>>>>>>>>
>>>>>>>>>> FWIW I think we could still create the Blink>CSS>SafeArea 
>>>>>>>>>> component
>>>>>>>>>>
>>>>>>>>>> > make public access to the indicated document?
>>>>>>>>>>
>>>>>>>>>> Sorry for the inconvenience. The original doc is associated with 
>>>>>>>>>> my google account, and I have trouble sharing it to the public.
>>>>>>>>>> I've made a public copy: 
>>>>>>>>>> https://docs.google.com/document/d/1VL0KNzdQwATk9Uf8kP0kcbO1-dDx86pPvB_bMQdLLHE/edit
>>>>>>>>>>
>>>>>>>>>> On Thu, Aug 29, 2024 at 11:53 PM uazo <carmelo.mess...@gmail.com> 
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> > Design docs
>>>>>>>>>>>
>>>>>>>>>>> could you make public access to the indicated document? 
>>>>>>>>>>>
>>>>>>>>>>> thank you!
>>>>>>>>>>>
>>>>>>>>>>> On Thursday, August 29, 2024 at 9:09:17 PM UTC+2 
>>>>>>>>>>> ikilp...@chromium.org wrote:
>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Aug 29, 2024 at 12:00 PM Wenyu Fu <wen...@chromium.org> 
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Contact emails wen...@chromium.org, wen...@google.com
>>>>>>>>>>>>>
>>>>>>>>>>>>> Explainer None
>>>>>>>>>>>>>
>>>>>>>>>>>>> Specification 
>>>>>>>>>>>>> https://developer.mozilla.org/en-US/docs/Web/CSS/env
>>>>>>>>>>>>>
>>>>>>>>>>>>> Design docs 
>>>>>>>>>>>>>
>>>>>>>>>>>>> https://docs.google.com/document/d/1Wg8M-tkeo7_JDRYVV2vB22pAPQMYXuJ2Ik-fmqn-plg/edit?tab=t.0
>>>>>>>>>>>>>
>>>>>>>>>>>>> Summary 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Dynamically change the safe area inset based on the shown 
>>>>>>>>>>>>> ration for the browser controls. This is used when to keep the 
>>>>>>>>>>>>> web contents 
>>>>>>>>>>>>> from the display cutout area when Chrome is drawing edge to edge. 
>>>>>>>>>>>>> This 
>>>>>>>>>>>>> feature is targeting Android only. Similar browser behavior is 
>>>>>>>>>>>>> already 
>>>>>>>>>>>>> available for Chrome on iOS and Safari Mobile. Detailed design & 
>>>>>>>>>>>>> implementation, please see crbug.com/324436581
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Blink component Blink>CSS 
>>>>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> Could we create a new Blink component for the env(safe-area-*) 
>>>>>>>>>>>> implementation? (Maybe Blink>SafeArea).
>>>>>>>>>>>>
>>>>>>>>>>>> The work isn't being done by the team which owns Blink>CSS so 
>>>>>>>>>>>> it would be good if there were experts which could triage incoming 
>>>>>>>>>>>> bugs, 
>>>>>>>>>>>> etc in this area. 
>>>>>>>>>>>>   
>>>>>>>>>>>>
>>>>>>>>>>>>> Search tags safearea 
>>>>>>>>>>>>> <https://chromestatus.com/features#tags:safearea>
>>>>>>>>>>>>>
>>>>>>>>>>>>> TAG review None
>>>>>>>>>>>>>
>>>>>>>>>>>>> TAG review status Not applicable
>>>>>>>>>>>>>
>>>>>>>>>>>>> Risks 
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Interoperability and Compatibility 
>>>>>>>>>>>>>
>>>>>>>>>>>>> None
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Gecko*: No signal
>>>>>>>>>>>>>
>>>>>>>>>>>>> *WebKit*: No signal
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Web developers*: No signals
>>>>>>>>>>>>>
>>>>>>>>>>>>> *Other signals*:
>>>>>>>>>>>>>
>>>>>>>>>>>>> WebView application risks 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Does this intent deprecate or change behavior of existing 
>>>>>>>>>>>>> APIs, such that it has potentially high risk for Android 
>>>>>>>>>>>>> WebView-based 
>>>>>>>>>>>>> applications?
>>>>>>>>>>>>>
>>>>>>>>>>>>> No specific behavior changes to API, no impact to WebView.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Debuggability 
>>>>>>>>>>>>>
>>>>>>>>>>>>> None
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Will this feature be supported on all six Blink platforms 
>>>>>>>>>>>>> (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? 
>>>>>>>>>>>>> No 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Android only - feature targeting OS with a browser controls.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>> I think it would be fair to say that this is supported on all 
>>>>>> platforms, as they define the environment variable, even though it's 
>>>>>> only 
>>>>>> Android that will currently establish a safe area for overdrawn OS 
>>>>>> controls. I think if any other platform had native controls drawn on top 
>>>>>> that we would update the variable there too.
>>>>>>
>>>>>>
>>>>>>>>>>>>> Is this feature fully tested by web-platform-tests 
>>>>>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>>>>>>>>> ? No
>>>>>>>>>>>>>
>>>>>>>>>>>>> Flag name on chrome://flags dynamic-safe-area-insets, 
>>>>>>>>>>>>> dynamic-safe-area-insets-on-scroll
>>>>>>>>>>>>>
>>>>>>>>>>>>> Finch feature name DynamicSafeAreaInsets, 
>>>>>>>>>>>>> DynamicSafeAreaInsetsOnScroll
>>>>>>>>>>>>>
>>>>>>>>>>>>> Requires code in //chrome? False
>>>>>>>>>>>>>
>>>>>>>>>>>>> Tracking bug https://g-issues.chromium.org/issues/324436581
>>>>>>>>>>>>>
>>>>>>>>>>>>> Launch bug https://launch.corp.google.com/launch/4339772
>>>>>>>>>>>>>
>>>>>>>>>>>>> Measurement No specific measurement on web platform. This 
>>>>>>>>>>>>> success will be measured together with 
>>>>>>>>>>>>> https://launch.corp.google.com/launch/4339772
>>>>>>>>>>>>>
>>>>>>>>>>>>> Availability expectation Feature is already available on 
>>>>>>>>>>>>> Safari, and is implemented to make available on Chrome on Android.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Adoption expectation No change is required from web developer.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Adoption plan No changes needed from the developer.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Non-OSS dependencies 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Does the feature depend on any code or APIs outside the 
>>>>>>>>>>>>> Chromium open source repository and its open-source dependencies 
>>>>>>>>>>>>> to 
>>>>>>>>>>>>> function?
>>>>>>>>>>>>> No
>>>>>>>>>>>>>
>>>>>>>>>>>>> Sample links 
>>>>>>>>>>>>>
>>>>>>>>>>>>> https://screencast.googleplex.com/cast/NTMyMTc4MzcyODE0NDM4NHxmOGViYjdmMC1iZg
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>> Can you attach this video so that it is available externally? I think 
>>>>>> this is a good example of how the feature is used and what it will look 
>>>>>> like.
>>>>>>
>>>>>> Estimated milestones 
>>>>>>>>>>>>> Shipping on Android 129 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Anticipated spec changes 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Open questions about a feature may be a source of future web 
>>>>>>>>>>>>> compat or interop issues. Please list open issues (e.g. links to 
>>>>>>>>>>>>> known 
>>>>>>>>>>>>> github issues in the project for the feature specification) whose 
>>>>>>>>>>>>> resolution may introduce web compat/interop risk (e.g., changing 
>>>>>>>>>>>>> to naming 
>>>>>>>>>>>>> or structure of the API in a non-backward-compatible way).
>>>>>>>>>>>>> No anticipated spec change at the scope for this launch.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Link to entry on the Chrome Platform Status 
>>>>>>>>>>>>> https://chromestatus.com/feature/5174306712322048?gate=5101473814544384
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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+...@chromium.org.
>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFtDRbBh16No8Jsge-tsaxfXsYOauJVkW4cxsVJQkJ_-2hFAww%40mail.gmail.com
>>>>>>>>>>>>>  
>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFtDRbBh16No8Jsge-tsaxfXsYOauJVkW4cxsVJQkJ_-2hFAww%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/CAFtDRbDYE2m%3Do-ddaJZc1CvN5FL4jHRbS_fo8T4mfc8tvwk6OA%40mail.gmail.com
>>>>>>>>>>  
>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFtDRbDYE2m%3Do-ddaJZc1CvN5FL4jHRbS_fo8T4mfc8tvwk6OA%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/CAFtDRbATXu5g-ou4Vc6O%3D8%2BaKnTGkVSFmOZu_ZZSVo0pz_GbfA%40mail.gmail.com
>>>>>>>  
>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFtDRbATXu5g-ou4Vc6O%3D8%2BaKnTGkVSFmOZu_ZZSVo0pz_GbfA%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/CAOmohSJn064YAioCwXFQ9FRgdt1i_5f9ROE00nirya40RcLCrA%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJn064YAioCwXFQ9FRgdt1i_5f9ROE00nirya40RcLCrA%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/CAOmohSJxfoNaxWUYCC9RjvhqoUoiZgeR4q1X3%3Dvq52Kh58mMuw%40mail.gmail.com
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJxfoNaxWUYCC9RjvhqoUoiZgeR4q1X3%3Dvq52Kh58mMuw%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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/457dcc0f-deee-4539-94da-a2e9d1218d8bn%40chromium.org.

Reply via email to