Skip to content

Commit 0efa16f

Browse files
authored
Update media resource fetch to identify top-level self-fetch for blob URLs
Updates the resource fetch algorithm to calculate when a top-level self-fetch might be occurring for blob URLs, which is a case where blob URL partitioning would be bypassed. See w3c/FileAPI#210 for details. Corresponding PRs: - whatwg/fetch#1879 - w3c/FileAPI#216
1 parent f19930f commit 0efa16f

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

source

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38207,10 +38207,41 @@ interface <dfn interface>MediaError</dfn> {
3820738207
<p>Otherwise:</p>
3820838208

3820938209
<ol>
38210+
<li><p>Let <var>isTopLevelSelfFetch</var> be false.</p></li>
38211+
38212+
<li><p>Let <var>settingsObject</var> be <span>media element</span>'s
38213+
<span>node document</span>'s <span>relevant settings object</span>.</p></li>
38214+
38215+
<li><p>Let <var>global</var> be the <span>media element</span>'s
38216+
<span>node document</span>'s <span>relevant global object</span>.</p></li>
38217+
38218+
<li>
38219+
<p>If all of the following conditions are true:</p>
38220+
38221+
<ul>
38222+
<li><p><var>global</var> is a <code>Window</code> object;</p></li>
38223+
38224+
<li><p><var>global</var>'s <span data-x="window navigable">navigable</span> is not
38225+
null;</p></li>
38226+
38227+
<li><p><var>global</var>'s <span data-x="window navigable">navigable</span>'s <span
38228+
data-x="nav-parent">parent</span> is null; and</p></li>
38229+
38230+
<li><p><var>settingsObject</var>'s <span
38231+
data-x="concept-environment-creation-url">creation URL</span> <span
38232+
data-x="concept-url-equals">equals</span> <span>URL record</span>,</p></li>
38233+
</ul>
38234+
38235+
<p>then set <var>isTopLevelSelfFetch</var> to true.</p>
38236+
</li>
38237+
38238+
<li><p>Let <var>stringOrEnvironment</var> be "<code data-x="">top-level-self-fetch</code>" if
38239+
<var>isTopLevelSelfFetch</var> is true; otherwise <var>settingsObject</var>.</p></li>
38240+
3821038241
<li><p>Let <var>object</var> be the result of <span data-x="blob-url-obtain-object">obtaining
3821138242
a blob object</span> using the <span>URL record</span>'s <span
38212-
data-x="concept-url-blob-entry">blob URL entry</span> and the <span>media element</span>'s
38213-
<span>node document</span>'s <span>relevant settings object</span>.</p></li>
38243+
data-x="concept-url-blob-entry">blob URL entry</span> and
38244+
<var>stringOrEnvironment</var>.</p></li>
3821438245

3821538246
<li><p>If <var>object</var> is a <span>media provider object</span>, then set <var>mode</var>
3821638247
to <i>local</i>.</p></li>

0 commit comments

Comments
 (0)