-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Carry over sticky activation for same-origin navs and traversals #11454
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
361b667
ad0e6b8
fae6b36
3939d91
7e5c107
be03fd6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -80223,7 +80223,8 @@ interface <dfn interface>VisibilityStateEntry</dfn> : <span>PerformanceEntry</sp | |
| <p>This is <var>W</var>'s historical activation state, indicating whether the user has ever | ||
| interacted in <var>W</var>. It starts false, then changes to true (and never changes back to | ||
| false) when <var>W</var> gets the very first <span>activation notification</span>. It is also | ||
| carried over between windows for same-origin navigations and traversals.</p> | ||
| carried over between windows for same-origin navigations and traversals (including <a | ||
|
||
| href="#note-user-activation-bfcache-carry-over">during reactivation from bfcache</a>).</p> | ||
| </dd> | ||
|
|
||
| <dt><dfn export>Transient activation</dfn></dt> | ||
|
|
@@ -104900,6 +104901,15 @@ location.href = '#foo';</code></pre> | |
| entries for the navigation API</span> given <var>navigable</var> and | ||
| <var>targetStep</var>.</p></li> | ||
|
|
||
| <li><p>Let <var>stickyActivationToCarryOver</var> be false.</p></li> | ||
|
|
||
| <li><p>If <var>displayedDocument</var>'s <span>relevant global object</span> has <span>sticky | ||
| activation</span>, and <var>displayDocument</var>'s <span | ||
| data-x="concept-document-origin">origin</span> is <span>same origin</span> with | ||
| <var>targetEntry</var>'s <span data-x="she-document">document</span>'s <span | ||
| data-x="concept-document-origin">origin</span>, then set <var>stickyActivationToCarryOver</var> | ||
| to true.</p></li> | ||
|
|
||
| <li> | ||
| <p>If <var>changingNavigableContinuation</var>'s <span | ||
| data-x="changing-nav-continuation-update-only">update-only</span> is true, or | ||
|
|
@@ -104952,7 +104962,8 @@ location.href = '#foo';</code></pre> | |
| <var>changingNavigableContinuation</var>'s <span | ||
| data-x="changing-nav-continuation-update-only">update-only</span>, | ||
| <var>scriptHistoryLength</var>, <var>scriptHistoryIndex</var>, <var>navigationType</var>, | ||
| <var>entriesForNavigationAPI</var>, and <var>previousEntry</var>.</p></li> | ||
| <var>entriesForNavigationAPI</var>, <var>previousEntry</var>, and | ||
| <var>stickyActivationToCarryOver</var>.</p></li> | ||
|
|
||
| <li><p>If <var>targetEntry</var>'s <span data-x="she-document">document</span> is equal to | ||
| <var>displayedDocument</var>, then perform <var>updateDocument</var>.</p></li> | ||
|
|
@@ -105482,8 +105493,9 @@ location.href = '#foo';</code></pre> | |
| <var>doNotReactivate</var>, integers <var>scriptHistoryLength</var> and | ||
| <var>scriptHistoryIndex</var>, <code>NavigationType</code>-or-null <var>navigationType</var>, an | ||
| optional <span>list</span> of <span data-x="session history entry">session history entries</span> | ||
| <var>entriesForNavigationAPI</var>, and an optional <span>session history entry</span> | ||
| <var>previousEntryForActivation</var>:</p> | ||
| <var>entriesForNavigationAPI</var>, an optional <span>session history entry</span> | ||
| <var>previousEntryForActivation</var>, and an optional boolean | ||
| <var>stickyActivationToCarryOver</var> (default false):</p> | ||
|
|
||
| <ol> | ||
| <li><p>Let <var>documentIsNew</var> be true if <var>document</var>'s <span>latest entry</span> | ||
|
|
@@ -105659,7 +105671,8 @@ location.href = '#foo';</code></pre> | |
| <li><p><span>Assert</span>: <var>entriesForNavigationAPI</var> is given.</p></li> | ||
|
|
||
| <li><p><span data-x="reactivate a document">Reactivate</span> <var>document</var> given | ||
| <var>entry</var> and <var>entriesForNavigationAPI</var>.</p> | ||
| <var>entry</var>, <var>entriesForNavigationAPI</var>, and | ||
| <var>stickyActivationToCarryOver</var>.</p> | ||
| </ol> | ||
|
|
||
| <p class="note"><var>documentsEntryChanged</var> can be false for one of two reasons: either we | ||
|
|
@@ -105710,8 +105723,9 @@ location.href = '#foo';</code></pre> | |
|
|
||
| <p>To <dfn data-x="reactivate a document" export for="Document">reactivate</dfn> a | ||
| <code>Document</code> <var>document</var> given a <span>session history entry</span> | ||
| <var>reactivatedEntry</var> and a <span>list</span> of <span data-x="session history | ||
| entry">session history entries</span> <var>entriesForNavigationAPI</var>:</p> | ||
| <var>reactivatedEntry</var>, a <span>list</span> of <span data-x="session history entry">session | ||
| history entries</span> <var>entriesForNavigationAPI</var>, and a boolean | ||
| <var>stickyActivationToCarryOver</var>:</p> | ||
|
|
||
| <p class="note">This algorithm updates <var>document</var> after it has come out of <a | ||
| href="#note-bfcache">bfcache</a>, i.e., after it has been made <span>fully active</span> | ||
|
|
@@ -105720,6 +105734,16 @@ location.href = '#foo';</code></pre> | |
| of events that happen in effect of the change is clear.</p> | ||
|
|
||
| <ol> | ||
| <li> | ||
| <p>If <var>stickyActivationToCarryOver</var> is true, then set <var>document</var>'s | ||
| <span>relevant global object</var>'s <span>has sticky activation</span> to true.</p> | ||
|
|
||
| <p class="note" id="note-user-activation-bfcache-carry-over">This means we are performing a | ||
| same-origin traverse from a document with sticky activation, in which case, we want to carry | ||
| over sticky activation if present, even if this bfcached <code>Document</code> did not | ||
| originally have it.</p> | ||
| </li> | ||
|
|
||
| <li id="history-autocomplete"><p><span data-x="list iterate">For each</span> | ||
| <var>formControl</var> of form controls in <var>document</var> with an <span>autofill field | ||
| name</span> of "<code data-x="attr-fe-autocomplete-off">off</code>", invoke the <span | ||
|
|
@@ -106352,8 +106376,8 @@ location.href = '#foo';</code></pre> | |
| data-x="navigation-params-origin">origin</span>.</p></li> | ||
|
|
||
| <li> | ||
| <p>If <var>navigable</var>'s <span data-x="nav-container">container</span> is not null, | ||
| then:</p> | ||
| <p>If <var>navigationParams</var>'s <var>navigable</var>'s <span | ||
| data-x="nav-container">container</span> is not null, then:</p> | ||
|
|
||
domenic marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| <ol> | ||
| <li><p>Let <var>parentEnvironment</var> be <var>navigable</var>'s <span | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.