diff --git a/index b/index index 4fdab2265a0..1072136c960 100644 --- a/index +++ b/index @@ -34510,10 +34510,23 @@ style/default.css -
  • If the previous steps fails (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.

  • +
  • + +

    If the previous steps fails (e.g. the server returns a 4xx or + 5xx response or equivalent, or there is a DNS error, or the + connection times out, or the user cancels the download), or if + the server returned a redirect, then run the cache failure + steps.

    + +

    Redirects are fatal because they are either + indicative of a network problem (e.g. a captive portal); or + would allow resources to be added to the cache under URLs that + differ from any URL that the networking model will allow access + to, leaving orphan entries; or would allow resources to be + stored under URLs different than their true URLs. All of these + situations are bad.

    + +
  • Otherwise, the fetching succeeded. Store the resource in the new cache.

  • @@ -34562,10 +34575,11 @@ style/default.css in the cache manifest, then it might still be being downloaded.

    -

    If any of these downloads fail (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.

    +

    If any of these downloads fail (e.g. the connection times out, + or the user cancels the download), then run the cache + failure steps.

    @@ -34803,12 +34817,15 @@ style/default.css the application cache whose <path> component is a prefix match for the resource's URL's <path> component, then:

    -

    Fetch the resource normally. If this results 4xx - or 5xx status codes or equivalent, or if there were network errors - (but not if the user canceled the download), then instead get, - from the cache, the resource of the fallback entry - corresponding to the namespace with the longest matching <path> component. Abort these - steps.

    +

    Fetch the resource normally. If this results in a + redirect to a resource with another origin + (indicative of a captive portal), or a 4xx or 5xx status code or + equivalent, or if there were network errors (but not if the user + canceled the download), then instead get, from the cache, the + resource of the fallback + entry corresponding to the namespace with the longest + matching <path> + component. Abort these steps.

    @@ -34972,9 +34989,9 @@ style/default.css
  • Fetch the resource referenced by url.

  • -
  • If this results 4xx or 5xx status codes or equivalent, or if - there were network errors, or if the user canceled the download, - then abort these steps.

  • +
  • If this results in a redirect, or a 4xx or 5xx status code + or equivalent, or if there were network errors, or if the user + canceled the download, then abort these steps.

  • @@ -35682,7 +35699,10 @@ user reload must be equivalent to .reload() the browsing context being navigated is a top-level browsing context, and the navigation attempt failed (e.g. the server returned a 4xx or 5xx status code or equivalent, or there was a - DNS error), then:

    + DNS error), then:

    Let candidate be the fallback resource specified for the fallback namespace in diff --git a/source b/source index 4b1c8b61152..811689d99c9 100644 --- a/source +++ b/source @@ -39191,10 +39191,23 @@ style/default.css

  • -
  • If the previous steps fails (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.

  • +
  • + +

    If the previous steps fails (e.g. the server returns a 4xx or + 5xx response or equivalent, or there is a DNS error, or the + connection times out, or the user cancels the download), or if + the server returned a redirect, then run the cache failure + steps.

    + +

    Redirects are fatal because they are either + indicative of a network problem (e.g. a captive portal); or + would allow resources to be added to the cache under URLs that + differ from any URL that the networking model will allow access + to, leaving orphan entries; or would allow resources to be + stored under URLs different than their true URLs. All of these + situations are bad.

    + +
  • Otherwise, the fetching succeeded. Store the resource in the new cache.

  • @@ -39249,10 +39262,11 @@ style/default.css in the cache manifest, then it might still be being downloaded.

    -

    If any of these downloads fail (e.g. the server returns a 4xx - or 5xx response or equivalent, or there is a DNS error, or the - connection times out, or the user cancels the download), then run - the cache failure steps.

    +

    If any of these downloads fail (e.g. the connection times out, + or the user cancels the download), then run the cache + failure steps.

    @@ -39540,14 +39554,15 @@ style/default.css a prefix match for the resource's URL's <path> component, then:

    -

    Fetch the resource normally. If this results 4xx - or 5xx status codes or equivalent, or if there were network errors - (but not if the user canceled the download), then instead get, - from the cache, the resource of the fallback entry - corresponding to the namespace with the longest matching <path> component. Abort these - steps.

    +

    Fetch the resource normally. If this results in a + redirect to a resource with another origin + (indicative of a captive portal), or a 4xx or 5xx status code or + equivalent, or if there were network errors (but not if the user + canceled the download), then instead get, from the cache, the + resource of the fallback + entry corresponding to the namespace with the longest + matching <path> + component. Abort these steps.

    @@ -39733,9 +39748,9 @@ style/default.css
  • Fetch the resource referenced by url.

  • -
  • If this results 4xx or 5xx status codes or equivalent, or if - there were network errors, or if the user canceled the download, - then abort these steps.

  • +
  • If this results in a redirect, or a 4xx or 5xx status code + or equivalent, or if there were network errors, or if the user + canceled the download, then abort these steps.

  • @@ -40564,7 +40579,10 @@ user reload must be equivalent to .reload() the browsing context being navigated is a top-level browsing context, and the navigation attempt failed (e.g. the server returned a 4xx or 5xx status code or equivalent, or there was a - DNS error), then:

    + DNS error), then:

    Let candidate be the fallback resource