[webkit-dev] Request for position on Element Timing

Nicolás Peña Moreno npm at google.com
Tue Nov 24 08:23:05 PST 2020


Thanks for taking the time to review. I received this on my spam folder for
some reason so apologies for the delay in replying.

On Tue, Nov 3, 2020 at 3:31 AM Ryosuke Niwa <rniwa at webkit.org> wrote:

> On Fri, Oct 30, 2020 at 1:58 PM Nicolás Peña Moreno <npm at google.com>
> wrote:
> >
> > Hi, I'd like to request WebKit's position on the Element Timing API,
> which lets web developers annotate images or text whose performance they
> care about. They can then obtain rendering timestamps from the
> PerformanceObserver. For cross-origin images the detailed information is
> gated on Timing-Allow-Origin. The proposed specification is at
> https://wicg.github.io/element-timing/ and is currently shipped in
> Chromium. Thanks!
>
> Apple's WebKit team reviewed this API and we have a few concerns including
> but not limited to:
>
>    - The proposed API exposes timing at which a given element is painted.
>    Implemented naively, this exposes the implementation detail of what kind of
>    compositing tiles are used on a given web page. Hiding this
>    implementation detail and recording the exact theoretical paint timing will
>    be prohibitively expensive to do on all websites.
>
> Note that this only requires exposing the paint timestamp when the
developer requires it explicitly. It is also implemented similarly to the
'mark paint timing' algorithm, which is already implemented in WebKit.

>
>    - The definition of the set of owned text nodes and how they compute
>    intersectionRect seems inadequate. It's unclear what "border box" of
>    *Text* node would mean. The spec doesn't seem to ever populate "set of
>    elements with rendered text" either.
>
>
Indeed, the border box issue is tracked on
https://github.com/WICG/element-timing/issues/33 and
https://github.com/w3c/csswg-drafts/issues/4197. The set is populated on
https://wicg.github.io/element-timing/#sec-element-processing.


>
>    - The use of this API seems to incur a significant runtime as well as
>    memory cost.
>
> The computations and memory should be limited to the annotated elements,
thus not impacting developers that do not use the API. I'll send a PR to
make that better in the spec, and additional suggestions on mitigation are
welcome.


> - R. Niwa
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20201124/3ebcd750/attachment.htm>


More information about the webkit-dev mailing list