Skip to content

Consider making task-end-time "no visible effect" easier to integrate with for other specs. #32

@mmocny

Description

@mmocny

LoAF defines an algorithm for record task end time (#record-task-end-time), the last step of which checks if we need next paint:

If the user agent believes that updating the rendering of document’s [node navigable](https://html.spec.whatwg.org/multipage/document-sequences.html#node-navigable) would have no visible effect, then"

This is used as an alternative to measuring paint time via paint timing mixin, and immediately will queue a long animation frame entry for reporting (without paint timing info).

This capability would be useful to expose for other specs to leverage:

  • Event Timing API similarly measures task-only or also-paint for events (LoAF also measure event-listeners)
  • Layout Instability API may measure shifts inside forced-layout inside tasks, which may not need next paint.

PaintTimingMixin has made all paint related apis easier to define and integrate with the exact same marked timestamps. It would be useful to do the same for all task-or-paint apis.

The actual spec wording is very short and subtle and so could just be copied in to the other specs, but I think it would be better to define once, and then call out to relevant specs in order to centralize (exactly as Paint Timing does).

It might make sense to add this capability directly to paint timing (MaybePaintTimingMixin ?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions