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. > > 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 emailswen...@chromium.org, wen...@google.com >>>>>>>> >>>>>>>> ExplainerNone >>>>>>>> >>>>>>>> Specificationhttps://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 componentBlink>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 tagssafearea >>>>>>>> <https://chromestatus.com/features#tags:safearea> >>>>>>>> >>>>>>>> TAG reviewNone >>>>>>>> >>>>>>>> TAG review statusNot 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://flagsdynamic-safe-area-insets, >>>>>>>> dynamic-safe-area-insets-on-scroll >>>>>>>> >>>>>>>> Finch feature nameDynamicSafeAreaInsets, >>>>>>>> DynamicSafeAreaInsetsOnScroll >>>>>>>> >>>>>>>> Requires code in //chrome?False >>>>>>>> >>>>>>>> Tracking bughttps://g-issues.chromium.org/issues/324436581 >>>>>>>> >>>>>>>> Launch bughttps://launch.corp.google.com/launch/4339772 >>>>>>>> >>>>>>>> MeasurementNo specific measurement on web platform. This success >>>>>>>> will be measured together with >>>>>>>> https://launch.corp.google.com/launch/4339772 >>>>>>>> >>>>>>>> Availability expectationFeature is already available on Safari, >>>>>>>> and is implemented to make available on Chrome on Android. >>>>>>>> >>>>>>>> Adoption expectationNo change is required from web developer. >>>>>>>> >>>>>>>> Adoption planNo 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/CAFtDRbAp4T4QWx_WFLPN6djx1t250ABZJ5i570vrda105e2JiQ%40mail.gmail.com.