diff --git a/fetch.bs b/fetch.bs index 8d19ae84d..6d084dd91 100755 --- a/fetch.bs +++ b/fetch.bs @@ -5363,14 +5363,43 @@ returning a response directly, or allowing the request to proceed by returning n
Let isTopLevelNavigation be true if request's
destination is "document"; otherwise, false.
-
If isTopLevelNavigation is false and requestEnvironment is null, - then return a network error. +
Let isTopLevelSelfFetch be false. + +
If request's client is non-null: + +
Let global be request's client's + global object. + +
If all of the following conditions are true: + +
global is a {{Window}} object; -
Let navigationOrEnvironment be the string "navigation" if
- isTopLevelNavigation is true; otherwise, requestEnvironment.
+
global's navigable is not null; + +
requestEnvironment's creation URL + equals request's current URL, +
then set isTopLevelSelfFetch to true. + +
Let stringOrEnvironment be requestEnvironment. + +
If isTopLevelNavigation is true, then set stringOrEnvironment
+ to "navigation".
+
+
Otherwise, if isTopLevelSelfFetch is true, then set
+ stringOrEnvironment to "top-level-self-fetch".
+
Let blob be the result of obtaining a blob object given - blobURLEntry and navigationOrEnvironment. + blobURLEntry and stringOrEnvironment.
If blob is not a {{Blob}} object, then return a network error.