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 ?)
LoAF defines an algorithm for record task end time (#record-task-end-time), the last step of which checks if we need next paint:
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:
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 ?)