Skip to content

Commit 1bc6ac4

Browse files
committed
Fix references to html after navigation and session history rewrite
1 parent 3aeebb3 commit 1bc6ac4

File tree

1 file changed

+39
-39
lines changed

1 file changed

+39
-39
lines changed

index.bs

+39-39
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ At Risk: The [[#is-element-nonceable]] algorithm.
2525
spec:dom; type:interface; text:Document
2626
spec:html
2727
type: dfn
28-
text: plugin document
2928
text: fallback base url
3029
text: duplicate-attribute
30+
text: plugin
3131
type: element
3232
text: a
3333
text: link
@@ -123,11 +123,12 @@ spec: HTML; urlPrefix: https://html.spec.whatwg.org/
123123
for: script
124124
text: "parser-inserted"
125125
text: origin; url: concept-origin
126-
text: browsing context; url: browsing-context
127126
text: content security policy state; url: attr-meta-http-equiv-content-security-policy
128127
text: create and initialize a new document object; url: initialise-the-document-object
129128
text: initializing a new Document object; url: initialise-the-document-object
130129
text: prepare the script element; url: prepare-the-script-element
130+
text: container document; for: navigable; url: nav-container-document
131+
text: CSP-derived sandboxing flags; url: csp-derived-sandboxing-flags
131132

132133
spec: INFRA; urlPrefix: https://infra.spec.whatwg.org/
133134
type: grammar
@@ -625,7 +626,7 @@ spec: WebRTC; urlPrefix: https://www.w3.org/TR/webrtc/
625626

626627
6. A <dfn for="directive" export>navigation response check</dfn>, which takes a
627628
<a for="/">request</a>, a navigation type string ("`form-submission`" or "`other`"),
628-
a <a>response</a>, a <a>browsing context</a>, a check type string ("`source`"
629+
a <a>response</a>, a <a>navigable</a>, a check type string ("`source`"
629630
or "`response`"), and a <a for="/">policy</a> as arguments, and is executed during
630631
[[#should-block-navigation-response]]. It returns "`Allowed`" unless otherwise specified.
631632

@@ -1145,15 +1146,17 @@ spec: WebRTC; urlPrefix: https://www.w3.org/TR/webrtc/
11451146
base URL</a> algorithm to ensure that the <{base/href}> attribute's value
11461147
is valid.
11471148

1148-
10. [[#should-block-navigation-request]] is called during the <a>process a
1149-
navigate fetch</a> algorithm, and [[#should-block-navigation-response]]
1150-
is called during the <a>process a navigate response</a> algorithm to
1151-
apply directive's navigation checks, as well as inline checks for
1149+
10. [[#should-block-navigation-request]] is called during the <a spec=html>create
1150+
navigation params by fetching</a> algorithm, and [[#should-block-navigation-response]]
1151+
is called during the <a spec=html>attempt to populate the history entry's document</a>
1152+
algorithm to apply directive's navigation checks, as well as inline checks for
11521153
navigations to `javascript:` URLs.
11531154

11541155
11. [[#run-global-object-csp-initialization]] is called during the <a>run a worker</a>
11551156
algorithm.
11561157

1158+
12. The <a>sandbox</a> directive is used to populate the <a>CSP-derived sandboxing flags</a>.
1159+
11571160
<h4 id="run-document-csp-initialization" algorithm dfn export>
11581161
Run `CSP` initialization for a `Document`
11591162
</h4>
@@ -1310,7 +1313,7 @@ spec: WebRTC; urlPrefix: https://www.w3.org/TR/webrtc/
13101313

13111314
Given a <a for="/">request</a> (|navigation request|), a <a>response</a> |navigation
13121315
response|, a [=/CSP list=] |response CSP list|, a string (|type|, either
1313-
"`form-submission`" or "`other`"), and a <a>browsing context</a> |target|, this algorithm
1316+
"`form-submission`" or "`other`"), and a <a>navigable</a> |target|, this algorithm
13141317
returns "`Blocked`" if the active policy blocks the navigation, and "`Allowed`"
13151318
otherwise:
13161319

@@ -1947,8 +1950,8 @@ this algorithm returns normally if compilation is allowed, and throws a
19471950

19481951
<h4 id="directive-child-src">`child-src`</h4>
19491952

1950-
The <dfn export>`child-src`</dfn> directive governs the creation of <a>nested browsing
1951-
contexts</a> (e.g. <{iframe}> and <{frame}> navigations) and Worker execution
1953+
The <dfn export>`child-src`</dfn> directive governs the creation of <a>child
1954+
navigables</a> (e.g. <{iframe}> and <{frame}> navigations) and Worker execution
19521955
contexts. The syntax for the directive's name and value is described by the
19531956
following ABNF:
19541957

@@ -2339,7 +2342,7 @@ this algorithm returns normally if compilation is allowed, and throws a
23392342
<h4 id="directive-frame-src">`frame-src`</h4>
23402343

23412344
The <dfn export>frame-src</dfn> directive restricts the URLs which may be loaded into
2342-
<a>nested browsing contexts</a>. The syntax for the directive's name and value
2345+
<a>child navigables</a>. The syntax for the directive's name and value
23432346
is described by the following ABNF:
23442347

23452348
<pre>
@@ -2646,16 +2649,16 @@ this algorithm returns normally if compilation is allowed, and throws a
26462649

26472650
Note: The `object-src` directive acts upon any request made on behalf of
26482651
an <{object}> or <{embed}> element. This includes requests
2649-
which would populate the <a>nested browsing context</a> generated by the
2652+
which would populate the <a>child navigable</a> generated by the
26502653
former two (also including navigations). This is true even when the data is
26512654
semantically equivalent to content which would otherwise be restricted by
26522655
another directive, such as an <{object}> element with a `text/html` MIME
26532656
type.
26542657

2655-
Note: When a plugin resource is navigated to directly (that is, as a <a>plugin document</a> in the
2656-
<a>top-level browsing context</a> or a <a>nested browsing context</a>, and not as an embedded
2658+
Note: When a plugin resource is navigated to directly (that is, as a <a>plugin</a>
2659+
inside a <a>navigable</a>, and not as an embedded
26572660
subresource via <{embed}> or <{object}>), any <a for="/">policy</a> delivered along
2658-
with that resource will be applied to the <a>plugin document</a>. This means, for instance, that
2661+
with that resource will be applied to the resulting <a>document</a>. This means, for instance, that
26592662
developers can prevent the execution of arbitrary resources as plugin content by delivering the
26602663
policy `object-src 'none'` along with a response. Given plugins' power (and the
26612664
sometimes-interesting security model presented by Flash and others), this could mitigate the risk
@@ -3467,35 +3470,32 @@ this algorithm returns normally if compilation is allowed, and throws a
34673470
</h5>
34683471

34693472
This directive's <a for="directive">initialization</a> algorithm is
3470-
responsible for adjusting a {{Document}}'s <a>forced sandboxing flag set</a>
3471-
and for checking whether a worker is allowed to run according to the <a>`sandbox`</a>
3472-
values present in its policies as follows:
3473+
responsible for checking whether a worker is allowed to run according
3474+
to the <a>`sandbox`</a> values present in its policies as follows:
3475+
3476+
Note: The <a>sandbox</a> directive is also responsible for adjusting a
3477+
{{Document}}'s <a for=Document>active sandboxing flag set</a> via the
3478+
<a>CSP-derived sandboxing flags</a>.
34733479

34743480
Given a {{Document}} or <a for="/">global object</a> (|context|) and a <a for="/">policy</a>
34753481
(|policy|):
34763482

34773483
1. If |policy|'s <a for="policy">disposition</a> is not "`enforce`", or
3478-
|context| is a {{WorkletGlobalScope}}, then abort this algorithm.
3484+
|context| is not a {{WorkerGlobalScope}}, then abort this algorithm.
34793485

34803486
2. Let |sandboxing flag set| be a new [=/sandboxing flag set=].
34813487

34823488
3. <a>Parse a sandboxing directive</a> using this directive's <a
34833489
for="directive">value</a> as the input, and |sandboxing flag set| as the output.
34843490

3485-
4. If |context| is a {{WorkerGlobalScope}}:
3486-
3487-
1. If |sandboxing flag set| contains either the <a>sandboxed scripts browsing
3488-
context flag</a> or the <a>sandboxed origin browsing context flag</a> flags,
3489-
return "`Blocked`".
3491+
4. If |sandboxing flag set| contains either the <a>sandboxed scripts browsing context
3492+
flag</a> or the <a>sandboxed origin browsing context flag</a> flags,
3493+
return "`Blocked`".
34903494

3491-
Note: This will need to change if we allow Workers to be sandboxed into unique
3492-
origins, which seems like a pretty reasonable thing to do.
3495+
Note: This will need to change if we allow Workers to be sandboxed into unique
3496+
origins, which seems like a pretty reasonable thing to do.
34933497

3494-
5. If |context| is a {{Document}}:
3495-
3496-
1. Set |context|'s <a>forced sandboxing flag set</a> to |sandboxing flag set|.
3497-
3498-
6. Return "`Allowed`".
3498+
5. Return "`Allowed`".
34993499

35003500
<h3 id="directives-navigation">
35013501
Navigation Directives
@@ -3564,7 +3564,7 @@ this algorithm returns normally if compilation is allowed, and throws a
35643564

35653565
Given a <a for="/">request</a> (|request|), a string |navigation type|
35663566
("`form-submission`" or "`other`"), a
3567-
<a>response</a> (|navigation response|) a <a>browsing context</a> (|target|),
3567+
<a>response</a> (|navigation response|) a <a>navigable</a> (|target|),
35683568
a string |check type| ("`source`" or "`response`"), and a
35693569
<a for="/">policy</a> (|policy|) this algorithm returns "`Blocked`" if one or
35703570
more of the ancestors of |target| violate the `frame-ancestors` directive
@@ -3581,16 +3581,16 @@ this algorithm returns normally if compilation is allowed, and throws a
35813581
3. If |check type| is "`source`", return "`Allowed`".
35823582

35833583
Note: The 'frame-ancestors' <a>directive</a> is relevant only to the
3584-
|target| <a>browsing context</a> and it has no impact on the |request|'s
3584+
|target| <a>navigable</a> and it has no impact on the |request|'s
35853585
context.
35863586

3587-
4. If |target| is not a <a>nested browsing context</a>, return "`Allowed`".
3587+
4. If |target| is not a <a>child navigable</a>, return "`Allowed`".
35883588

35893589
5. Let |current| be |target|.
35903590

3591-
6. While |current| is a <a>nested browsing context</a>:
3591+
6. While |current| is a <a>child navigable</a>:
35923592

3593-
1. Let |document| be |current|'s [=browsing context/container document=].
3593+
1. Let |document| be |current|'s [=navigable/container document=].
35943594

35953595
2. Let |origin| be the result of executing the <a>URL parser</a> on the
35963596
<a lt="ASCII serialization of an origin">ASCII serialization</a>
@@ -3600,7 +3600,7 @@ this algorithm returns normally if compilation is allowed, and throws a
36003600
executed upon |origin|, this directive's <a for="directive">value</a>,
36013601
|policy|'s [=policy/self-origin=], and `0`, return "`Blocked`".
36023602

3603-
4. Set |current| to |document|'s <a>browsing context</a>.
3603+
4. Set |current| to |document|'s <a>navigable</a>.
36043604

36053605
7. Return "`Allowed`".
36063606
</ol>
@@ -4712,7 +4712,7 @@ this algorithm returns normally if compilation is allowed, and throws a
47124712
</h3>
47134713

47144714
Documents loaded from <a>local schemes</a> will inherit a copy of the
4715-
policies in the <a>source browsing context</a>. The goal is to ensure that a page can't
4715+
policies in the source document. The goal is to ensure that a page can't
47164716
bypass its policy by embedding a frame or opening a new window containing
47174717
content that is entirely under its control (`srcdoc` documents, `blob:` or `data:`
47184718
URLs, `about:blank` documents that can be manipulated via `document.write()`, etc).
@@ -4730,7 +4730,7 @@ this algorithm returns normally if compilation is allowed, and throws a
47304730
means that the new {{Document}}'s <a for="global object">CSP list</a> is a
47314731
snapshot of the relevant policies at its creation time. Modifications in the
47324732
<a for="global object">CSP list</a> of the new {{Document}} won't affect the
4733-
<a>source browsing context</a>'s <a for="global object">CSP list</a> or vice-versa.
4733+
source {{Document}}'s <a for="global object">CSP list</a> or vice-versa.
47344734

47354735
<div class="example">
47364736
In the example below the image inside the iframe will not load because it is

0 commit comments

Comments
 (0)