From 7e25772348696b2200162a88763167fab37554f5 Mon Sep 17 00:00:00 2001 From: Dominic Farolino Date: Tue, 26 Apr 2022 16:06:25 -0400 Subject: [PATCH 1/2] Spec basics + github workflows --- .github/workflows/build.yml | 22 +++++ .gitignore | 2 + LICENSE.md | 5 ++ LICENSE.md/LICENSE.md | 1 - Makefile | 30 +++++++ spec.bs | 167 ++++++++++++++++++++++++++++++++++++ w3c.json | 5 ++ 7 files changed, 231 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/build.yml create mode 100644 .gitignore create mode 100644 LICENSE.md delete mode 100644 LICENSE.md/LICENSE.md create mode 100644 Makefile create mode 100644 spec.bs create mode 100644 w3c.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..9a665df4 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,22 @@ +name: Build +on: + pull_request: + branches: + - main + push: + branches: + - main +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Build + run: make ci + - name: Deploy + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./out diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e13f1ced --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +spec.html +out diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..30c171ff --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,5 @@ +All Reports in this Repository are licensed by Contributors under the [W3C Software and Document License](http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document). + +Contributions to Specifications are made under the [W3C CLA](https://www.w3.org/community/about/agreements/cla/). + +Contributions to Test Suites are made under the [W3C 3-clause BSD License](https://www.w3.org/Consortium/Legal/2008/03-bsd-license.html). diff --git a/LICENSE.md/LICENSE.md b/LICENSE.md/LICENSE.md deleted file mode 100644 index 8b9a4142..00000000 --- a/LICENSE.md/LICENSE.md +++ /dev/null @@ -1 +0,0 @@ -Copyright 2019 Google LLC. SPDX-License-Identifier: Apache-2.0 diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..ceb7a537 --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +SHELL=/bin/bash + +local: spec.bs + bikeshed --die-on=warning spec spec.bs spec.html + +watch: spec.bs + bikeshed watch --die-on=warning spec.bs spec.html + +spec.html: spec.bs + @ (HTTP_STATUS=$$(curl https://api.csswg.org/bikeshed/ \ + --output spec.html \ + --write-out "%{http_code}" \ + --header "Accept: text/plain, text/html" \ + -F die-on=warning \ + -F file=@spec.bs) && \ + [[ "$$HTTP_STATUS" -eq "200" ]]) || ( \ + echo ""; cat spec.html; echo ""; \ + rm -f spec.html; \ + exit 22 \ + ); + +remote: spec.html + +ci: spec.bs + mkdir -p out + make remote + mv spec.html out/index.html + +clean: + rm spec.html diff --git a/spec.bs b/spec.bs new file mode 100644 index 00000000..c63c14bf --- /dev/null +++ b/spec.bs @@ -0,0 +1,167 @@ +
+Title: Fenced frame
+Shortname: fenced-frame
+Repository: WICG/fenced-frame
+Inline Github Issues: true
+Group: WICG
+Status: CG-DRAFT
+Level: 1
+URL: https://wicg.github.io/fenced-frame/
+Boilerplate: omit conformance, omit feedback-header
+Editor: Dominic Farolino, Google https://www.google.com/, domfarolino@gmail.com, https://domfarolino.com
+Abstract: The fenced frame enforces a boundary between the embedding page and the cross-site embedded document such that user data visible to the two sites is not able to be joined together.
+!Participate: GitHub WICG/fenced-frame (new issue, open issues)
+!Commits: GitHub spec.bs commits
+Complain About: accidental-2119 yes, missing-example-ids yes
+Indent: 2
+Default Biblio Status: current
+Markup Shorthands: markdown yes
+Assume Explicit For: yes
+
+ + +
+spec: html; urlPrefix: https://html.spec.whatwg.org/multipage/
+  type: dfn
+    text: categories; url: dom.html#concept-element-categories
+    text: contexts in which this element can be used; url: dom.html#concept-element-contexts
+    text: embedded content; url: dom.html#embedded-content-category
+    text: content model; url: dom.html#concept-element-content-model
+    text: nothing; url: dom.html#concept-content-nothing
+    text: content attributes; url: dom.html#concept-element-attributes
+    text: global attributes; url: dom.html#global-attributes
+    text: dom interface; url: dom.html#concept-element-dom
+    text: accessibility considerations; url: dom.html#concept-element-accessibility-considerations
+    text: reflect; url: common-dom-interfaces.html#reflect
+    text: width; url: embedded-content-other.html#attr-dim-width
+    text: height; url: embedded-content-other.html#attr-dim-height
+
+ + + + + +

The fencedframe element

+ +
+
[=Categories=]:
+
[=Flow content=].
+
[=Phrasing content=].
+
[=Embedded content=].
+
[=Interactive content=].
+
[=Palpable content=].
+
[=Contexts in which this element can be used=]:
+
Where [=embedded content=] is expected.
+
[=Content model=]:
+
[=Nothing=].
+
[=Content attributes=]:
+
[=Global attributes=]
+
<{fencedframe/src}> — Address of the resource
+
[=width=] — Horizontal dimension
+
[=height=] — Vertical dimension
+
[=Accessibility considerations=]:
+

TODO

+
[=DOM interface=]:
+ +[Exposed=Window] +interface HTMLFencedFrameElement : HTMLElement { + [HTMLConstructor] constructor(); + + [CEReactions] attribute USVString src; + [CEReactions] attribute DOMString width; + [CEReactions] attribute DOMString height; +}; + +
+
+ +The <{fencedframe}> element represents a TODO: Wire up the browsing context "mode" that is being worked on in WICG/nav-speculation so we can have something like a nested top-level browsing context. + +The src attribute TODO. + +The {{HTMLFencedFrameElement/src}} IDL attribute must [=reflect=] the respective content attribute of the same name. + +

Dimension attributes

+ +This section details monkeypatches to [[!HTML]]'s Dimension attributes section. This section will be updated to include <{fencedframe}> in the list of elements that the [=width=] and [=height=] dimension attributes apply to. diff --git a/w3c.json b/w3c.json new file mode 100644 index 00000000..cd166e91 --- /dev/null +++ b/w3c.json @@ -0,0 +1,5 @@ +{ + "group": [80485], + "contacts": ["yoavweiss"], + "repo-type": "cg-report" +} From 2e1c00cc688bc8b86c9b8d5b4815aadc872b5168 Mon Sep 17 00:00:00 2001 From: Dominic Farolino Date: Tue, 26 Apr 2022 16:15:51 -0400 Subject: [PATCH 2/2] Add link to spec from README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e8f3acb8..9afd174e 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ This is the repository for Fenced Frames. +See the [draft specification](https://wicg.github.io/fenced-frame). + The explainer is organized as follows: * What is a fenced frame: the concept, HTML element, security and privacy considerations