Intent to Prototype: 'pageconceal' event

403 views
Skip to first unread message

Khushal Sagar

unread,
Feb 2, 2024, 7:51:16 PMFeb 2
to blink-dev, Noam Rosenthal

Contact emails

khusha...@chromium.orgnrose...@chromium.org

Explainer

https://github.com/WICG/view-transitions/blob/main/cross-doc-explainer.md#pageconceal

Specification

https://github.com/whatwg/html/pull/10002

Summary

The `pageconceal` event is fired on a Document's window object when a navigation will replace this Document with a new Document. The event provides activation info about the navigation (type, NavigationHistoryEntry for the new Document). If the navigation has a cross-document ViewTransition, the event is dispatched before capturing state for the old Document. This allows the page-author to configure the old state captured for the transition based on the navigation's activation info and the current visual state of the old Document. This feature is split out from the larger ViewTransition-on-Navigation project.



Blink component

Blink>ViewTransitions

Motivation

Cross-document ViewTransition need an event on the old Document so authors can set up view-transition-names (or any other DOM state) to influence how the Document is captured. This event needs to be fired: - After the final response is received which provides the post redirect URL committed by the navigation. - Before the last rendering opportunity for the Document (which draws the frame cached by the browser) that runs after the navigation is ready to commit. There is no existing event which aligns with the timing requirements above. See discussion on https://github.com/whatwg/html/issues/9702 for details. The event fires for all cross-document navigation commits, with a nullable ViewTransition. This allows authors to detect whether a cross-document navigation had a transition.



Initial public proposal

https://github.com/whatwg/html/issues/9702

TAG review

https://github.com/w3ctag/design-reviews/issues/851#issuecomment-1924730258

TAG review status

Pending

Risks



Interoperability and Compatibility

None



Gecko: No signal (https://github.com/mozilla/standards-positions/issues/969)

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

Web developers: Strongly positive

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



Is this feature fully tested by web-platform-tests?

No

Flag name on chrome://flags

None

Finch feature name

None

Non-finch justification

None

Requires code in //chrome?

False

Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5479301497749504

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages