From bc754b06d359e5f7286f6389b247258c7249cd23 Mon Sep 17 00:00:00 2001 From: Andrew Verge Date: Mon, 19 Aug 2024 14:16:05 -0400 Subject: [PATCH 1/2] Remove unused config size attributes The IDL containerWidth, containerHeight, contentWidth, and contentHeight attributes not actually implemented in Chromuim, so we should remove them. Additionally, the internal fenced frame config struct does not implement container size, only content size. So we should remove that as well --- spec.bs | 88 ++------------------------------------------------------- 1 file changed, 3 insertions(+), 85 deletions(-) diff --git a/spec.bs b/spec.bs index 4a89afc..1b260ff 100644 --- a/spec.bs +++ b/spec.bs @@ -666,9 +666,9 @@ boundary, which can allow for colluding parties to join cross-site data and buil user. To prevent that, the ad auction API [=construct a pending fenced frame config|constructs=] a [=fenced frame config=] whose underlying [=fenced frame config/mapped url|URL=] is opaque to the embedding context. The [=fenced frame config=] is also constructed with restrictions on what the -[=fenced frame config/container size=] and [=fenced frame config/content size=] of the frame must be -and what the [=fenced frame config/effective enabled permissions|permissions policy=] of the frame -must be, as those can be used as fingerprinting vectors. +[=fenced frame config/content size=] of the frame must be and what the [=fenced frame config/ +effective enabled permissions|permissions policy=] of the frame must be, as those can be used as +fingerprinting vectors. Displaying a personalized payment button: @@ -1072,9 +1072,6 @@ A fenced frame config is a [=struct=] with the following [=str : visibility :: a [=fencedframeconfig/visibility=] - : container size - :: null, or a [=fencedframetype/size=] - : content size :: null, or a [=struct=] with the following [=struct/items=]: : value @@ -1171,9 +1168,6 @@ A fenced frame config instance is a [=struct=] with the follow : mapped url :: a [=URL=] - : container size - :: null, or a [=fencedframetype/size=] - : content size :: null, or a [=fencedframetype/size=] @@ -1219,9 +1213,6 @@ A fenced frame config instance is a [=struct=] with the follow : [=fenced frame config instance/mapped url=] :: |config|'s [=fenced frame config/mapped url=]'s [=mapped url/value=] - : [=fenced frame config instance/container size=] - :: |config|'s [=fenced frame config/container size=] - : [=fenced frame config instance/content size=] :: |config|'s [=fenced frame config/content size=] if null, otherwise |config|'s [=fenced frame config/content size=]'s [=content size/value=] @@ -1324,12 +1315,6 @@ maps to an internal [=fenced frame config=] [=struct=]. [Exposed=Window, Serializable] interface FencedFrameConfig { constructor(USVString url); - - readonly attribute FencedFrameConfigSize? containerWidth; - readonly attribute FencedFrameConfigSize? containerHeight; - readonly attribute FencedFrameConfigSize? contentWidth; - readonly attribute FencedFrameConfigSize? contentHeight; - undefined setSharedStorageContext(DOMString contextString); }; @@ -1339,10 +1324,6 @@ Each {{FencedFrameConfig}} has: * A url, a [=URL=], failure, or null, initially null * A urn, a [=urn uuid=] * A sharedStorageContext, a [=string=] - * A containerWidth, a {{FencedFrameConfigSize}} or null - * A containerHeight, a {{FencedFrameConfigSize}} or null - * A contentWidth, a {{FencedFrameConfigSize}} or null - * A contentHeight, a {{FencedFrameConfigSize}} or null Note: A config's [=fencedframeconfig/url=] is only null if a [=fencedframeconfig/urn=] is supplied. @@ -1357,26 +1338,6 @@ Note: A config's [=fencedframeconfig/url=] is only null if a [=fencedframeconfig 1. Return |config|. -
- The {{FencedFrameConfig/containerWidth}} IDL attribute getter steps are to return [=this=]'s - [=fencedframeconfig/containerWidth=]. -
- -
- The {{FencedFrameConfig/containerHeight}} IDL attribute getter steps are to return [=this=]'s - [=fencedframeconfig/containerHeight=]. -
- -
- The {{FencedFrameConfig/contentWidth}} IDL attribute getter steps are to return [=this=]'s - [=fencedframeconfig/contentWidth=]. -
- -
- The {{FencedFrameConfig/contentHeight}} IDL attribute getter steps are to return [=this=]'s - [=fencedframeconfig/contentHeight=]. -
-
The setSharedStorageContext(|contextString|) method steps are to set [=this=]'s [=fencedframeconfig/sharedStorageContext=] to |contextString|. @@ -1394,20 +1355,6 @@ Note: A config's [=fencedframeconfig/url=] is only null if a [=fencedframeconfig 1. Set |serialized|.\[[SharedStorageContext]] to |value|'s [=fencedframeconfig/ sharedStorageContext=]. - - 1. Set |serialized|.\[[ContainerWidth]] to |value|'s [=fencedframeconfig/ - containerWidth=]. - - 1. Set |serialized|.\[[ContainerHeight]] to |value|'s [=fencedframeconfig/ - containerHeight=]. - - 1. Set |serialized|.\[[ContentWidth]] to |value|'s [=fencedframeconfig/ - contentWidth=]. - - 1. Set |serialized|.\[[ContentHeight]] to |value|'s [=fencedframeconfig/ - contentHeight=]. - -
@@ -1420,15 +1367,6 @@ Note: A config's [=fencedframeconfig/url=] is only null if a [=fencedframeconfig 1. Initialize |value|'s [=fencedframeconfig/sharedStorageContext=] to |serialized|.\[[SharedStorageContext]]. - - 1. Initialize |value|'s [=fencedframeconfig/containerWidth=] to |serialized|.\[[ContainerWidth]]. - - 1. Initialize |value|'s [=fencedframeconfig/containerHeight=] to - |serialized|.\[[ContainerHeight]]. - - 1. Initialize |value|'s [=fencedframeconfig/contentWidth=] to |serialized|.\[[ContentWidth]]. - - 1. Initialize |value|'s [=fencedframeconfig/contentHeight=] to |serialized|.\[[ContentHeight]].
Note: To help with ease of adoption, @@ -1809,26 +1747,6 @@ Several APIs specific to fenced frames are defined on the {{Fence}} interface. : [=fencedframeconfig/sharedStorageContext=] :: |config|'s [=fenced frame config/embedder shared storage context=] - : [=fencedframeconfig/containerWidth=] - :: null if |config|'s [=fenced frame config/container size=] is null, otherwise |config|'s - [=fenced frame config/container size=]'s [=size/width=] - - : [=fencedframeconfig/containerHeight=] - :: null if |config|'s [=fenced frame config/container size=] is null, otherwise |config|'s - [=fenced frame config/container size=]'s [=size/height=] - - : [=fencedframeconfig/contentWidth=] - :: null if |config|'s [=fenced frame config/content size=] is null, the `"opaque"` - {{OpaqueProperty}} if |config|'s [=fenced frame config/content size=]'s [=content - size/visibility=] is [=visibility/opaque=], otherwise |config|'s [=fenced frame - config/content size=]'s [=size/width=] - - : [=fencedframeconfig/contentHeight=] - :: null if |config|'s [=fenced frame config/content size=] is null, the `"opaque"` - {{OpaqueProperty}} if |config|'s [=fenced frame config/content size=]'s [=content - size/visibility=] is [=visibility/opaque=], otherwise |config|'s [=fenced frame - config/content size=]'s [=size/height=] - 1. [=list/Append=] |newConfig| to |results|. 1. Return |results|. From 7a51c0ebf7ca42d2c28126f907252301daed2519 Mon Sep 17 00:00:00 2001 From: Andrew Verge Date: Thu, 29 Aug 2024 13:37:32 -0400 Subject: [PATCH 2/2] Remove unused typedefs --- spec.bs | 3 --- 1 file changed, 3 deletions(-) diff --git a/spec.bs b/spec.bs index 1b260ff..72ff290 100644 --- a/spec.bs +++ b/spec.bs @@ -1309,9 +1309,6 @@ maps to an internal [=fenced frame config=] [=struct=].
   enum OpaqueProperty {"opaque"};
 
-  typedef (unsigned long or OpaqueProperty) FencedFrameConfigSize;
-  typedef USVString FencedFrameConfigURL;
-
   [Exposed=Window, Serializable]
   interface FencedFrameConfig {
     constructor(USVString url);