- From: Alexey Proskuryakov <ap@webkit.org>
- Date: Mon, 19 Apr 2010 12:07:20 -0700
There seems to be a race condition in how application cache groups are marked obsolete. Consider the following scenario: 1. A document is loaded from server, an appcache is fully created. 2. Appcache update is initiated (e.g. by calling DOMApplicationCache.update()). 3. A new document is loaded, whose main resource comes from this appcache. 4. Update started at step 2 fails, because manifest is 404. Appcache is marked obsolete. 5. The new document is being parsed, and the parser finds manifest declaration. 6. Parser invokes application cache selection algorithm. 7. The application cache selection algorithm associates the document with obsolete appcache, because it was loaded from this appcache. But at the same time, according to downloading or updating an application cache algorithm, "the [obsolete] cache group no longer exists for any purpose other than processing of Document objects already associated with an application cache in the cache group. Which part of the spec wins? - WBR, Alexey Proskuryakov
Received on Monday, 19 April 2010 12:07:20 UTC