<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jakearchibald</id>
	<title>WHATWG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jakearchibald"/>
	<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/wiki/Special:Contributions/Jakearchibald"/>
	<updated>2026-04-05T17:38:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=OffscreenCanvas&amp;diff=9888</id>
		<title>OffscreenCanvas</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=OffscreenCanvas&amp;diff=9888"/>
		<updated>2015-03-25T16:37:02Z</updated>

		<summary type="html">&lt;p&gt;Jakearchibald: Adding use case&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:&#039;&#039;Provides more control over how canvases are rendered. This is a follow-on to the [[WorkerCanvas]] proposal and will be merged once agreement is reached.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Use Case Description ==&lt;br /&gt;
&lt;br /&gt;
Feedback from web application authors using canvases have shown the need for the following controls:&lt;br /&gt;
&lt;br /&gt;
* (From ShaderToy, Sketchfab, Verold): need to be able to render to multiple regions on the page efficiently using a single canvas context. 3D model warehouse sites desire to show multiple live interactive models on the page, but creating multiple WebGL contexts per page is too inefficient. A single context should be able to render to multiple regions on the page.&lt;br /&gt;
* (From Google Maps): need to be able to render WebGL from a worker, transfer the rendered image to the main thread without making any copy of it, and composite it with other HTML on the page, guaranteeing that the updates are all seen in the same rendered frame.&lt;br /&gt;
* (From Mozilla and partners using Emscripten and asm.js): need to be able to render WebGL entirely asynchronously from a worker, displaying the results in a canvas owned by the main thread, without any synchronization with the main thread. In this mode, the entire application runs in the worker. The main thread only receives input events and sends them to the worker for processing.&lt;br /&gt;
* (From adopters of the Push API): need to be able to dynamically create images to use as notification icons, such as compositing avatars, or adding an unread count&lt;br /&gt;
&lt;br /&gt;
=== Current Limitations ===&lt;br /&gt;
&#039;&#039;Explanation of why the current markup is insufficient.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Current Usage and Workarounds ===&lt;br /&gt;
&#039;&#039;Some evidence that this feature is desperately needed on the web.  You may provide a separate examples page for listing these.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Benefits ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Explanation of how and why new markup would be useful.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Requests for this Feature ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;cite&amp;gt;[http://example.com Source]&amp;lt;/cite&amp;gt; &amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;I would like this feature ...&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Web IDL ==&lt;br /&gt;
&lt;br /&gt;
 [Constructor(unsigned long width, unsigned long height)]&lt;br /&gt;
 interface WorkerCanvas {&lt;br /&gt;
   attribute unsigned long width;&lt;br /&gt;
   attribute unsigned long height;&lt;br /&gt;
   RenderingContext? getContext(DOMString contextId, any... arguments); &lt;br /&gt;
   void toBlob(FileCallback? _callback, optional DOMString type, any... arguments);&lt;br /&gt;
   ImageBitmap transferToImageBitmap();&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 WorkerCanvas implements Transferable;&lt;br /&gt;
 ImageBitmap implements Transferable;&lt;br /&gt;
 &lt;br /&gt;
 partial interface HTMLCanvasElement {&lt;br /&gt;
   WorkerCanvas transferControlToWorker();&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 partial interface ImageBitmap {&lt;br /&gt;
   void transferToImage(HTMLImageElement image);&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
== Proposed Solutions ==&lt;br /&gt;
&lt;br /&gt;
=== My Solution ===&lt;br /&gt;
:&#039;&#039;Brief description of the solution and of how it address the problem at hand.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Processing Model ====&lt;br /&gt;
:&#039;&#039;Explanation of the changes introduced by this solution. It explains how the document is processed, and how errors are handled. This should be very clear, including things such as event timing if the solution involves events, how to create graphs representing the data in the case of semantic proposals, etc.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Limitations ==== &lt;br /&gt;
:&#039;&#039;Cases not covered by this solution in relation to the problem description; other problems with this solution, if any.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Implementation ==== &lt;br /&gt;
:&#039;&#039;Description of how and why browser vendors would take advantage of this feature.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Adoption ==== &lt;br /&gt;
:&#039;&#039;Reasons why page authors would use this solution.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Proposals]]&lt;/div&gt;</summary>
		<author><name>Jakearchibald</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=HTTP&amp;diff=9638</id>
		<title>HTTP</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=HTTP&amp;diff=9638"/>
		<updated>2014-07-15T14:59:31Z</updated>

		<summary type="html">&lt;p&gt;Jakearchibald: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is an attempt to document some discrepancies between browsers and RFC 2068 (and its successor, RFC 2616) because the HTTP WG seems unwilling to resolve those issues. Hopefully one day someone writes HTTP5 and takes this into account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Content-Encoding ==&lt;br /&gt;
&lt;br /&gt;
Under certain conditions this header needs to be stripped: http://hg.mozilla.org/mozilla-central/file/366b5c0c02d3/netwerk/protocol/http/nsHttpChannel.cpp#l4042&lt;br /&gt;
&lt;br /&gt;
Not raised. Monkey patched in Fetch.&lt;br /&gt;
&lt;br /&gt;
== Content-Length ==&lt;br /&gt;
&lt;br /&gt;
In cases where Content-Length doesn&#039;t equal the actual content length, browsers truncate to the Content-Length value if it&#039;s smaller, but behaviour varies if Content-Length value is larger than actual content. Test results: https://github.com/slightlyoff/ServiceWorker/issues/362#issuecomment-49011736&lt;br /&gt;
&lt;br /&gt;
== Content-Type parsing ==&lt;br /&gt;
&lt;br /&gt;
Pretty sure I (Anne) raised this at some point. A trailing &amp;quot;;&amp;quot; after a MIME type is considered invalid, but works fine in all implementations.&lt;br /&gt;
&lt;br /&gt;
mnot: relevant spec -  http://httpwg.github.io/specs/rfc7231.html#media.type  I don&#039;t remember this being raised; we can either record it as errata or work it into the next revision.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Raised:&#039;&#039;&#039;: http://www.rfc-editor.org/errata_search.php?rfc=7231&amp;amp;eid=4031&lt;br /&gt;
&lt;br /&gt;
Potential replacement: http://mimesniff.spec.whatwg.org/#parsing-a-mime-type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Redirects ==&lt;br /&gt;
&lt;br /&gt;
For 301 and 302 redirects browsers uniformly ignore HTTP and use GET for the subsequent request if the initial request uses an unsafe method. (And the user is not prompted.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Raised:&#039;&#039;&#039; http://lists.w3.org/Archives/Public/ietf-http-wg/2007JanMar/thread.html#msg225&lt;br /&gt;
&lt;br /&gt;
mnot: See http://httpwg.github.io/specs/rfc7231.html#status.3xx&lt;br /&gt;
&lt;br /&gt;
(Seems this is mostly solved now. Would still be good to explicitly require behavior here. Maybe in Fetch.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Location header: URLs ==&lt;br /&gt;
&lt;br /&gt;
Browsers handle relative URIs and URIs with invalid characters in interoperable fashion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Raised:&#039;&#039;&#039; http://lists.w3.org/Archives/Public/ietf-http-wg/2009JanMar/thread.html#msg276&lt;br /&gt;
&lt;br /&gt;
mnot: see note in: http://httpwg.github.io/specs/rfc7231.html#header.location If there&#039;s an updated URL spec that&#039;s able to be referenced when 7231 is revised, we can point at that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Location header: duplicates ==&lt;br /&gt;
&lt;br /&gt;
Nothing defines what happens with multiple Location headers. Apparently if their values match it is okay, but otherwise a network error.&lt;br /&gt;
&lt;br /&gt;
== Location header: fragment ==&lt;br /&gt;
&lt;br /&gt;
https://bugzilla.mozilla.org/show_bug.cgi?id=1034819&lt;br /&gt;
&lt;br /&gt;
== Content-Location header ==&lt;br /&gt;
&lt;br /&gt;
Browsers cannot support this header.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Raised:&#039;&#039;&#039; http://lists.w3.org/Archives/Public/ietf-http-wg/2006OctDec/thread.html#msg190&lt;br /&gt;
&lt;br /&gt;
This has apparently been fixed by making Content-Location have no UA conformance criteria. (It&#039;s not clear what it&#039;s good for at this point.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accept header ==&lt;br /&gt;
&lt;br /&gt;
Accept header should preferably be done without spaces.&lt;br /&gt;
&lt;br /&gt;
(not raised, odinho: I came across a site that didn&#039;t like the spaces, the developer said he&#039;d gotten it off php.net or stackoverflow. He fixed the site. This could be disputed.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requiring two interoperable browser implementations ==&lt;br /&gt;
&lt;br /&gt;
To prove that RFC 2616 can be implemented there should be two compatible implementations in browsers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Raised:&#039;&#039;&#039; http://lists.w3.org/Archives/Public/ietf-http-wg/2007JanMar/0222.html&lt;br /&gt;
&lt;br /&gt;
mnot: That&#039;ll happen when RFC723x go to full Standard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [Not an issue] Assume Vary: User-Agent ==&lt;br /&gt;
&lt;br /&gt;
UAs and intermediary caches should act as if all responses had Vary: User-Agent specified since many pages on the Web serve different content depending on the User-Agent header but do not bother specifying Vary: User-Agent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Raised:&#039;&#039;&#039; http://lists.w3.org/Archives/Public/ietf-http-wg/2012OctDec/0114.html&lt;br /&gt;
&lt;br /&gt;
:You may as well not have a cache if you do this.  It&#039;s hard to find two users with the same User-Agent string if you try.  It varies based on minor browser version, major OS version, and in old IE doesn&#039;t it vary based on installed plugins?  Yes, some pages will break if you run a transparent caching proxy and don&#039;t vary based on UA, but it will be a small minority and somewhat random, and generally they&#039;ll fix themselves if you force-refresh.  (Browsers send Cache-Control: no-cache when you force-refresh, which will skip a normally-configured cache.)  Even if you vary based on UA, caching proxies will break some pages, because some sites serve incorrect caching headers and a caching proxy will make you hit these more often even in the single-user case.  (E.g., hitting refresh will skip browser cache for the current page but not proxy cache, right?)&amp;lt;p&amp;gt;So basically, this is a performance vs. correctness tradeoff, and the correct answer for the vast majority of users is not to have a caching proxy at all.  Some will want a caching proxy that serves them some incorrect pages.  No one wants a caching proxy that varies based on UA, because then the cache will be useless.  The only case I could think of where this might make sense is in an office with a homogeneous browser environment, which wants caching for its standard browsers (which all have the same UA string), but still wants to be relatively correct for people using Wi-Fi on their laptops with different browsers.  But it&#039;s not something that makes any sense to require across the board. [[User:Aryeh Gregor|Aryeh Gregor]] 08:45, 17 October 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
mnot: Yeah, that&#039;s a really bad idea.&lt;br /&gt;
&lt;br /&gt;
[[Category:Spec_coordination]]&lt;/div&gt;</summary>
		<author><name>Jakearchibald</name></author>
	</entry>
</feed>