diff --git a/source b/source index 58429cfd4fa..d96f2865370 100644 --- a/source +++ b/source @@ -84572,12 +84572,14 @@ interface NavigatorOnLine { data-x="js-ScriptEvaluation">ScriptEvaluation(result).
If evaluationStatus is an abrupt completion, set result to - evaluationStatus.[[value]] and go to the step labeled error.
If we have reached this step, skip to the step labeled cleanup.
Error: At this point result must be an error object. Perform the following +
Error: At this point result must be an exception. Perform the following steps:
Cleanup: Clean up after running script with settings.
If evaluationStatus exists and is not an abrupt completion, return +
If evaluationStatus exists and is a normal completion, return evaluationStatus.[[value]]. Otherwise, script execution was unsuccessful, either because an error occurred during parsing, or an exception occurred during evaluation, or because - it was aborted prematurely.
If evaluationStatus is an abrupt completion, report the exception - given by evaluationStatus.[[value]] for s.
Clean up after running script with settings.
Although the JavaScript specification does not account for this possibility, it's sometimes
+ necessary to abort a running script. This causes any ScriptEvaluation or ModuleEvaluation to cease immediately, emptying the
+ JavaScript execution context stack without triggering any of the normal mechanisms
+ like finally
blocks.
User agents may impose resource limitations on scripts, for example CPU quotas, memory limits,
total execution time limits, or bandwidth limitations. When a script exceeds a limit, the user
- agent may either throw a QuotaExceededError
exception, abort the script without an
- exception, prompt the user, or throttle script execution.
QuotaExceededError
exception, abort the script without an exception, prompt the user, or throttle script
+ execution.
In addition to the usual possibilities of returning a value or failing due to - an exception, this could be prematurely aborted by the "kill a worker" or - "terminate a worker" algorithms defined below.
+ an exception, this could be prematurely aborted by + the "kill a worker" or "terminate a worker" algorithms defined + below.Enable outside port's port message queue.
The handling of events or the execution of callbacks by tasks run by the event loop might get prematurely - aborted by the "kill a worker" or "terminate a worker" algorithms - defined below.
+ data-x="concept-task">tasks run by the event loop might get prematurely aborted by the "kill a worker" + or "terminate a worker" algorithms defined below.The worker processing model remains on this step until the event loop is destroyed, which happens after the closing @@ -93941,7 +93954,8 @@ interface WorkerGlobalScope : EventTarget {
Wait a user-agent-defined amount of time.
Abort the script currently running in the worker.
Abort the script currently running in the + worker.
WorkerGlobalScope
object's event loop's task
queues, discard them without processing them.
- Abort the script currently running in the worker.
Abort the script currently running in the + worker.
If the worker's WorkerGlobalScope
object is actually a
DedicatedWorkerGlobalScope
object (i.e. the worker is a dedicated worker), then
@@ -94518,15 +94533,17 @@ interface SharedWorker : EventTarget {
passing the rethrow errors flag.
script will run until it either returns, fails to parse, fails to - catch an exception, or gets prematurely aborted by the "kill a worker" or - "terminate a worker" algorithms defined above.
+ catch an exception, or gets prematurely aborted + by the "kill a worker" or "terminate a worker" algorithms defined + above. -If an exception was thrown or if the script was prematurely aborted, then abort all these - steps, letting the exception or aborting continue to be processed by the calling If an exception was thrown or if the script was prematurely aborted, then abort all these steps, letting the exception or + aborting continue to be processed by the calling script.
-If the "kill a worker" or "terminate a worker" algorithms abort - the script then abort all these steps.
+If the "kill a worker" or "terminate a worker" algorithms abort the script then abort all these steps.