|
5 | 5 | <title>Service Workers Nightly</title>
|
6 | 6 | <meta content="ED" name="w3c-status">
|
7 | 7 | <link href="https://www.w3.org/StyleSheets/TR/2021/W3C-ED" rel="stylesheet">
|
8 |
| - <meta content="Bikeshed version 0781e88e0, updated Fri Feb 14 13:26:46 2025 -0800" name="generator"> |
| 8 | + <meta content="Bikeshed version 4b8aed3f7, updated Thu Mar 6 12:35:01 2025 -0800" name="generator"> |
9 | 9 | <link href="https://www.w3.org/TR/service-workers/" rel="canonical">
|
10 |
| - <meta content="1d795e230e50634deea8231a60b1b53f46a38dea" name="revision"> |
| 10 | + <meta content="0a617920cb4942d934f1a164d47bb071db992579" name="revision"> |
11 | 11 | <meta content="dark light" name="color-scheme">
|
12 | 12 | <link href="https://www.w3.org/StyleSheets/TR/2021/dark.css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css">
|
13 | 13 | <style>/* Boilerplate: style-autolinks */
|
|
962 | 962 | <div class="head">
|
963 | 963 | <p data-fill-with="logo"><a class="logo" href="https://www.w3.org/"> <img alt="W3C" height="48" src="https://www.w3.org/StyleSheets/TR/2021/logos/W3C" width="72"> </a> </p>
|
964 | 964 | <h1 class="p-name no-ref" id="title">Service Workers Nightly</h1>
|
965 |
| - <p id="w3c-state"><a href="https://www.w3.org/standards/types/#ED">Editor’s Draft</a>, <time class="dt-updated" datetime="2025-02-16">16 February 2025</time></p> |
| 965 | + <p id="w3c-state"><a href="https://www.w3.org/standards/types/#ED">Editor’s Draft</a>, <time class="dt-updated" datetime="2025-03-14">14 March 2025</time></p> |
966 | 966 | <details open>
|
967 | 967 | <summary>More details about this document</summary>
|
968 | 968 | <div data-fill-with="spec-metadata">
|
@@ -999,14 +999,14 @@ <h2 class="no-num no-toc no-ref heading settled" id="abstract"><span class="cont
|
999 | 999 | </div>
|
1000 | 1000 | <h2 class="no-num no-toc no-ref heading settled" id="sotd"><span class="content">Status of this document</span></h2>
|
1001 | 1001 | <div data-fill-with="status">
|
1002 |
| - <p> <em>This section describes the status of this document at the time of its publication. A list of current <abbr title="World Wide Web Consortium">W3C</abbr> publications and the latest revision of this technical report can be found in the <a href="https://www.w3.org/TR/"><abbr title="World Wide Web Consortium">W3C</abbr> technical reports index</a> at https://www.w3.org/TR/.</em> </p> |
1003 |
| - <p> This document was published by the <a href="https://www.w3.org/groups/wg/service-workers">Service Workers Working Group</a> as an Editors Draft. This document is intended to become a W3C Recommendation. </p> |
| 1002 | + <p> This document was published by the <a href="https://www.w3.org/groups/wg/webapps">Web Applications Working Group</a> as an Editor’s Draft. </p> |
| 1003 | + <p> Publication as an Editor’s Draft does not imply endorsement by <abbr title="World Wide Web Consortium">W3C</abbr> and its Members. </p> |
| 1004 | + <p> This is a draft document |
| 1005 | + and may be updated, replaced |
| 1006 | + or obsoleted by other documents at any time. |
| 1007 | + It is inappropriate to cite this document as other than work in progress. </p> |
1004 | 1008 | <p>This is a living document. Readers need to be aware that this specification may include unimplemented features, and details that may change. <a href="https://w3c.github.io/ServiceWorker/v1/">Service Workers 1</a> is a version that is advancing toward a W3C Recommendation.</p>
|
1005 |
| - <p> Feedback and comments on this specification are welcome, please send them to <a href="mailto: [email protected]?subject=%5Bservice-workers%5D"> [email protected]</a> (<a href="mailto: [email protected]?subject=subscribe">subscribe</a>, <a href="https://lists.w3.org/Archives/Public/public-webapps/">archives</a>) with <code>[service-workers]</code> at the start of your email’s subject. </p> |
1006 |
| - <p> Publication as an Editors Draft does not imply endorsement by <abbr title="World Wide Web Consortium">W3C</abbr> and its Members. This is a draft document and may |
1007 |
| - be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite |
1008 |
| - this document as other than work in progress. </p> |
1009 |
| - <p> This document was produced by a group operating under the <a href="https://www.w3.org/Consortium/Patent-Policy-20170801/"><abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="https://www.w3.org/2004/01/pp-impl/101220/status" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="https://www.w3.org/Consortium/Patent-Policy-20170801/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="https://www.w3.org/Consortium/Patent-Policy-20170801/#sec-Disclosure">section 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. </p> |
| 1009 | + <p>This document was produced by a group operating under the <a href="https://www.w3.org/policies/patent-policy/"><abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. <abbr title="World Wide Web Consortium">W3C</abbr> maintains a <a href="https://www.w3.org/groups/wg/webapps/ipr" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="https://www.w3.org/policies/patent-policy/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="https://www.w3.org/policies/patent-policy/#sec-Disclosure">section 6 of the <abbr title="World Wide Web Consortium">W3C</abbr> Patent Policy</a>. </p> |
1010 | 1010 | <p>This document is governed by the <a href="https://www.w3.org/policies/process/20231103/" id="w3c_process_revision">03 November 2023 W3C Process Document</a>. </p>
|
1011 | 1011 | </div>
|
1012 | 1012 | <div data-fill-with="at-risk"></div>
|
@@ -4644,7 +4644,7 @@ <h3 class="heading settled" id="update-algorithm"><span class="content"><dfn cla
|
4644 | 4644 | <li data-md>
|
4645 | 4645 | <p>Let <var>runResult</var> be the result of running the <a data-link-type="dfn" href="#run-service-worker" id="ref-for-run-service-worker③">Run Service Worker</a> algorithm with <var>worker</var> and <var>forceBypassCache</var>.</p>
|
4646 | 4646 | <li data-md>
|
4647 |
| - <p>If <var>runResult</var> is <em>failure</em> or an <a data-link-type="dfn" href="http://tc39.github.io/ecma262/#sec-completion-record-specification-type" id="ref-for-sec-completion-record-specification-type①">abrupt completion</a>, then:</p> |
| 4647 | + <p>If <var>runResult</var> is <em>failure</em> or an <a data-link-type="dfn" data-refhint-key="49ea2b41" href="http://tc39.github.io/ecma262/#sec-completion-record-specification-type" id="ref-for-sec-completion-record-specification-type①">abrupt completion</a>, then:</p> |
4648 | 4648 | <ol>
|
4649 | 4649 | <li data-md>
|
4650 | 4650 | <p>Invoke <a data-link-type="dfn" href="#reject-job-promise" id="ref-for-reject-job-promise⑨">Reject Job Promise</a> with <var>job</var> and <code>TypeError</code>.</p>
|
@@ -5143,7 +5143,7 @@ <h3 class="heading settled" id="all-fetch-listeners-are-empty-algorithm"><span c
|
5143 | 5143 | <p>If <a data-link-type="abstract-op" href="http://tc39.github.io/ecma262/#sec-iscallable" id="ref-for-sec-iscallable">IsCallable</a>(<var>callback</var>) is false, then return false.</p>
|
5144 | 5144 | <p class="note" role="note"><span class="marker">Note:</span> <a data-link-type="dfn" href="https://dom.spec.whatwg.org/#event-listener-callback" id="ref-for-event-listener-callback①">Callback</a> objects that use <code class="idl"><a data-link-type="idl" href="https://dom.spec.whatwg.org/#dom-eventlistener-handleevent" id="ref-for-dom-eventlistener-handleevent">handleEvent(event)</a></code> are assumed to be non-empty. This avoids calling the <code class="idl"><a data-link-type="idl" href="https://dom.spec.whatwg.org/#dom-eventlistener-handleevent" id="ref-for-dom-eventlistener-handleevent①">handleEvent(event)</a></code> getters, which could modify the event listeners during this check.</p>
|
5145 | 5145 | <li data-md>
|
5146 |
| - <p>If <var>callback</var>’s <a data-link-type="dfn" href="http://tc39.github.io/ecma262/#prod-FunctionBody" id="ref-for-prod-FunctionBody">function body</a> is not empty (i.e. either a <a data-link-type="dfn" href="http://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations" id="ref-for-sec-ecmascript-language-statements-and-declarations">statement</a> or <a data-link-type="dfn" href="http://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations" id="ref-for-sec-ecmascript-language-statements-and-declarations①">declaration</a> exist), then return false.</p> |
| 5146 | + <p>If <var>callback</var>’s <a data-link-type="dfn" href="http://tc39.github.io/ecma262/#prod-FunctionBody" id="ref-for-prod-FunctionBody">function body</a> is not empty (i.e. either a <a data-link-type="dfn" href="http://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations" id="ref-for-sec-ecmascript-language-statements-and-declarations">statement</a> or <a data-link-type="dfn" data-refhint-key="4bf6be53" href="http://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations" id="ref-for-sec-ecmascript-language-statements-and-declarations①">declaration</a> exist), then return false.</p> |
5147 | 5147 | </ol>
|
5148 | 5148 | <p class="note" role="note"><span class="marker">Note:</span> This detects "<code>fetch</code>" listeners like <code>() => {}</code>. Some sites have a fetch event listener with empty body to make them recognized by Chromium as a progressive web application (PWA).</p>
|
5149 | 5149 | <li data-md>
|
@@ -11599,6 +11599,8 @@ <h2 class="no-num no-ref heading settled" id="issues-index"><span class="content
|
11599 | 11599 | "#verify-router-condition": {"displayText":"verify router condition","export":true,"for_":[],"level":"","normative":true,"shortname":"service-workers","spec":"service-workers","status":"local","text":"verify router condition","type":"dfn","url":"#verify-router-condition"},
|
11600 | 11600 | "#windowclient": {"displayText":"WindowClient","export":true,"for_":[],"level":"","normative":true,"shortname":"service-workers","spec":"service-workers","status":"local","text":"WindowClient","type":"interface","url":"#windowclient"},
|
11601 | 11601 | "#windowclient-ancestor-origins-array": {"displayText":"ancestor origins array","export":true,"for_":["WindowClient"],"level":"","normative":true,"shortname":"service-workers","spec":"service-workers","status":"local","text":"ancestor origins array","type":"dfn","url":"#windowclient-ancestor-origins-array"},
|
| 11602 | +"49ea2b41_http://tc39.github.io/ecma262/#sec-completion-record-specification-type": {"displayText":"abrupt completion","export":true,"for_":[],"level":"262","normative":true,"shortname":"ecma","spec":"ecma-262","status":"anchor-block","text":"abrupt completion","type":"dfn","url":"http://tc39.github.io/ecma262/#sec-completion-record-specification-type"}, |
| 11603 | +"4bf6be53_http://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations": {"displayText":"declaration","export":true,"for_":[],"level":"262","normative":true,"shortname":"ecma","spec":"ecma-262","status":"anchor-block","text":"declaration","type":"dfn","url":"http://tc39.github.io/ecma262/#sec-ecmascript-language-statements-and-declarations"}, |
11602 | 11604 | "http://tc39.github.io/ecma262/#agent": {"displayText":"agent","export":true,"for_":[],"level":"262","normative":true,"shortname":"ecma","spec":"ecma-262","status":"anchor-block","text":"agent","type":"dfn","url":"http://tc39.github.io/ecma262/#agent"},
|
11603 | 11605 | "http://tc39.github.io/ecma262/#prod-FunctionBody": {"displayText":"function body","export":true,"for_":[],"level":"262","normative":true,"shortname":"ecma","spec":"ecma-262","status":"anchor-block","text":"function body","type":"dfn","url":"http://tc39.github.io/ecma262/#prod-FunctionBody"},
|
11604 | 11606 | "http://tc39.github.io/ecma262/#sec-abstract-module-records": {"displayText":"Module Record","export":true,"for_":[],"level":"262","normative":true,"shortname":"ecma","spec":"ecma-262","status":"anchor-block","text":"module record","type":"dfn","url":"http://tc39.github.io/ecma262/#sec-abstract-module-records"},
|
@@ -12053,7 +12055,12 @@ <h2 class="no-num no-ref heading settled" id="issues-index"><span class="content
|
12053 | 12055 | function showRefHint(link) {
|
12054 | 12056 | if(link.classList.contains("dfn-link")) return;
|
12055 | 12057 | const url = link.getAttribute("href");
|
12056 |
| - const ref = refsData[url]; |
| 12058 | + const refHintKey = link.getAttribute("data-refhint-key"); |
| 12059 | + let key = url; |
| 12060 | + if(refHintKey) { |
| 12061 | + key = refHintKey + "_" + url; |
| 12062 | + } |
| 12063 | + const ref = refsData[key]; |
12057 | 12064 | if(!ref) return;
|
12058 | 12065 |
|
12059 | 12066 | hideAllRefHints(); // Only display one at this time.
|
|
0 commit comments