On Wed, Nov 22, 2023 at 2:37 PM Yoav Weiss <yoavwe...@chromium.org> wrote:
> Thanks, that sounds like a strict improvement. > > On Wed, Nov 22, 2023 at 6:25 AM Traian Captan <tcap...@chromium.org> > wrote: > >> Yes, that's correct. >> >> >> On Tue, Nov 21, 2023 at 9:18 PM Yoav Weiss <yoavwe...@chromium.org> >> wrote: >> >>> Do I understand correctly that currently lazy-loaded images in CSS >>> scrollers have suboptimal behavior and this would improve that without >>> potentially harming other cases? >>> >>> On Wed, Nov 22, 2023 at 1:55 AM Traian Captan <tcap...@chromium.org> >>> wrote: >>> >>>> Contact emailstcap...@chromium.org >>>> >>>> ExplainerNone >>>> >>> > A short (inline) explainer would help reviewers to understand e.g. if this > involves changes to the API surface that developers need to care about. > Can you write a few words on the impact on developers? > > >>>> >>>> Specificationhttps://html.spec.whatwg.org/#lazy-load-root-margin >>>> >>> > The spec doesn't mention anything specific around root margins or scroll > margins (other than the algorithm name). > Are these concepts interoperable? > I dug around a little to try to better understand this. The HTML spec does mention <https://html.spec.whatwg.org/#start-intersection-observing-a-lazy-loading-element> setting the "scrollMargin" on the IntersectionObserver, a new property we recently shipped (I2S <https://groups.google.com/a/chromium.org/g/blink-dev/c/Ax8rTBusZ4s/m/nogj-s-eGQAJ?utm_medium=email&utm_source=footer> ). While WebKit and Gecko aren't yet passing the WPT tests <https://wpt.fyi/results/intersection-observer?label=master&label=experimental&aligned&q=scroll-margin> for this yet, interestingly WebKit is already passing <https://wpt.fyi/results/html/semantics/embedded-content/the-img-element?label=master&label=experimental&aligned&q=image-loading-lazy-in-> most of the newly added <https://chromium-review.googlesource.com/c/chromium/src/+/5023396> WPTs for lazy loaded images in particular. So perhaps their implementation already handled this? Seems reasonable to me - LGTM1 >>>> >>>> Summary >>>> >>>> Changes the lazy load intersection observer's init dictionary to use a >>>> scrollMargin instead of a rootMargin. This allows lazy loading images >>>> contained inside CSS scrollers, like carousels, to load as expected when >>>> near the viewport instead of the current behavior where these images load >>>> when at least one pixel is intersecting the viewport. >>>> >>>> >>>> Blink componentBlink>Image >>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EImage> >>>> >>>> Search tagslazyload <https://chromestatus.com/features#tags:lazyload>, >>>> scrollmargin <https://chromestatus.com/features#tags:scrollmargin> >>>> >>>> TAG reviewNone >>>> >>>> TAG review statusNot applicable >>>> >>>> Risks >>>> >>>> >>>> Interoperability and Compatibility >>>> >>>> Overall low as scroll margin also applies to the root element thus not >>>> affecting lazy loading images that are currently loading with just a root >>>> margin. >>>> >>>> >>>> *Gecko*: Positive ( >>>> https://github.com/w3c/IntersectionObserver/issues/431) >>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1864794 >>>> >>>> *WebKit*: Positive ( >>>> https://github.com/w3c/IntersectionObserver/issues/431#issuecomment-930602435 >>>> ) https://bugs.webkit.org/show_bug.cgi?id=264864 >>>> >>>> *Web developers*: Positive ( >>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1391989) >>>> >>>> *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? >>>> >>>> None >>>> >>>> >>>> Debuggability >>>> >>>> None >>>> >>>> >>>> Will this feature be supported on all six Blink platforms (Windows, >>>> Mac, Linux, Chrome OS, 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 >>>> >>>> >>>> https://wpt.fyi/results/html/semantics/embedded-content/the-img-element?label=master&label=experimental&aligned&q=image-loading-lazy-in- >>>> >>>> >>>> Flag name on chrome://flagsLazyLoadScrollMargin >>>> >>>> Finch feature nameNone >>>> >>>> Non-finch justification >>>> >>>> This feature is behind an enabled-by-default flag that can be disabled >>>> if needed. >>>> >>>> >>>> Requires code in //chrome?False >>>> >>>> Tracking bug >>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1391989 >>>> >>>> Estimated milestones >>>> Shipping on desktop 121 >>>> DevTrial on desktop 121 >>>> Shipping on Android 121 >>>> DevTrial on Android 121 >>>> Shipping on WebView 121 >>>> >>>> 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). >>>> None >>>> >>>> Link to entry on the Chrome Platform Status >>>> https://chromestatus.com/feature/5106926245642240 >>>> >>>> Links to previous Intent discussionsIntent to prototype: >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFxahvtrmHkoOpTuD2eZYVOyFuAhP8ZFVoTuNBS8zYTVY%3DTaaQ%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 blink-dev+unsubscr...@chromium.org. >>>> To view this discussion on the web visit >>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFxahvsUb0GEG9WNWRN7Akkowjm03gLj%2Biiq5rG8%2BzdAWMBTNA%40mail.gmail.com >>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFxahvsUb0GEG9WNWRN7Akkowjm03gLj%2Biiq5rG8%2BzdAWMBTNA%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/CAL5BFfVhH_QxckxRLbR05jrN0CY48aQ-Ag3BypusnsyKoDTc0A%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfVhH_QxckxRLbR05jrN0CY48aQ-Ag3BypusnsyKoDTc0A%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/CAFUtAY9wq4ctUMfuHUcitcTUNy%3Dq9U-DKNX2_5THezV%2BBQ7SLw%40mail.gmail.com.