<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.whatwg.org/index.php?action=history&amp;feed=atom&amp;title=Install-less_Service_Workers</id>
	<title>Install-less Service Workers - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.whatwg.org/index.php?action=history&amp;feed=atom&amp;title=Install-less_Service_Workers"/>
	<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Install-less_Service_Workers&amp;action=history"/>
	<updated>2026-04-23T22:11:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Install-less_Service_Workers&amp;diff=9963&amp;oldid=prev</id>
		<title>Ehsan at 22:30, 14 July 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Install-less_Service_Workers&amp;diff=9963&amp;oldid=prev"/>
		<updated>2015-07-14T22:30:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:30, 14 July 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a proposal for allowing usage of service workers without installing them.  This will be useful for APIs such as Push, and Background Sync.  FetchEvent will not be dispatched to such service workers.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a proposal for allowing usage of service workers without installing them.  This will be useful for APIs such as Push, and Background Sync.  FetchEvent will not be dispatched to such service workers&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.  The script source for these service workers wouldn&amp;#039;t be cached locally (except for perhaps in the HTTP cache as all other resources) so every time that the UA wants to spin up one of these, it needs to potentially load it from the network&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Changes to Service Workers ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Changes to Service Workers ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ehsan</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Install-less_Service_Workers&amp;diff=9962&amp;oldid=prev</id>
		<title>Ehsan: Created page with &quot;This is a proposal for allowing usage of service workers without installing them.  This will be useful for APIs such as Push, and Background Sync.  FetchEvent will not be disp...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Install-less_Service_Workers&amp;diff=9962&amp;oldid=prev"/>
		<updated>2015-07-14T18:01:11Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This is a proposal for allowing usage of service workers without installing them.  This will be useful for APIs such as Push, and Background Sync.  FetchEvent will not be disp...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is a proposal for allowing usage of service workers without installing them.  This will be useful for APIs such as Push, and Background Sync.  FetchEvent will not be dispatched to such service workers.&lt;br /&gt;
&lt;br /&gt;
== Changes to Service Workers ==&lt;br /&gt;
&lt;br /&gt;
The RegistrationOptions dictionary would need to be extended like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;dictionary RegistrationOptions {&lt;br /&gt;
  USVString scope;&lt;br /&gt;
  boolean install;&lt;br /&gt;
};&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#register-algorithm Register algorithm] would need to be modified around step 4.2 to treat install: false specially by not doing nothing when an existing worker has been installed for that scope (and maybe reusing it, that requires more thought) and skip running the [http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#update-algorithm Update algorithm].&lt;br /&gt;
&lt;br /&gt;
Furthermore, the current definition of [http://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#dfn-service-worker-registration registrations] heavily depends on the workers being installed, and we would need to perhaps have a parallel list of workers that have been registered in this new mode.  We need to figure out how to treat the intersection of these two sets.&lt;br /&gt;
&lt;br /&gt;
We can probably expose a new readonly boolean attribute on ServiceWorkerRegistration like installed to be able to return a ServiceWorkerRegistration object from register() for the install: false case that will have slightly different semantics (such as never having an installing and waiting worker, its update() method not doing anything, else) but this will have the nice property that the [https://w3c.github.io/push-api/#extensions-to-the-serviceworkerregistration-interface Push API hooks] and the similar can work with both types of workers.&lt;/div&gt;</summary>
		<author><name>Ehsan</name></author>
	</entry>
</feed>