On Thu, Mar 21, 2024 at 10:11 AM Zheda Chen <zheda.c...@intel.com> wrote:
> The privacy/security/enterprise/debuggability gates are requested on > Chrome Status. Testing gate to be requested later. > > "Unimportant" cross origin frames means they are cross-origin, visible but > use non-large proportion (<75%) of page's visible area and have not > received a user gesture. All 3 conditions should be met. The criteria are > too long so we use "unimportant" concept here. > > 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". In Safari, DOM timers of non-interacted cross origin frames > are aligned to 30ms after reaching max nesting level (>=5). In Firefox, > all DOM timers of frames (both same origin and cross origin) are aligned to > 16ms. See details in "Interoperability and Compatibility Risks", "Safari > views", "Firefox views". > I believe the question Mike asked is not if this is spec compliant, but if the specifics of this should be more tightly specified, given that both WebKit and Chromium find a similar intervention useful. > On Thursday, March 21, 2024 at 1:27:16 AM UTC+8 mike...@chromium.org > wrote: > >> 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...@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/7b8b9b84-2285-4fa9-a80d-c5fc0c1c0c41n%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7b8b9b84-2285-4fa9-a80d-c5fc0c1c0c41n%40chromium.org?utm_medium=email&utm_source=footer> > . > -- 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/CAOmohS%2B1v_cFiOp64McV1asnCXmNnuPnHfPTtiYJxj9wnzX4gA%40mail.gmail.com.