@@ -105160,23 +105160,51 @@ interface <dfn interface>SharedWorker</dfn> : <span>EventTarget</span> {
105160105160 <li><p>Let <var>callerIsSecureContext</var> be true if <var>outside settings</var> is a
105161105161 <span>secure context</span>; otherwise, false.</p></li>
105162105162
105163+ <li><p>Let <var>outside storage key</var> be the result of running <span>obtain a storage key
105164+ for non-storage purposes</span> given <var>outside settings</var>.</p></li>
105165+
105163105166 <li>
105164105167 <p><span>Enqueue the following steps</span> to the <span>shared worker manager</span>:</p>
105165105168
105166105169 <ol>
105167105170 <li><p>Let <var>worker global scope</var> be null.</p></li>
105168105171
105169105172 <li>
105170- <p>If there exists a <code>SharedWorkerGlobalScope</code> object whose <span
105171- data-x="dom-WorkerGlobalScope-closing">closing</span> flag is false, <span
105172- data-x="concept-SharedWorkerGlobalScope-constructor-origin">constructor origin</span> is
105173- <span>same origin</span> with <var>outside settings</var>'s <span
105174- data-x="concept-settings-object-origin">origin</span>, <span
105175- data-x="concept-SharedWorkerGlobalScope-constructor-url">constructor url</span> <span
105176- data-x="concept-url-equals">equals</span> <var>urlRecord</var>, and <span
105177- data-x="concept-WorkerGlobalScope-name">name</span> equals the value of <var>options</var>'s
105178- <code data-x="">name</code> member, then set <var>worker global scope</var> to that
105179- <code>SharedWorkerGlobalScope</code> object.</p>
105173+ <p><span data-x="list iterate">For each</span> <var>scope</var> in the list of all
105174+ <code>SharedWorkerGlobalScope</code> objects:</p>
105175+
105176+ <ol>
105177+ <li><p>Let <var>worker storage key</var> be the result of running <span>obtain a storage
105178+ key for non-storage purposes</span> given <var>scope</var>'s <span>relevant settings
105179+ object</span>.</p></li>
105180+
105181+ <li>
105182+ <p>If all of the following conditions are true:</p>
105183+
105184+ <ul class="brief">
105185+ <li><var>worker storage key</var> <span data-x="storage key equal">equals</span>
105186+ <var>outside storage key</var>;</li>
105187+
105188+ <li><var>scope</var>'s <span data-x="dom-WorkerGlobalScope-closing">closing</span> flag
105189+ is false;</li>
105190+
105191+ <li><var>scope</var>'s <span data-x="concept-SharedWorkerGlobalScope-constructor-url">
105192+ constructor url</span> <span data-x="concept-url-equals">equals</span>
105193+ <var>urlRecord</var>; and</li>
105194+
105195+ <li><var>scope</var>'s <span data-x="concept-WorkerGlobalScope-name">name</span> equals
105196+ the value of <var>option</var>'s <code data-x="">name</code> member</li>
105197+ </ul>
105198+
105199+ <p>then:</p>
105200+
105201+ <ol>
105202+ <li><p>Set <var>worker global scope</var> to <var>scope</var>.</p></li>
105203+
105204+ <li><p><span>Break</span>.</p></li>
105205+ </ol>
105206+ </li>
105207+ </ol>
105180105208
105181105209 <p class="note"><code data-x="data protocol">data:</code> URLs create a worker with an <span
105182105210 data-x="concept-origin-opaque">opaque origin</span>. Both the <span
0 commit comments