Intent to Ship: NavigationActivation

193 views
Skip to first unread message

Noam Rosenthal

unread,
Jan 26, 2024, 4:27:50 AMJan 26
to blink-dev

Contact emails

jap...@chromium.orgnrose...@chromium.org

Explainer

https://github.com/WICG/view-transitions/blob/main/navigation-activation-explainer.md

Specification

https://html.spec.whatwg.org/multipage/nav-history-apis.html#navigation-activation-interface

Summary

navigation.activation stores state about when the current Document was activated (e.g., when it was initialized, or restored from the back/forward cache).



Blink component

Blink>History

TAG review

https://github.com/w3ctag/design-reviews/issues/921

TAG review status

Issues addressed

Risks



Interoperability and Compatibility

None



Gecko: Positive (https://github.com/mozilla/standards-positions/issues/928)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/282)

Web developers: Positive

Other signals:

Security

This is a cross-document (navigation) feature, so designing it we needed to take care of cross-origin navigation related risks. Since `navigation.activation` is part of the navigation API, it uses the same semantics and protections. We only expose things that are otherwise exposed by the navigation API or in other means.



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?

Yes

https://wpt.fyi/results/navigation-api/navigation-activation?label=master&label=experimental&aligned&q=navigation%20activation



Flag name on chrome://flags

NavigationActivation

Finch feature name

None

Non-finch justification

It's a web-API, exposing it gradually doesn't make sense.



Requires code in //chrome?

False

Estimated milestones

Shipping on desktop123
Shipping on Android123
Shipping on WebView123
Shipping on WebView123


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/5076557983121408

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACf%3D2LJa-_9cEjMU3Ds660KmW0u_G_M9S1Ah-14gAfk9Qhrp2g%40mail.gmail.com

This intent message was generated by Chrome Platform Status.

Vladimir Levin

unread,
Jan 26, 2024, 12:15:28 PMJan 26
to Noam Rosenthal, blink-dev
I'm always unsure about this, but I believe "Finch feature name" is the flag you'd put in runtime_enabled_features.json5. It can be used by Finch as a kill-switch in case the feature causes some regression in the wild. For this feature, the chrome:://flags flag isn't there though (correct me if I'm wrong)


Requires code in //chrome?

False

Estimated milestones

Shipping on desktop123
Shipping on Android123
Shipping on WebView123
Shipping on WebView123


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/5076557983121408

Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACf%3D2LJa-_9cEjMU3Ds660KmW0u_G_M9S1Ah-14gAfk9Qhrp2g%40mail.gmail.com

This intent message was generated by Chrome Platform Status.

--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJn%3DMYZLDnYwfav4o7vMLAWE9o_irDceWxKabqcpBbb4e4byDQ%40mail.gmail.com.

Noam Rosenthal

unread,
Jan 29, 2024, 2:44:21 AMJan 29
to blink-dev, Vladimir Levin, blink-dev, Noam Rosenthal
On Friday, January 26, 2024 at 5:15:28 PM UTC Vladimir Levin wrote:
On Fri, Jan 26, 2024 at 4:27 AM Noam Rosenthal <nrose...@chromium.org> wrote:


Summary

navigation.activation stores state about when the current Document was activated (e.g., when it was initialized, or restored from the back/forward cache).



Blink componentBlink>History

TAG reviewhttps://github.com/w3ctag/design-reviews/issues/921

TAG review statusIssues addressed


Risks


Interoperability and Compatibility

None



Gecko: Positive (https://github.com/mozilla/standards-positions/issues/928)

WebKit: No signal (https://github.com/WebKit/standards-positions/issues/282)

Web developers: Positive

Other signals:

Security

This is a cross-document (navigation) feature, so designing it we needed to take care of cross-origin navigation related risks. Since `navigation.activation` is part of the navigation API, it uses the same semantics and protections. We only expose things that are otherwise exposed by the navigation API or in other means.



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

https://wpt.fyi/results/navigation-api/navigation-activation?label=master&label=experimental&aligned&q=navigation%20activation



Flag name on chrome://flagsNavigationActivation

Finch feature nameNone

Non-finch justification

It's a web-API, exposing it gradually doesn't make sense.

I'm always unsure about this, but I believe "Finch feature name" is the flag you'd put in runtime_enabled_features.json5. It can be used by Finch as a kill-switch in case the feature causes some regression in the wild. For this feature, the chrome:://flags flag isn't there though (correct me if I'm wrong)

Finch + base:: features are used only for things that can cause compat issues, not so much for new web APIs.
I was following this guideline, if something else is required here I'd be happy to follow up.

Mike Taylor

unread,
Jan 29, 2024, 8:30:28 AMJan 29
to Noam Rosenthal, blink-dev, Vladimir Levin, Noam Rosenthal

See https://chromium.googlesource.com/chromium/src/+/main/docs/flag_guarding_guidelines.md#when-is-a-flag-required. The new guidance (since Aug 2022) is to add a flag for ~mostly everything.

Noam Rosenthal

unread,
Jan 29, 2024, 8:53:48 AMJan 29
to Mike Taylor, Noam Rosenthal, blink-dev, Vladimir Levin
Right, of course. But those are auto-generated from blink flags.
So, we do have a finch flag, with the same name (NavigationActivation). I've updated the entry. Sorry for the confusion.  

Yoav Weiss (@Shopify)

unread,
Jan 31, 2024, 11:00:45 AMJan 31
to blink-dev, Noam Rosenthal
LGTM1



Summary

navigation.activation stores state about when the current Document was activated (e.g., when it was initialized, or restored from the back/forward cache).


I was confused by "when" here (as we already shipped activationStart). The explainer does a good job of explaining this though.
TAG review statusIssues addressed

Chris Harrelson

unread,
Jan 31, 2024, 11:53:43 AMJan 31
to Yoav Weiss (@Shopify), blink-dev, Noam Rosenthal
LGTM2

--
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+...@chromium.org.

Daniel Bratell

unread,
Jan 31, 2024, 11:54:27 AMJan 31
to Chris Harrelson, Yoav Weiss (@Shopify), blink-dev, Noam Rosenthal
Reply all
Reply to author
Forward
0 new messages