- From: Bonner, Matt <matt.bonner@hp.com>
- Date: Tue, 10 Jun 2008 01:24:51 +0000
- To: "public-html@w3.org" <public-html@w3.org>
- Message-ID: <57221E38FB4DD54C946CE654959A554D05DD00E2B2@GVW0436EXB.americas.hpqcorp.net>
Hi, I see several places in the HTML 5 spec, where a UA is required to start executing something once all other scripts have stopped executing. It seems possible that this could lead to race conditions, or deadlock, depending on use. I didn't find any discussion of this in the archives, but please enlighten me if I missed it. If this is a new point, I would encourage adding some text to the specification for HTML authors pointing out this potential problem. A partial list of "when all other scripts have stopped" musts: 3.12.9 The source element ... If a source element is inserted into a media element that is already in a document and whose networkState is in the EMPTY state, the user agent must implicitly invoke the load() method on the media element as soon as all other scripts have finished executing 3.15 Scripting When a script completes loading: If a script whose element was added to one of the lists mentioned above completes loading while the document is still being parsed, then the parser handles it. Otherwise, when a script completes loading, the UA must run the following steps as soon as as any other scripts that may be executing have finished executing ... 3.17.6.2. The template attribute ... Once the DOM in question has been parsed, assuming that it indeed can be parsed and does so successfully, the user agent must wait for no scripts to be executing, and as soon as that opportunity arises, run the following algorithm ... 3.17.6.3. The ref attribute ... Once the DOM in question has been parsed, assuming that it indeed can be parsed and does so successfully, the user agent must wait for no scripts to be executing, and as soon as that opportunity arises, run the following algorithm ... 4.7.6 Application cache API The add(uri) method must run the following steps: ... 9. Wait for there to be no running scripts 6.2.2 Connecting to an event stream Each object implementing the EventTarget and RemoteEventTarget interfaces has a list of event sources that are registered for that object. When a new URI is added to this list, the user agent should, as soon as all currently executing scripts (if any) have finished executing, and if the specified URI isn't removed from the list before they do so, fetch the resource identified by that URI. 6.4.1 (Cross-document messaging) Processing model ... 3. Wait for the Window object on which the method was invoked to have finished executing any pending scripts. Matt -- Matt Bonner Hewlett-Packard Company
Received on Tuesday, 10 June 2008 01:26:01 UTC