<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Dec 17, 2009, at 4: 44PM, Ian Hickson wrote:</div><blockquote type="cite"><div>Another conforming sequence of events would be:<br><br>1. The parser's first parsing task begins.<br>2. As soon as the manifest="" attribute is parsed, the application cache <br>download process begins. It queues a task to dispatch the 'checking' <br>event.<br>3. The parser's first parsing task ends.<br>4. The event loop spins, and runs the next task, which is the 'checking' <br>event. No scripts have yet run, so no handlers are registered. Nothing <br>happens.<br>5. The parser's second parsing task begins. It will parse the script, etc.<br><br></div></blockquote><blockquote type="cite">[snip moved below..]</blockquote><blockquote type="cite"><div><font class="Apple-style-span" color="#000000"><br></font>We could delay the application cache download process so that it doesn't <br>start until after the 'load' event has fired. Does anyone have an opinion <br>on this?</div></blockquote></div><br><div>From an application developer standpoint I think that would be very nice. I cannot comment on a this from an implementors perspective (yet).</div><div><br></div><div>It seems important considering the following text from the Spec:</div><div><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#downloading-or-updating-an-application-cache">http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#downloading-or-updating-an-application-cache</a></div><div><br></div><div>[[</div><div>Certain events fired during the&nbsp;application cache download process&nbsp;allow the script to override the display of such an interface.&nbsp;The goal of this is to allow Web applications to provide more seamless update mechanisms, hiding from the user the mechanics of&nbsp;the application cache mechanism. User agents may display user interfaces independent of this, but are encouraged to not show&nbsp;prominent update progress notifications for applications that cancel the relevant events.</div><div>]]</div><div><br></div><div>It seems pointless to provide hooks in the API that allow for a "custom interface", when fundamentally they may never be triggered in an otherwise compliant user agent.</div><div><br></div><div><br></div><div><blockquote type="cite"><div>You can work around all this by checking the .status attribute when you&nbsp;<br>first hook up the event listeners.</div></blockquote><br></div><div>This is even worse. To me, this means the application developer cannot rely on certain (any?) events, so he/she would need to build a completely new API on top? &nbsp;Developers will still likely be caught searching for bugs in their own code (like I did) wondering why behavior is different between browsers.</div><div><br></div><div><br></div><div>Thanks for the quick response,</div><div>- Joe</div></body></html>