Closed
Bug 1839670
Opened 1 year ago
Closed 1 year ago
Remove the requirement that runnables dispatched to workers need to be nsIDiscardableRunnable
Categories
(Core :: DOM: Workers, enhancement)
Core
DOM: Workers
Tracking
()
RESOLVED
FIXED
116 Branch
Tracking | Status | |
---|---|---|
firefox116 | --- | fixed |
People
(Reporter: asuth, Assigned: asuth)
References
Details
Attachments
(1 file)
In bug 1800659 we removed our use of cancellation, but we retained the DEBUG assertions that require our runnables to be discardable. (Bug 1119956 changed our semantics/requirements.)
We can probably also remove the WorkerRunnable wrapping that remains in the method there, but that should likely be a separate bug to minimize potential regressions.
Assignee | ||
Comment 1•1 year ago
|
||
In bug 1800659 we removed our use of cancellation, but we retained the
DEBUG assertions that require our runnables to be discardable. This
patch removes the DEBUG assertions.
However, note that at this time we continue to retain:
- Support in ExternalRunnableWrapper::Cancel to QI the wrapped runnable
to nsIDiscardableRunnable and we will call its OnDiscard method if it
QIs. - The limited cancellation support where WorkerRunnable::Run checks
WorkerPrivate::CancelBeforeWorkerScopeConstructed which will be
flipped if the worker transition to Canceling without ever having
created a global. - The limited cancellation support where
WorkerPrivate::ClearPreStartRunnables explicitly invokes Cancel on
all of the WorkerRunnables in WorkerPrivate::mPreStartRunnables.
Note that the runnables will all explicitly be WorkerRunnable
instances in that case. Runnables can only get in that queue via
WorkerPrivate::Dispatch or WorkerPrivate::EventTarget::Dispatch
(where WorkerPrivate::EventTarget is explicitly only ever used by
syncloops created by WorkerPrivate::CreateNewSyncLoop and it always
wraps all of its runnables.)
Pushed by bugmail@asutherland.org: https://hg.mozilla.org/integration/autoland/rev/e9232e3706ab Remove the requirement that runnables dispatched to workers need to be nsIDiscardableRunnable. r=dom-worker-reviewers,smaug
Comment 3•1 year ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
status-firefox116:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•