From c330453c966b544b3b20aaa7590f8d8267caafed Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 18 Jan 2024 16:37:43 +0100 Subject: [PATCH 1/4] Allow using Crypto.getRandomValues() in Shadow Realms --- spec/Overview.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/Overview.html b/spec/Overview.html index 8d88155..7b34b3c 100644 --- a/spec/Overview.html +++ b/spec/Overview.html @@ -804,7 +804,7 @@

Crypto interface

[SameObject] readonly attribute Crypto crypto; }; -[Exposed=(Window,Worker)] +[Exposed=*] interface Crypto { [SecureContext] readonly attribute SubtleCrypto subtle; ArrayBufferView getRandomValues(ArrayBufferView array); From c8cefcf8c9267ce8d8cecf1a02f968a2269e5d7e Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Wed, 25 Sep 2024 15:16:11 +0200 Subject: [PATCH 2/4] Update --- spec/Overview.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/Overview.html b/spec/Overview.html index 7b34b3c..2b32f68 100644 --- a/spec/Overview.html +++ b/spec/Overview.html @@ -800,15 +800,15 @@

Crypto interface

cryptographically strong pseudo-random number generator seeded with truly random values.

-partial interface mixin WindowOrWorkerGlobalScope {
+partial interface mixin UniversalGlobalScope {
   [SameObject] readonly attribute Crypto crypto;
 };
 
 [Exposed=*]
 interface Crypto {
-  [SecureContext] readonly attribute SubtleCrypto subtle;
+  [Exposed=(Window,Worker), SecureContext] readonly attribute SubtleCrypto subtle;
   ArrayBufferView getRandomValues(ArrayBufferView array);
-  [SecureContext] DOMString randomUUID();
+  [Exposed=(Window,Worker), SecureContext] DOMString randomUUID();
 };
         
From bdfd56cca0ce76f6b54ed14e2223701b70f470d4 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Mon, 21 Oct 2024 11:03:12 +0200 Subject: [PATCH 3/4] Expose randomUUID in shadow realms if the principal realm is secure --- spec/Overview.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/Overview.html b/spec/Overview.html index 2b32f68..19113d8 100644 --- a/spec/Overview.html +++ b/spec/Overview.html @@ -808,7 +808,7 @@

Crypto interface

interface Crypto { [Exposed=(Window,Worker), SecureContext] readonly attribute SubtleCrypto subtle; ArrayBufferView getRandomValues(ArrayBufferView array); - [Exposed=(Window,Worker), SecureContext] DOMString randomUUID(); + [Exposed=*, SecureContext] DOMString randomUUID(); }; From 44d65314a155590c5d4c8011a2dc3f2e5932066f Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Thu, 16 Jan 2025 12:35:12 -0800 Subject: [PATCH 4/4] Remove redundant Exposed=* The whole interface is Exposed=*, so this doesn't need to be annotated separately. --- spec/Overview.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/Overview.html b/spec/Overview.html index 19113d8..f5ee6ef 100644 --- a/spec/Overview.html +++ b/spec/Overview.html @@ -808,7 +808,7 @@

Crypto interface

interface Crypto { [Exposed=(Window,Worker), SecureContext] readonly attribute SubtleCrypto subtle; ArrayBufferView getRandomValues(ArrayBufferView array); - [Exposed=*, SecureContext] DOMString randomUUID(); + [SecureContext] DOMString randomUUID(); };