You should be able to see all the various bits for approvals in your
chromestatus entry now, can you fill them out please?
There have been a few questions/comments about the lack of clarity of
what "unimportant cross-origin frames" are. What exactly is the
definition? You mention that Safari has a similar intervention - how
similar is it? Do we know? I wonder if there is alignment for this
"unimportant cross-origin frame" concept, if we shouldn't specify that
somehow.
On 3/15/24 2:58 AM, Zheda Chen wrote:
*Intent to Ship: Add JavaScript timer wake up alignment for
unimportant cross-origin frames*
Contact emails
zheda.c...@intel.com, fdo...@chromium.org
Specification
https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html
Summary
Align wake ups of JavaScript timers for unimportant cross-origin
frames. Currently, DOM timers <32ms are all opt-out from AlignWakeUps
[1] due to performance concerns. This is very conservative and
actually some unimportant frames are eligible to use JS timer
alignment. WebKit uses the policy to align DOM timer of non-interacted
cross origin frames to 30ms. This feature adds JavaScript timer wake
up alignment for unimportant frames on foreground pages. Unimportant
frames means they are cross origin, visible but have non-large
proportion of page’s visible area, and have no user interaction. The
alignment interval is 32ms. [1]
https://chromium-review.googlesource.com/c/chromium/src/+/4589092
Blink component
Blink>PerformanceAPIs>Timers
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EPerformanceAPIs%3ETimers>
TAG review
None
TAG review status
Not applicable
Risks
Interoperability and Compatibility
"Other vendors already have interoperable implementation" Safari has a
similar intervention. DOM timers of non-interacted cross origin frames
are aligned to 30ms. In Firefox, all DOM timers (both same-origin and
cross-origin) in foreground pages would be aligned to 16ms. "A mature
specification in the relevant standards body" This intervention is
spec-compliant. The spec mentions "the SetTimeout/SetInterval API does
not guarantee that timers will run exactly on schedule. Delays due to
CPU load, other tasks, etc, are to be expected. ". The wait length of
time is implementation-defined, "which is intended to allow user
agents to pad timeouts as needed to optimize the power usage of the
device. "
https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html "A
shared test suite for that specification" It isn't clear what should
be tested specifically for this intervention since the spec allows
waiting for an "implementation-defined" length.
/Gecko/: Shipped/Shipping
In Firefox, all DOM timers of frames (both same origin and cross
origin) are aligned to 16ms
/WebKit/: Shipped/Shipping
In Safari, DOM timers of non-interacted cross origin frames are
aligned to 30ms after reaching max nesting level (>=5)
/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?
None
Debuggability
None
Will this feature be supported on all six Blink platforms (Windows,
Mac, Linux, ChromeOS, 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>?
Yes
This intervention doesn't require changes to the spec. Timers are
already covered by Web Platform Tests.
Flag name on chrome://flags
None
Finch feature name
ThrottleUnimportantFrameTimers
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/40942028
Launch bug
https://issues.chromium.org/issues/40942028
Estimated milestones
Shipping on desktop
123
DevTrial on desktop
121
Shipping on Android
123
DevTrial on Android
121
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).
None
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5106220399853568
Links to previous Intent discussions
This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.
On Friday, March 15, 2024 at 6:24:06 AM UTC+8 mike...@chromium.org wrote:
The privacy and security teams review all intents, so requesting
reviews and answering the relevant questionnaires is the best path
forward.
Looking forward to the new I2S - thanks!
On 3/14/24 11:22 AM, Zheda Chen wrote:
More details are updated in ChromeStatus, including
interoperability and compatibility risks, Safari/Firefox views,
web platform tests. It compares the behaviors across different
browser vendors.
https://chromestatus.com/feature/5106220399853568
Will send the updated "intent to ship" to this thread later if it
looks good.
AFAIK, I don't see potential privacy/security issues, so can i
set "security review status" and "privacy review status" to "not
applicable"? Please let us know if you have any concerns.
On Wednesday, March 13, 2024 at 10:00:35 AM UTC+8
dom...@chromium.org wrote:
Can you fill out the interoperability and compatibility risks
section here? I don't think standards position requests are
necessary, but saying how this behavior might break existing
sites that assume Chromium's current behavior, and how this
new behavior compares to WebKit and Gecko, would be helpful.
Also, can you request the
privacy/security/enterprise/debuggability/testing gates on
Chrome Status?
On Tue, Mar 12, 2024 at 10:12 PM Zheda Chen
<zheda...@intel.com> wrote:
Okay I update the process stage in Chrome Platform
Status, and paste the newly-generated Intent above.
Please take a look.
https://chromestatus.com/feature/5106220399853568
--
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 blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/c9b39772-a157-426f-bfe2-5908ec7fde7c%40chromium.org.