Contact [email protected]

Specification
https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html

Design docs
https://docs.google.com/document/d/1OjZoHNvn_vz6bhyww68B_KZBi6_s5arT8xMupuNEnDM/edit

Summary

Run all timers (with a few exceptions) with a non-zero delay on a regular
8ms aligned wake up (125 Hz), instead of as soon as their delay has passed.
This affects DOM timers; On foreground pages, run DOM timers with a
non-zero delay on a regular 8ms aligned wake up, instead of as soon as
their delay has passed. On background pages, DOM timers already run on a
regular 1s aligned wake up (1 Hz), or even less frequently after 5 minutes.


Blink componentBlink>Scheduling
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EScheduling>

TAG review

TAG review statusNot applicable

Risks


Interoperability and Compatibility

This feature changes the behavior of an existing API in a way that is
spec-compliant (the spec says "Optionally, wait a further
implementation-defined length of time", ref.:
https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#run-steps-after-a-timeout).
Content that relies on precise timing for DOM Timers may stop working
properly in Chromium with this feature. The risk is mitigated by delaying
DOM Timers by at most 8 ms. Content that cannot support a 8 ms delay would
probably be better served by alternative APIs described at
https://developer.chrome.com/blog/timer-throttling-in-chrome-88/#workarounds.
Due to the significant battery savings that come with this feature, we
expect that most browsers will decide to implement it after some time.


*Gecko*: No signal

*WebKit*: Neutral (https://github.com/WebKit/standards-positions/issues/44)
Note that WebKit already has some DOM timer alignment logic (see
Page::updateDOMTimerAlignmentInterval()), which depends on low power mode,
page visibility and user interaction. It's also possible that there's some
alignment logic at the platform level which is designed to reduce CPU
wakeups.

*Web developers*: No signals

*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?



Debuggability

This changes the behavior of an existing API. No new debugging support is
added.


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>
?No

DevTrial instructions
https://github.com/eti-p-doray/align-wakeups/blob/main/HOWTO.md

Flag namealign-wakeups

Requires code in //chrome?False

Tracking bughttps://crbug.com/1153139


Estimated milestones
DevTrial on desktop 105
DevTrial on Android 105
Chrome on desktop 107
Chrome on Android 107

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).
This feature changes the behavior of an existing API in a way that is
spec-compliant

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5680188671655936

Links to previous Intent discussionsIntent to Experiment:
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALoDvsaQA8iqxdxNEh1PkBCzPFSsSSmZ72Jgmev-bdwenG6DrQ%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/calodvsaqa8iqxdxneh1pkbczpfssssmz72jgmev-bdweng6...@mail.gmail.com>

Related to this discussion
<https://groups.google.com/a/chromium.org/g/blink-dev/c/POCUbyCqnrc/m/MfPXQmm8AgAJ>;
we're
now at step (3), the feature has been enabled at 100% on beta for almost 3
weeks, and M107 will soon roll out to stable.
Enabling the feature by default triggered crbug.com/1368989 (fuschia only,
addressed), although this was unrelated to the web platform and DOM timers.
No other issues were reported AFAIK.


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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALoDvsbKunY1%3DzbQ38HxKa3kyEvZjNB4ekqZLGmyYsM0uQPB1w%40mail.gmail.com.

Reply via email to