Skip to content

Commit b9a7cf9

Browse files
committed
Remove the origin aliasing concept
Turns out effective script origins are shared, not aliased. Fixes #794.
1 parent 8047961 commit b9a7cf9

File tree

1 file changed

+50
-81
lines changed

1 file changed

+50
-81
lines changed

source

Lines changed: 50 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -75984,18 +75984,21 @@ dictionary <dfn>DragEventInit</dfn> : <span>MouseEventInit</span> {
7598475984
origin</span> of <var>document</var>:</p>
7598575985

7598675986
<ul>
75987-
<li><p>If the new <span>browsing context</span> has a <span>creator browsing context</span>,
75988-
then the <span>origin</span> of <var>document</var> is an <span
75989-
data-x="concept-origin-alias">alias</span> to the <span>origin</span> of the <span>creator
75990-
<code>Document</code></span> and the <span>effective script origin</span> of
75991-
<var>document</var> is initially an <span data-x="concept-origin-alias">alias</span> to the
75992-
<span>effective script origin</span> of the <span>creator
75993-
<code>Document</code></span>.</p></li>
75987+
<li>
75988+
<p>If the new <span>browsing context</span> has a <span>creator browsing context</span>,
75989+
then the <span>origin</span> of <var>document</var> is a copy of the <span>origin</span> of
75990+
the <span>creator <code>Document</code></span> and the <span>effective script origin</span> of
75991+
<var>document</var> is the <span>effective script origin</span> of the <span>creator
75992+
<code>Document</code></span>.</p>
75993+
75994+
<p class="note">The <span>effective script origin</span> is shared and not copied
75995+
purposefully.</p>
75996+
</li>
7599475997

7599575998
<li><p>Otherwise, the <span>origin</span> of <var>document</var> is a globally unique
7599675999
identifier assigned when the new <span>browsing context</span> is created and the
75997-
<span>effective script origin</span> of <var>document</var> is initially an <span
75998-
data-x="concept-origin-alias">alias</span> to its <span>origin</span>.</p></li>
76000+
<span>effective script origin</span> of <var>document</var> is a copy of its
76001+
<span>origin</span>.</p></li>
7599976002
</ul>
7600076003
</li>
7600176004

@@ -78123,23 +78126,13 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7812378126
connections, to ensure that if the site's secure certificate changes, the origin is considered to
7812478127
change as well.</p>
7812578128

78126-
78127-
<dt><dfn data-x="concept-origin-aliases">Aliases</dfn></dt>
78128-
78129-
<dd>
78130-
78131-
<p>A reference to another <span>origin</span> or <span>effective script origin</span>.</p>
78132-
78133-
7813478129
</dl>
7813578130

78136-
<div w-nodev>
78131+
<p class="note">An <span>effective script origin</span> can be shared, e.g., among multiple
78132+
<code>Document</code> objects, and can be changed through the <code
78133+
data-x="dom-document-domain">document.domain</code> API.</p>
7813778134

78138-
<p>An <span>origin</span> or <span>effective script origin</span> can be defined as an <dfn
78139-
data-x="concept-origin-alias">alias</dfn> to another <span>origin</span> or <span>effective script
78140-
origin</span>. The value of the <span>origin</span> or <span>effective script origin</span> is
78141-
then the value of the <span>origin</span> or <span>effective script origin</span> to which it is
78142-
an alias.</p>
78135+
<div w-nodev>
7814378136

7814478137
<p>These characteristics are defined as follows:</p>
7814578138

@@ -78169,9 +78162,8 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7816978162
<p>The <span>origin</span> is a globally unique identifier assigned when the
7817078163
<code>Document</code> is created.</p>
7817178164

78172-
<p>The <span>effective script origin</span> is initially an <span
78173-
data-x="concept-origin-alias">alias</span> to the <span>origin</span> of the
78174-
<code>Document</code>.</p>
78165+
<p>The <span>effective script origin</span> is initially a copy of the <span>origin</span> of
78166+
the <code>Document</code>.</p>
7817578167

7817678168
</dd>
7817778169

@@ -78181,12 +78173,11 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7818178173

7818278174
<dd>
7818378175

78184-
<p>The <span>origin</span> is an <span data-x="concept-origin-alias">alias</span> to the
78185-
<span>origin</span> of <span>the <code>Document</code>'s address</span>.</p>
78176+
<p>The <span>origin</span> is a copy of the <span title="concept-url-origin">origin</span> of
78177+
<span>the <code>Document</code>'s address</span>.</p>
7818678178

78187-
<p>The <span>effective script origin</span> is initially an <span
78188-
data-x="concept-origin-alias">alias</span> to the <span>origin</span> of the
78189-
<code>Document</code>.</p>
78179+
<p>The <span>effective script origin</span> is initially a copy of the <span>origin</span> of
78180+
the <code>Document</code>.</p>
7819078181

7819178182
</dd>
7819278183

@@ -78197,15 +78188,14 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7819778188

7819878189
<dd>
7819978190

78200-
<p>The <span>origin</span> is an <span data-x="concept-origin-alias">alias</span> to the
78201-
<span>origin</span> specified by the <span>incumbent settings object</span> when the <span>navigate</span>
78202-
algorithm was invoked, or, if no <span data-x="concept-script">script</span> was involved, of
78203-
the <span>node document</span> of the element that initiated the <span
78204-
data-x="navigate">navigation</span> to that <span>URL</span>.</p>
78191+
<p>The <span>origin</span> is a copy of the <span>origin</span> specified by the
78192+
<span>incumbent settings object</span> when the <span>navigate</span> algorithm was invoked,
78193+
or, if no <span data-x="concept-script">script</span> was involved, of the <span>node
78194+
document</span> of the element that initiated the <span data-x="navigate">navigation</span> to
78195+
that <span>URL</span>.</p>
7820578196

78206-
<p>The <span>effective script origin</span> is initially an <span
78207-
data-x="concept-origin-alias">alias</span> to the <span>effective script origin</span> of that
78208-
same <span>environment settings object</span> or <code>Document</code>.</p>
78197+
<p>The <span>effective script origin</span> is the <span>effective script origin</span> of
78198+
that same <span>environment settings object</span> or <code>Document</code>.</p>
7820978199

7821078200
</dd>
7821178201

@@ -78226,13 +78216,12 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7822678216

7822778217
<dd>
7822878218

78229-
<p>The <span>origin</span> is an <span data-x="concept-origin-alias">alias</span> to the
78230-
<span>origin</span> of the <span>active document</span> of the <span>browsing context</span>
78231-
being navigated when the <span>navigate</span> algorithm was invoked.</p>
78219+
<p>The <span>origin</span> is a copy of the <span>origin</span> of the <span>active
78220+
document</span> of the <span>browsing context</span> being navigated when the
78221+
<span>navigate</span> algorithm was invoked.</p>
7823278222

78233-
<p>The <span>effective script origin</span> is initially an <span
78234-
data-x="concept-origin-alias">alias</span> to the <span>effective script origin</span> of that
78235-
same <code>Document</code>.</p>
78223+
<p>The <span>effective script origin</span> is the <span>effective script origin</span> of
78224+
that same <code>Document</code>.</p>
7823678225

7823778226
</dd>
7823878227

@@ -78242,13 +78231,11 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7824278231

7824378232
<dd>
7824478233

78245-
<p>The <span>origin</span> of the <code>Document</code> is an <span
78246-
data-x="concept-origin-alias">alias</span> to the <span>origin</span> of the
78247-
<code>Document</code>'s <span data-x="concept-document-bc">browsing context</span>'s
78234+
<p>The <span>origin</span> of the <code>Document</code> is a copy of the <span>origin</span>
78235+
of the <code>Document</code>'s <span data-x="concept-document-bc">browsing context</span>'s
7824878236
<span>browsing context container</span>'s <span>node document</span>.</p>
7824978237

78250-
<p>The <span>effective script origin</span> is initially an <span
78251-
data-x="concept-origin-alias">alias</span> to the <span>effective script origin</span> of the
78238+
<p>The <span>effective script origin</span> is the <span>effective script origin</span> of the
7825278239
<code>Document</code>'s <span data-x="concept-document-bc">browsing context</span>'s
7825378240
<span>browsing context container</span>'s <span>node document</span>.</p>
7825478241

@@ -78265,9 +78252,8 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7826578252
<p>The default behaviour as defined in the DOM standard applies. <ref spec=DOM>.</p>
7826678253

7826778254
<p class="note">The <span>origin</span> is a globally unique identifier assigned when the
78268-
<code>Document</code> is created, and the <span>effective script origin</span> is initially an
78269-
<span data-x="concept-origin-alias">alias</span> to the <span>origin</span> of the
78270-
<code>Document</code>.</p>
78255+
<code>Document</code> is created, and the <span>effective script origin</span> is a copy of
78256+
the <span>origin</span> of the <code>Document</code>.</p>
7827178257

7827278258
</dd>
7827378259

@@ -78294,11 +78280,8 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7829478280

7829578281
<dt>If the image data is <span>CORS-same-origin</span></dt>
7829678282

78297-
<dd>The <span>origin</span> is an <span data-x="concept-origin-alias">alias</span> to the
78298-
<span>origin</span> of the <code>img</code> element's <span>node document</span>.</dd>
78299-
78300-
<!-- all image loads go through the "potentially CORS-enabled fetch" algorithm so they're all
78301-
either CORS-cross-origin or CORS-same-origin if they succeed at all -->
78283+
<dd>The <span>origin</span> is a copy of the <span>origin</span> of the <code>img</code>
78284+
element's <span>node document</span>.</dd>
7830278285

7830378286
</dl>
7830478287

@@ -78321,8 +78304,8 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7832178304

7832278305
<dt>If the <span>media data</span> is <span>CORS-same-origin</span></dt>
7832378306

78324-
<dd>The <span>origin</span> is an <span data-x="concept-origin-alias">alias</span> to the
78325-
<span>origin</span> of the <span>media element</span>'s <span>node document</span>.</dd>
78307+
<dd>The <span>origin</span> is a copy of the <span>origin</span> of the <span>media
78308+
element</span>'s <span>node document</span>.</dd>
7832678309

7832778310
</dl>
7832878311

@@ -78336,16 +78319,14 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7833678319

7833778320
<dd>
7833878321

78339-
<p>The <span>origin</span> of a downloadable Web font is an <span
78340-
data-x="concept-origin-alias">alias</span> to the <span>origin</span> of the <span>absolute
78341-
URL</span> used to obtain the font (after any redirects). <ref spec=CSSFONTS>
78342-
<ref spec=CSSFONTLOAD></p> <!-- this means you can get data from a remote
78343-
site if you can make it redirect to your own site in some fashion controlled by the data you
78344-
want to read -->
78322+
<p>The <span>origin</span> of a downloadable Web font is a copy of the <span
78323+
title="concept-url-origin">origin</span> of the <span>absolute URL</span> used to obtain the
78324+
font (after any redirects). <ref spec=CSSFONTS> <ref spec=CSSFONTLOAD></p> <!-- this means you
78325+
can get data from a remote site if you can make it redirect to your own site in some fashion
78326+
controlled by the data you want to read -->
7834578327

78346-
<p>The <span>origin</span> of a locally installed system font is an <span
78347-
data-x="concept-origin-alias">alias</span> to the <span>origin</span> of the
78348-
<code>Document</code> in which that font is being used.</p>
78328+
<p>The <span>origin</span> of a locally installed system font is a copy of the
78329+
<span>origin</span> of the <code>Document</code> in which that font is being used.</p>
7834978330

7835078331
<p>Fonts do not have an <span>effective script origin</span>.</p>
7835178332

@@ -78357,14 +78338,6 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7835778338
a particular <span>URL</span>, <code>Document</code>, image, <span>media element</span>, or
7835878339
font.</p>
7835978340

78360-
<!-- e.g.:
78361-
78362-
<p>The <span>origin</span> of a <code>Document</code> object returned by the
78363-
<code>XMLHttpRequest</code> API is an <span data-x="concept-origin-alias">alias</span> to the
78364-
<span>XMLHttpRequest origin</span> of the <code>XMLHttpRequest</code> object.</p>
78365-
78366-
-->
78367-
7836878341
<hr>
7836978342

7837078343
<p>The <dfn>Unicode serialisation of an origin</dfn> is the string obtained by applying the
@@ -78541,10 +78514,6 @@ callback <dfn>FrameRequestCallback</dfn> = void (<span>DOMHighResTimeStamp</span
7854178514
<li><p>Set this <code>Document</code> object's <span data-x="the document's domain">domain</span>
7854278515
to <var>host</var>.</p></li>
7854378516

78544-
<li><p>If the <span>effective script origin</span> of this <code>Document</code> is an <span
78545-
data-x="concept-origin-alias">alias</span>, set it to the value of the <span>effective script
78546-
origin</span> (essentially de-aliasing the <span>effective script origin</span>).</p></li>
78547-
7854878517
<li><p>Set the host component of the <span>effective script origin</span> tuple of this
7854978518
<code>Document</code> to <var>host</var>.</p>
7855078519

0 commit comments

Comments
 (0)