- From: Anne van Kesteren <notifications@github.com>
- Date: Tue, 22 Nov 2016 02:05:06 -0800
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Message-ID: <w3c/ServiceWorker/pull/1010/review/9627777@github.com>
annevk requested changes on this pull request. > @@ -168,7 +168,7 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 <p>A <a href="#dfn-service-worker">service worker</a> has an associated <dfn id="dfn-type">type</dfn> which is either "<code>classic</code>" or "<code>module</code>". Unless stated otherwise, it is "<code>classic</code>".</p> <p>A <a href="#dfn-service-worker">service worker</a> has an associated <dfn id="dfn-containing-service-worker-registration">containing service worker registration</dfn> (a <a href="#dfn-service-worker-registration">service worker registration</a>), which contains itself.</p> <p>A <a href="#dfn-service-worker">service worker</a> has an associated <dfn id="dfn-service-worker-id">id</dfn> (an opaque string), which uniquely identifies itself during the lifetime of its <a href="#dfn-containing-service-worker-registration">containing service worker registration</a>.</p> - <p>A <a href="#dfn-service-worker">service worker</a> is dispatched a set of <dfn id="dfn-lifecycle-events">lifecycle events</dfn>, <a href="#service-worker-global-scope-install-event">install</a> and <a href="#service-worker-global-scope-activate-event">activate</a>, and <dfn id="dfn-functional-events">functional events</dfn> including <a href="#service-worker-global-scope-fetch-event">fetch</a>.</p> + <p>A <a href="#dfn-service-worker">service worker</a> is dispatched a set of <dfn id="dfn-lifecycle-events">lifecycle events</dfn>, <a href="#service-worker-global-scope-install-event">install</a> and <a href="#service-worker-global-scope-activate-event">activate</a>, and <dfn id="dfn-functional-events" for="">functional events</dfn> including <a href="#service-worker-global-scope-fetch-event">fetch</a>.</p> This should not need `for=""`. > @@ -168,7 +168,7 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 <p>A <a href="#dfn-service-worker">service worker</a> has an associated <dfn id="dfn-type">type</dfn> which is either "<code>classic</code>" or "<code>module</code>". Unless stated otherwise, it is "<code>classic</code>".</p> <p>A <a href="#dfn-service-worker">service worker</a> has an associated <dfn id="dfn-containing-service-worker-registration">containing service worker registration</dfn> (a <a href="#dfn-service-worker-registration">service worker registration</a>), which contains itself.</p> <p>A <a href="#dfn-service-worker">service worker</a> has an associated <dfn id="dfn-service-worker-id">id</dfn> (an opaque string), which uniquely identifies itself during the lifetime of its <a href="#dfn-containing-service-worker-registration">containing service worker registration</a>.</p> - <p>A <a href="#dfn-service-worker">service worker</a> is dispatched a set of <dfn id="dfn-lifecycle-events">lifecycle events</dfn>, <a href="#service-worker-global-scope-install-event">install</a> and <a href="#service-worker-global-scope-activate-event">activate</a>, and <dfn id="dfn-functional-events">functional events</dfn> including <a href="#service-worker-global-scope-fetch-event">fetch</a>.</p> + <p>A <a href="#dfn-service-worker">service worker</a> is dispatched a set of <dfn id="dfn-lifecycle-events">lifecycle events</dfn>, <a href="#service-worker-global-scope-install-event">install</a> and <a href="#service-worker-global-scope-activate-event">activate</a>, and <dfn id="dfn-functional-events" for="">functional events</dfn> including <a href="#service-worker-global-scope-fetch-event">fetch</a>.</p> You should also try to migrate away from relying on `href="#..."` and instead use the linking mechanism of Bikeshed that does not require `href` but uses `lt` (or just the contents). > @@ -3173,8 +3158,10 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 <li>Invoke <a href="#run-service-worker-algorithm">Run Service Worker</a> algorithm with <var>installingWorker</var> as the argument.</li> <li><a>Queue a task</a> <var>task</var> to run the following substeps: <ol> - <li>Create a trusted event <var>e</var> that uses the {{InstallEvent}} interface, with the event type <code><a href="#service-worker-global-scope-install-event">install</a></code>, which does not bubble and is not cancelable.</li> + <li><a>Create an event</a> <var>e</var> with the {{InstallEvent}} interface.</li> I think this phrasing is a bit confusing. "Let _e_ be the result of ..." would be clearer. > @@ -3173,8 +3158,10 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 <li>Invoke <a href="#run-service-worker-algorithm">Run Service Worker</a> algorithm with <var>installingWorker</var> as the argument.</li> <li><a>Queue a task</a> <var>task</var> to run the following substeps: <ol> - <li>Create a trusted event <var>e</var> that uses the {{InstallEvent}} interface, with the event type <code><a href="#service-worker-global-scope-install-event">install</a></code>, which does not bubble and is not cancelable.</li> + <li><a>Create an event</a> <var>e</var> with the {{InstallEvent}} interface.</li> + <li>Initialize <var>e</var>’s {{Event/type}} attribute to "<code>install</code>".</li> <li><a>Dispatch</a> <var>e</var> at <var>installingWorker</var>'s <a>environment settings object</a>'s <a for="environment settings object">global object</a> <var>globalObject</var>.</li> Shouldn't this be "relevant global object" rather than "environment settings object's global object"? > @@ -3359,6 +3348,31 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 </ol> </section> + <section algorithm="extend-service-worker-lifetime-algorithm"> + <h3 id="extend-service-worker-lifetime-algorithm" dfn>Extend Service Worker Lifetime</h3> + + <dl> + <dt>Input</dt> + <dd><var>event</var>, an {{ExtendableEvent}} object</dd> + <dt>Output</dt> + <dd>None</dd> + </dl> + <ol> + <li>If <var>event</var>'s <a>extend lifetime promises</a> is empty, unset <var>event</var>'s <a>extensions allowed flag</a> and abort these steps.</li> + <li>Let <var>extendLifetimePromises</var> be an empty array.</li> + <li>Run the following substeps <a>in parallel</a>: + <ol> + <li><em>SetupPromiseArray</em>: Set <var>extendLifetimePromises</var> to a copy of <var>event</var>'s <a>extend lifetime promises</a>.</li> I thought we had a better way of doing this? Just letting the promises decrease a counter. > @@ -3426,13 +3440,16 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 <li>Invoke <a href="#run-service-worker-algorithm">Run Service Worker</a> algorithm with <var>activeWorker</var> as the argument.</li> <li><a>Queue a task</a> <var>task</var> to run the following substeps: <ol> - <li>Create a trusted event <var>e</var> that uses the {{FetchEvent}} interface, with the event type <code><a href="#service-worker-global-scope-fetch-event">fetch</a></code>, which does not bubble.</li> - <li>Let the {{FetchEvent/request}} attribute of <var>e</var> be initialized to <var>r</var>.</li> + <li><a>Create an event</a> <var>e</var> with the {{FetchEvent}} interface.</li> + <li>Initialize <var>e</var>’s {{Event/type}} attribute to "<code>fetch</code>".</li> + <li>Initialize <var>e</var>’s {{Event/cancelable}} attribute to true.</li> Why do you make it cancelable? That seems like a change. You're not handling the return value of the dispatch algorithm though, so how does it matter? > @@ -3509,10 +3526,13 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 <li>Invoke [[#run-service-worker-algorithm]] algorithm with <var>activeWorker</var> as the argument.</li> <li><a>Queue a task</a> <var>task</var> to run the following substeps: <ol> - <li>Create a trusted event <var>e</var> that uses the {{ForeignFetchEvent}} interface, with the event type <code><a href="#service-worker-global-scope-foreignfetch-event">foreignfetch</a></code>, which does not bubble.</li> - <li>Let the {{ForeignFetchEvent/request}} attribute of <var>e</var> be initialized to <var>r</var>.</li> - <li>Let the {{ForeignFetchEvent/origin}} attribute of <var>e</var> be initialized to the <a lt="Unicode serialization of an origin">Unicode serialization</a> of <var>request</var>'s <a for=request>origin</a>.</li> + <li><a>Create an event</a> <var>e</var> with the {{ForeignFetchEvent}} interface.</li> + <li>Initialize <var>e</var>’s {{Event/type}} attribute to "<code>foreignfetch</code>".</li> + <li>Initialize <var>e</var>’s {{Event/cancelable}} attribute to true.</li> Same here. > @@ -3582,8 +3602,9 @@ spec: rfc7231; urlPrefix: https://tools.ietf.org/html/rfc7231 <ol> <li><a>Assert</a>: a <a>Record</a> with the \[[value]] equals to <var>registration</var> is contained in <a href="#dfn-scope-to-registration-map">scope to registration map</a>.</li> <li><a>Assert</a>: <var>registration</var>'s <a href="#dfn-active-worker">active worker</a> is not null.</li> + <li>Let <var>event</var> be the <a for="/">functional event</a> for which this algorithm was invoked.</li> Shouldn't this be passed in as variable? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/ServiceWorker/pull/1010#pullrequestreview-9627777
Received on Tuesday, 22 November 2016 10:05:38 UTC