Files
tubestation/testing/crashtest/crashtests.list
Eden Chuang ab9fd8b60b Bug 1908240 - Call LockManager::Shutdown() in WorkerNavigator::Invalidate() r=dom-worker-reviewers,saschanaz,asuth
LockManager only calls LockManager::Shutdown() in the WeakWorkeRef callback to release the resource of LockManagerChild, which includs a RefPtr<nsIGlobalObject> mOwner(WorkerGlobalScope).
However, WeakWorkerRef creation could fail if the Worker get into "Canceling" immediately. But we did not handle the case.

LockManagerChild is a background actor, which can live longer than WorkerPrivate itself until the Background actors destroying.
So if the case that WeakWorkerRef creation fails, it could cause the WorkerGlobalScope keep alive until BackgroundChild shutdown.
But we assert that the WorkerGlobalScope need to be released before releasing the WorkerPrivate.

This patch calls LockManager::Shutdown() in WorkerNavigator::Invalidate() to ensure the LockManagerChild is released during the Worker shutdown.

Differential Revision: https://phabricator.services.mozilla.com/D222463
2024-09-23 11:54:00 +00:00

90 lines
3.8 KiB
Plaintext

# Add your lines including crashtest manifests below here.
# DO NOT ADD CRASHTESTS INDIVIDUALLY HERE!
include ../../testing/crashtest/sanity/crashtests.list
include ../../accessible/tests/crashtests/crashtests.list
include ../../docshell/base/crashtests/crashtests.list
include ../../dom/animation/test/crashtests/crashtests.list
include ../../dom/audiochannel/crashtests/crashtests.list
include ../../dom/base/crashtests/crashtests.list
include ../../dom/bindings/crashtests/crashtests.list
include ../../dom/canvas/crashtests/crashtests.list
include ../../dom/events/crashtests/crashtests.list
include ../../dom/fetch/tests/crashtests/crashtests.list
include ../../dom/file/tests/crashtests/crashtests.list
include ../../dom/fs/test/crashtests/crashtests.list
include ../../dom/html/crashtests/crashtests.list
include ../../dom/indexedDB/test/crashtests/crashtests.list
include ../../dom/jsurl/crashtests/crashtests.list
include ../../dom/locks/test/crashtests/crashtests.list
include ../../dom/media/mediasession/test/crashtests/crashtests.list
include ../../dom/media/mediasource/test/crashtests/crashtests.list
include ../../dom/media/test/crashtests/crashtests.list
include ../../dom/media/webcodecs/crashtests/crashtests.list
include ../../dom/media/webvtt/test/crashtests/crashtests.list
skip-if(!webrtc) include ../../dom/media/tests/crashtests/crashtests.list
skip-if(!webrtc) include ../../dom/media/webrtc/tests/crashtests/crashtests.list
include ../../dom/media/webspeech/synth/crashtests/crashtests.list
include ../../dom/midi/crashtests/crashtests.list
include ../../dom/plugins/test/crashtests/crashtests.list
include ../../dom/security/test/crashtests/crashtests.list
include ../../dom/serializers/crashtests/crashtests.list
include ../../dom/smil/crashtests/crashtests.list
include ../../dom/streams/crashtests/crashtests.list
include ../../dom/svg/crashtests/crashtests.list
include ../../dom/vr/test/crashtests/crashtests.list
include ../../dom/webgpu/crashtests/crashtests.list
include ../../dom/workers/test/crashtests/crashtests.list
include ../../dom/xhr/tests/crashtests/crashtests.list
include ../../dom/xml/crashtests/crashtests.list
include ../../dom/xslt/crashtests/crashtests.list
include ../../dom/xul/crashtests/crashtests.list
include ../../editor/composer/crashtests/crashtests.list
include ../../editor/libeditor/crashtests/crashtests.list
include ../../editor/txmgr/tests/crashtests/crashtests.list
include ../../extensions/spellcheck/hunspell/tests/crashtests/crashtests.list
include ../../gfx/tests/crashtests/crashtests.list
include ../../image/test/crashtests/crashtests.list
include ../../intl/lwbrk/crashtests/crashtests.list
include ../../intl/uconv/crashtests/crashtests.list
include ../../js/xpconnect/crashtests/crashtests.list
include ../../layout/base/crashtests/crashtests.list
include ../../layout/forms/crashtests/crashtests.list
include ../../layout/generic/crashtests/crashtests.list
include ../../layout/painting/crashtests/crashtests.list
include ../../layout/printing/crashtests/crashtests.list
include ../../layout/style/crashtests/crashtests.list
include ../../layout/svg/crashtests/crashtests.list
include ../../layout/tables/crashtests/crashtests.list
include ../../layout/xul/crashtests/crashtests.list
skip-if(Android) include ../../layout/xul/tree/crashtests/crashtests.list
include ../../media/libpng/crashtests/crashtests.list
include ../../netwerk/test/crashtests/crashtests.list
include ../../parser/htmlparser/tests/crashtests/crashtests.list
include ../../security/manager/ssl/crashtests/crashtests.list
include ../../view/crashtests/crashtests.list
include ../../widget/cocoa/crashtests/crashtests.list
include ../../widget/crashtests/crashtests.list
include ../../widget/gtk/crashtests/crashtests.list
include ../../xpcom/string/crashtests/crashtests.list
# Tests that must be run at the very end of all other crashtests.
include final/crashtests.list