diff --git a/source b/source index 81701d8a63a..dc2ce71f574 100644 --- a/source +++ b/source @@ -93037,10 +93037,8 @@ location.href = '#foo';
  1. If entry's scroll restoration - mode is "auto", then the user agent may - use entry's scroll position data to restore - the scroll positions of entry's document's - restorable scrollable regions.

    + mode is "auto", then restore + scroll position data given entry.

    The user agent not restoring scroll positions does not imply that scroll positions will be left at any particular value (e.g., (0,0)). The actual scroll position depends @@ -93071,14 +93069,45 @@ location.href = '#foo';


    -

    The restorable scrollable regions of a Document document are - document's viewport, and all of document's scrollable regions - excepting any navigable containers.

    +

    Each Document has a boolean has been scrolled by the user, initially + false. If the user scrolls the document, the user agent must set that document's has been + scrolled by the user to true.

    + +

    The restorable scrollable regions of a Document document + are document's viewport, and all of document's scrollable + regions excepting any navigable containers.

    Child navigable scroll restoration is handled as part of state restoration for the session history entry for those navigables' Documents.

    +

    To restore scroll position data given a session history entry + entry:

    + +
      +
    1. Let document be entry's document.

    2. + +
    3. If document's has been scrolled by the user is true, then the + user agent should return.

    4. + +
    5. +

      The user agent should attempt to use entry's scroll position data to restore the scroll positions of + entry's document's restorable scrollable + regions. The user agent may continue to attempt to do so periodically, until + document's has been scrolled by the user becomes true.

      + +

      This is formulated as an attempt, which is potentially repeated until + success or until the user scrolls, due to the fact that relevant content indicated by the scroll position data might take some time to load from the + network.

      + +

      Scroll restoration might be affected by scroll anchoring.

      +
    6. +
    +

    Document lifecycle

    @@ -93961,6 +93990,8 @@ new PaymentRequest(…); // Allowed to use getting the keys for the map of active timers.

  2. +
  3. Set oldDocument's has been scrolled by the user to false.

  4. +
  5. Run any unloading document cleanup steps for oldDocument that are defined by this specification and other applicable specifications.

  6. @@ -130908,15 +130939,15 @@ INSERT INTERFACES HERE
    [CSSSIZING]
    CSS Intrinsic & Extrinsic Sizing Module, T. Atkins, E. Etemad. W3C.
    -
    [CSSTRANSITIONS]
    -
    (Non-normative) CSS Transitions, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.
    - -
    [CSSUI]
    -
    CSS3 Basic User Interface Module, T. Çelik. W3C.
    +
    [CSSSCROLLANCHORING]
    +
    (Non-normative) CSS Scroll Anchoring, T. Atkins-Bittner. W3C.
    [CSSSYNTAX]
    CSS Syntax, T. Atkins, S. Sapin. W3C.
    +
    [CSSTRANSITIONS]
    +
    (Non-normative) CSS Transitions, L. Baron, D. Jackson, B. Birtles. W3C.
    +
    [CSSTABLE]
    CSS Table, F. Remy, G. Whitworth. W3C.
    @@ -130926,6 +130957,9 @@ INSERT INTERFACES HERE
    [CSSVALUES]
    CSS3 Values and Units, H. Lie, T. Atkins, E. Etemad. W3C.
    +
    [CSSUI]
    +
    CSS3 Basic User Interface Module, F. Rivoal. W3C.
    +
    [CSSWM]
    CSS Writing Modes, E. Etemad, K. Ishii. W3C.