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: + +

      +
    1. If request's reserved client is non-null, then return + request's reserved client. + +

    2. If request's client is non-null, then return + request's client. + +

    3. Return null. +

    +
    +

    HTTP fetch

    @@ -9042,6 +9070,7 @@ Alexey Proskuryakov, Andreas Kling, Andrés Gutiérrez, Andrew Sutherland, +Andrew Williams, Ángel González, Anssi Kostiainen, Arkadiusz Michalski,