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.

Reply via email to