[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-dev
Subject:    Re: [webkit-dev] Lazy loading
From:       Maciej Stachowiak <mjs () apple ! com>
Date:       2019-10-28 23:36:48
Message-ID: FC4DE084-DA20-4E61-8309-ACD4F80E9D6C () apple ! com
[Download RAW message or body]



> On Oct 28, 2019, at 3:08 PM, Rob Buis <rbuis@igalia.com> wrote:
> 
> On 10/28/19 9:07 PM, Maciej Stachowiak wrote:
> 
> > > Yet another possible task is making lazy loading work for CSS backgrounds, this is implemented in \
> > > the prototype but I don't think there are many tests for it.
> > Is there a way for content authors to opt in/out (depending on the default), or does this just always \
> > follow what the default lazy loading setting is?
> 
> From reading the chromium code, it seems to use a combination of feature policy and the loading \
> attribute to decide whether to enable CSS backgrounds lazy loading or not. Hopefully a chromium \
> developer can confirm.

Per the PR for lazy loading[1], the `loading` attribute applies only to `<img>` and `<iframe>` elements. \
Most CSS background images are not on either of these specific elements. I can imagine one of the \
following:

- Chromium has a nonstandard extension beyond what is in the PR to make `loading` a global/superglobal \
                attribute (in which case we probably shouldn't implement that until spec'd)
- The attribute only applies to CSS backgrounds on specifically the `<img>` and `<iframe>` elements, \
                which would be weirdly limited, and also would be a nonstandard extension to the PR
- CSS backgrounds (and other CSS images?) don't have an individual override, only the global override via \
Feature Policy.

This raises two further concerns though:
- Lazy loading for CSS images is not specified in the lazy loading PR[1]. Is it specified elsewhere, or \
                is it a nonstandard Chromium extension?
- I couldn't find a spec for a lazy loading feature policy either, and the Chrome Platform Status page \
for it gives the status as "removed"[2] so this too might be a nonstandard thing. Or maybe there is a \
newer  (Doesn't look like the feature policy aspect is in your patch though.)

I hope I am not being too nitpicky. I do think this is a great feature. I just want to make sure we're \
cautious about the line between implementing standards-track stuff vs copying things from Chromium that \
are nonstandard or unspecified (so far).

It's also really worrisome if Chrome implemented semantics for the "loading" attribute beyond what is in \
the PR, as that will make interop a challenge.

Regards,
Maciej

[1] <https://github.com/whatwg/html/pull/3752>
[2] <https://www.chromestatus.com/feature/5641405942726656>
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic