Hmm... this is pretty fragile, e.g. you are missing the interleaving that occurs for anchor-positioning for example. https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/css/style_engine.cc;l=3896;drc=4ae3a738cbcbfb87d2bf747e530650484e448361;bpv=1;bpt=1
> What's the usecase for separating them out? Can you expand on the usecase for separating them out? There are many implementation differences here (e.g. where does each engine account for layout-tree construction)? And having them as a unified bucket would mitigate that between implementations. Ian On Fri, Mar 6, 2026 at 9:31 AM Yoav Weiss (@Shopify) <[email protected]> wrote: > > https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/animation_frame_timing_monitor.cc;l=887?q=render_style_duration_during_layout_&ss=chromium%2Fchromium%2Fsrc > > On Fri, Mar 6, 2026 at 6:28 PM Ian Kilpatrick <[email protected]> > wrote: > >> >> >> On Fri, Mar 6, 2026 at 9:18 AM Yoav Weiss (@Shopify) < >> [email protected]> wrote: >> >>> >>> >>> On Fri, Mar 6, 2026 at 6:12 PM Yoav Weiss (@Shopify) < >>> [email protected]> wrote: >>> >>>> Having style and layout interleaved doesn't prevent us from accounting >>>> for the time each took separately. >>>> >>> >>> To expand on that, the implementation accounts for style and layout >>> being potentially interleaved and augments the relevant duration of each >>> accordingly. >>> >>> >> >> Where is the implementation for this? >> >> >>> >>>> On Fri, Mar 6, 2026 at 6:04 PM Ian Kilpatrick <[email protected]> >>>> wrote: >>>> >>>>> Ah I see Emilio gave the same feedback here: >>>>> https://github.com/w3c/long-animation-frames/pull/30#issuecomment-3819162688 >>>>> can you address this before experimenting? >>>>> >>>> >>> I can reply, sure. >>> >>> >>>> >>>>> >>>>> >>>>> On Fri, Mar 6, 2026 at 9:02 AM Ian Kilpatrick < >>>>> [email protected]> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Fri, Mar 6, 2026 at 8:58 AM Yoav Weiss (@Shopify) < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> *Contact emails* >>>>>>> [email protected] >>>>>>> >>>>>>> *Explainer* >>>>>>> https://github.com/w3c/long-animation-frames/pull/30#issue-3828859369 >>>>>>> >>>>>>> *Specification* >>>>>>> https://github.com/w3c/long-animation-frames/pull/30 >>>>>>> >>>>>>> *Summary* >>>>>>> Add `styleDuration`, `forcedStyleDuration`, `layoutDuration` and >>>>>>> `forcedLayoutDuration` information to the Long Animation Frame API, >>>>>>> enabling developers to distinguish style and layout times. >>>>>>> >>>>>>> >>>>>> Its incorrect to think of style and layout as two separate things >>>>>> now. They can be interleaved. What's the usecase for separating them out? >>>>>> E.g. can the API be simplified as a styleLayoutDuration and >>>>>> forcedStyleLayoutDuration ? >>>>>> >>>>>> Ian >>>>>> >>>>>> >>>>>>> *Blink component* >>>>>>> Blink>PerformanceAPIs >>>>>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EPerformanceAPIs%22> >>>>>>> >>>>>>> *Web Feature ID* >>>>>>> Missing feature >>>>>>> >>>>>>> *TAG review* >>>>>>> *Not yet.* >>>>>>> >>>>>>> *TAG review status* >>>>>>> Pending >>>>>>> >>>>>>> *Risks* >>>>>>> >>>>>>> >>>>>>> *Interoperability and Compatibility* >>>>>>> *New attributes, so no compatibility risk. In terms of Interop, this >>>>>>> doesn't increase the interop risk of LoAF, which is currently only >>>>>>> shipped >>>>>>> in Chromium.* >>>>>>> >>>>>>> *Gecko*: No signal >>>>>>> >>>>>>> *WebKit*: No signal >>>>>>> >>>>>>> *Web developers*: Shopify developers need the data these attributes >>>>>>> expose in order to better understand CSS performance bottlenecks in the >>>>>>> wild. >>>>>>> >>>>>>> *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.* >>>>>>> >>>>>>> >>>>>>> *Goals for experimentation* >>>>>>> *See if the API provides the right data that enables developers to >>>>>>> understand their CSS performance bottlenecks.* >>>>>>> >>>>>>> *Ongoing technical constraints* >>>>>>> *No.* >>>>>>> >>>>>>> *Debuggability* >>>>>>> *Not applicable.* >>>>>>> >>>>>>> *Will this feature be supported on all six Blink platforms (Windows, >>>>>>> Mac, Linux, ChromeOS, Android, and Android WebView)?* >>>>>>> Yes. >>>>>>> >>>>>>> *Is this feature fully tested by web-platform-tests >>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?* >>>>>>> Yes. >>>>>>> >>>>>>> >>>>>>> *Flag name on about://flags* >>>>>>> *No information provided* >>>>>>> >>>>>>> *Finch feature name* >>>>>>> *LongAnimationFrameStyleDuration* >>>>>>> >>>>>>> *Non-finch justification* >>>>>>> *No information provided* >>>>>>> >>>>>>> *Requires code in //chrome?* >>>>>>> False >>>>>>> >>>>>>> *Tracking bug* >>>>>>> https://issues.chromium.org/issues/476826067 >>>>>>> >>>>>>> *Estimated milestones* >>>>>>> >>>>>>> M147-M152 >>>>>>> >>>>>>> >>>>>>> *Link to entry on the Chrome Platform Status* >>>>>>> >>>>>>> https://chromestatus.com/feature/5171478175809536?gate=5452953152520192 >>>>>>> >>>>>>> *Links to previous Intent discussions* >>>>>>> Intent to Prototype: >>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJxRuMp6Ha5RVCjzNfsG0Sj96Y%3Dgy9LnxtM%2Brq-S6DEew%40mail.gmail.com >>>>>>> >>>>>>> >>>>>>> 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 [email protected]. >>>>>>> To view this discussion visit >>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJ2PJ0dZxYH48PALOSUenSSV7VuZ9CzTHnGd8u_jTKkcg%40mail.gmail.com >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJ2PJ0dZxYH48PALOSUenSSV7VuZ9CzTHnGd8u_jTKkcg%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 [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJL3UpSLr9TNtA93_EYot-SkjRWvpbi2fk6Qe8Lq0XSNtxuHNg%40mail.gmail.com.
