Short URL: http://html5.org/r/6263
Index: source =================================================================== --- source (revision 6262) +++ source (revision 6263) @@ -88395,27 +88395,34 @@ <p>For dedicated workers, if the error is still <i title="concept-error-nothandled">not handled</i> afterwards, or if the error occurred while handling a previous script error, the user - agent must <span>queue a task</span> to <span>fire a worker error - event</span> at the <code>Worker</code> object associated with the - worker.</p> - - <p>When the user agent is to <dfn>fire a worker error event</dfn> at - a <code>Worker</code> object, it must create and dispatch an event - that uses the <code>ErrorEvent</code> interface, with the name <code + agent must <span>queue a task</span> to fire an event that uses the + <code>ErrorEvent</code> interface, with the name <code title="event-error">error</code>, that doesn't bubble and is cancelable, with its <code title="dom-ErrorEvent-message">message</code>, <code title="dom-ErrorEvent-filename">filename</code>, and <code title="dom-ErrorEvent-lineno">lineno</code> attributes set - appropriately. The default action of this event depends on whether - the <code>Worker</code> object is itself in a worker. If it is, and - that worker is also a dedicated worker, then the user agent must - again <span>queue a task</span> to <span>fire a worker error - event</span> at the <code>Worker</code> object associated with - <em>that</em> worker. Otherwise, then the error may be reported to - the user.</p> + appropriately, at the <code>Worker</code> object associated with the + worker. If the event is not canceled, the user agent must act as if the + uncaught runtime script error had occurred in the global scope that + the <code>Worker</code> object is in, thus repeating the entire + runtime script error reporting process one level up.</p> - <p>The <span>task source</span> for the tasks mentioned above is the + <p>If the implicit port connecting the worker to its + <code>Worker</code> object has been disentangled (i.e. if the parent + worker has been terminated), then the user agent must act as if the + <code>Worker</code> object had no <code + title="event-error">error</code> event handler and as if that + worker's <code + title="handler-WorkerGlobalScope-onerror">onerror</code> attribute + was null, but must otherwise act as described above.</p> + + <p class="note">Thus, error reports proagate up to the chain of + dedicated workers up to the original <code>Document</code>, even if + some of the workers along this chain have been terminated and + garbage collected.</p> + + <p>The <span>task source</span> for the task mentioned above is the <span>DOM manipulation task source</span>.</p> <hr> @@ -89139,6 +89146,8 @@ interface's <span>relevant namespace object</span> is a <code>Window</code> object. <a href="#refsWEBIDL">[WEBIDL]</a></p> + + <!--END workers--> <!--END whatwg-workers-->