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).