diff --git a/fetch.bs b/fetch.bs index 3b18c5a7c..9c2179d14 100644 --- a/fetch.bs +++ b/fetch.bs @@ -4970,15 +4970,28 @@ steps: blob URL entry.
If request's method is not `GET
`,
- blobURLEntry is null, or blobURLEntry's
- object is not a {{Blob}} object, then return a
- network error. [[!FILEAPI]]
+
If request's method is not `GET
` or
+ blobURLEntry is null, then return a network error. [[!FILEAPI]]
The `GET
` method restriction serves no useful purpose
other than being interoperable.
-
Let blob be blobURLEntry's object. +
Let requestEnvironment be the result of + determining the environment given request. + +
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 navigationOrEnvironment be the string "navigation
" if
+ isTopLevelNavigation is true; otherwise, requestEnvironment.
+
+
Let blob be the result of obtaining a blob object given + blobURLEntry and navigationOrEnvironment. + +
If blob is not a {{Blob}} object, then return a network error.
Let response be a new response. @@ -5111,6 +5124,21 @@ steps: +
To determine the environment, given a request +request: + +
If request's reserved client is non-null, then return + request's reserved client. + +
If request's client is non-null, then return + request's client. + +
Return null. +