diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..f9cf74b --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,13 @@ +{ + "image": "mcr.microsoft.com/devcontainers/universal:2", + "features": { + "ghcr.io/devcontainers-contrib/features/bikeshed:2": {} + }, + "customizations": { + "vscode": { + "extensions": [ + "GitHub.vscode-github-actions" + ] + } + } +} diff --git a/spec.bs b/spec.bs index a4bf818..6c356ca 100644 --- a/spec.bs +++ b/spec.bs @@ -31,6 +31,7 @@ spec: html; urlPrefix: https://html.spec.whatwg.org/ text: new broadcastchannel; url: #dom-broadcastchannel text: shared workers; url: #shared-workers-and-the-sharedworker-interface text: new sharedworker; url: #dom-sharedworker + text: processing model; url: #worker-processing-model spec: storage-access; urlPrefix: https://privacycg.github.io/storage-access/ type: dfn for: environment @@ -204,7 +205,7 @@ Modify {{Document/requestStorageAccess()}} at step 14.1.1.1.1 to read: For all of the following getters and methods, consider the following modifications: -1. When attempting to [=obtain a storage key=] the returned key will use [[STORAGE-PARTITIONING#relaxing-additional-keying]] if the tuple does not simply contain an [=/origin=]. +1. When attempting to [=obtain a storage key for non-storage purposes=] the returned key will use [[STORAGE-PARTITIONING#relaxing-additional-keying]] if the tuple does not simply contain an [=/origin=]. Issue(19): Clarify client-side storage mechanism changes in more detail. @@ -310,6 +311,8 @@ dictionary SharedWorkerOptions : WorkerOptions { The default {{SharedWorkerOptions/sameSiteCookies}} is {{SameSiteCookiesType/all}} in [=first-party-site context=] and {{SameSiteCookiesType/none}} otherwise. +Modify {{SharedWorkerGlobalScope}} to have an associated {{SameSiteCookiesType}} sameSiteCookies. + Modify [=new SharedWorker=] to accept {{SharedWorkerOptions}} instead of {{WorkerOptions}}. Modify [=new SharedWorker=] to add a new step below step 1 as follows: @@ -317,6 +320,14 @@ Modify [=new SharedWorker=] to add a new step below step 1 as follows: 2. If |options|.{{SharedWorkerOptions/sameSiteCookies}} is {{SameSiteCookiesType/all}} and {{Window}}'s [=associated document=] is not [=first-party-site context=], then: 1. Throw an "{{InvalidStateError}}" {{DOMException}}. +Modify [=new SharedWorker=] to add a new matching criteria in step 10.2.2 as follows: + +* scope's |sameSiteCookies| equals |options|.{{SharedWorkerOptions/sameSiteCookies}}. + +Modify [=Processing Model=] to add a new step below step 10.4 as follows: + +5. Set worker global scope's |sameSiteCookies| to |options|.{{SharedWorkerOptions/sameSiteCookies}}. + Note: The {{SameSiteCookiesType}} is used to influence which cookies are sent or read during [=fetch=] based on the [=SameSite=] cookie attribute. {{SameSiteCookiesType/all}} is only available in [=first-party-site context=] and permits [=SameSite=] "None", "Lax", and "Strict" cookies to be included (if not blocked for some other reason).