diff --git a/fetch.bs b/fetch.bs index 3b18c5a7..8abe2de7 100644 --- a/fetch.bs +++ b/fetch.bs @@ -3133,6 +3133,32 @@ or an implementation-defined value. +

Storage keys for requests

+ +

Requests made to Blob URLs (other than those corresponding to navigations) are +prevented from succeeding if the storage key of the +environment settings object making the request is different than the +storage key of the environment settings object corresponding to where +the Blob URL was created. + +

+

To determine the storage key, given a request +request: + +

    +
  1. If request's reserved client is non-null, then return the + result of running obtain a storage key for non-storage purposes given + request's reserved client. + +

  2. If request's client is non-null, then return the result of + running obtain a storage key for non-storage purposes given request's + client. + +

  3. Return null. +

+
+ +

HTTP cache partitions

@@ -4978,6 +5004,29 @@ steps:

The `GET` method restriction serves no useful purpose other than being interoperable. +

  • +

    Let blobStorageKey be the result of running + obtain a storage key for non-storage purposes with blobURLEntry's + environment settings object. + +

  • +

    Let requestStorageKey be the result of + determining the storage key given request. + +

  • +

    If all of the following conditions are true: + +

    + +

    then return a network error. +

  • Let blob be blobURLEntry's object.

  • Let response be a new response. @@ -9042,6 +9091,7 @@ Alexey Proskuryakov, Andreas Kling, Andrés Gutiérrez, Andrew Sutherland, +Andrew Williams, Ángel González, Anssi Kostiainen, Arkadiusz Michalski,