From 437ae8e13bd1b27b951567905e192f78924819d5 Mon Sep 17 00:00:00 2001 From: Yutaka Hirano Date: Sat, 26 May 2018 06:36:06 +0900 Subject: [PATCH] Set request's history-navigation flag for history traversal See w3c/ServiceWorker#1167 for the discussion that led to this change and whatwg/fetch#718 for the infrastructure in Fetch this builds upon. Also includes minor editorial changes to the "traverse the history" algorithm. Tests: w3c/web-platform-tests#10909 --- source | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/source b/source index 6ab09e4a54c..95fb336ee88 100644 --- a/source +++ b/source @@ -2815,6 +2815,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • integrity metadata
  • parser metadata
  • reload-navigation flag
  • +
  • history-navigation flag
  • @@ -80471,7 +80472,8 @@ interface History {
  • Traverse the history of the specified browsing context to - the specified entry.

    + the specified entry with the history-navigation + flag set.

    @@ -82810,9 +82812,9 @@ interface Location { // but see also URL.

  • + if this was invoked with replacement enabled, and with the non-blocking events flag set. This will scroll to the fragment + given in what is now the document's URL.

    If the scrolling fails because the relevant ID has @@ -82939,9 +82941,10 @@ interface Location { // but see also replacement enabled, optionally with the + non-blocking events flag set, and optionally with the history-navigation + flag set:

    This algorithm is not just invoked when explicitly going back or forwards in the session history — it is also invoked @@ -82957,6 +82960,10 @@ interface Location { // but see also request whose url is entry's URL.

    +
  • If the history-navigation flag is set, then set + request's history-navigation + flag.

  • +
  • Navigate the browsing context to request to perform an entry update of @@ -83099,8 +83106,8 @@ interface Location { // but see also replacement enabled, remove - the entry immediately before the specified entry in the session history.

  • +
  • If the traversal was initiated with replacement enabled, remove the entry + immediately before the specified entry in the session history.

  • If entry is not an entry with persisted user state, but its URL's fragment is non-null, then @@ -83113,7 +83120,7 @@ interface Location { // but see also -

    If the non-blocking events flag is not set, then run the following substeps - immediately. Otherwise, the non-blocking events flag is set; queue a - task to run the following substeps instead.

    +

    If the non-blocking events flag is not set, then run + the following substeps immediately. Otherwise, the non-blocking events flag flag is set; queue a task to run the following + substeps instead.

      @@ -121374,7 +121382,7 @@ INSERT INTERFACES HERE Yoav Weiss, Yonathan Randolph, Yury Delendik, - 平野裕 (Yutaka Hirano) + 平野裕 (Yutaka Hirano), Yuzo Fujishima, Zhenbin Xu, 张智强 (Zhiqiang Zhang),