Bug 1878817 - Remove unused ModuleLoaderBase::mEventTarget member. r=jonco

Differential Revision: https://phabricator.services.mozilla.com/D200753
This commit is contained in:
Tooru Fujisawa 2024-02-06 10:15:29 +00:00
parent 7f73c213d0
commit 73c36f0f8f
8 changed files with 10 additions and 101 deletions

View File

@ -539,7 +539,7 @@ void WorkerScriptLoader::InitModuleLoader() {
return;
}
RefPtr<WorkerModuleLoader> moduleLoader =
new WorkerModuleLoader(this, GetGlobal(), mSyncLoopTarget.get());
new WorkerModuleLoader(this, GetGlobal());
if (mWorkerScriptType == WorkerScript) {
mWorkerRef->Private()->GlobalScope()->InitModuleLoader(moduleLoader);
return;

View File

@ -31,9 +31,8 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(WorkerModuleLoader)
NS_INTERFACE_MAP_END_INHERITING(JS::loader::ModuleLoaderBase)
WorkerModuleLoader::WorkerModuleLoader(WorkerScriptLoader* aScriptLoader,
nsIGlobalObject* aGlobalObject,
nsISerialEventTarget* aEventTarget)
: ModuleLoaderBase(aScriptLoader, aGlobalObject, aEventTarget) {}
nsIGlobalObject* aGlobalObject)
: ModuleLoaderBase(aScriptLoader, aGlobalObject) {}
nsIURI* WorkerModuleLoader::GetBaseURI() const {
WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate();
@ -78,7 +77,6 @@ bool WorkerModuleLoader::CreateDynamicImportLoader() {
}
SetScriptLoader(loader);
SetEventTarget(GetCurrentSerialEventTarget());
return true;
}

View File

@ -39,8 +39,7 @@ class WorkerModuleLoader : public JS::loader::ModuleLoaderBase {
JS::loader::ModuleLoaderBase)
WorkerModuleLoader(WorkerScriptLoader* aScriptLoader,
nsIGlobalObject* aGlobalObject,
nsISerialEventTarget* aEventTarget);
nsIGlobalObject* aGlobalObject);
private:
~WorkerModuleLoader() = default;
@ -49,9 +48,6 @@ class WorkerModuleLoader : public JS::loader::ModuleLoaderBase {
void SetScriptLoader(JS::loader::ScriptLoaderInterface* aLoader) {
mLoader = aLoader;
}
void SetEventTarget(nsISerialEventTarget* aEventTarget) {
mEventTarget = aEventTarget;
}
WorkerScriptLoader* GetCurrentScriptLoader();

View File

@ -48,8 +48,7 @@ NS_INTERFACE_MAP_END_INHERITING(ModuleLoaderBase)
WorkletModuleLoader::WorkletModuleLoader(WorkletScriptLoader* aScriptLoader,
nsIGlobalObject* aGlobalObject)
: ModuleLoaderBase(aScriptLoader, aGlobalObject,
GetCurrentSerialEventTarget()) {
: ModuleLoaderBase(aScriptLoader, aGlobalObject) {
// This should be constructed on a worklet thread.
MOZ_ASSERT(!NS_IsMainThread());
}

View File

@ -74,8 +74,7 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ModuleLoaderBase)
NS_INTERFACE_MAP_END
NS_IMPL_CYCLE_COLLECTION(ModuleLoaderBase, mFetchingModules, mFetchedModules,
mDynamicImportRequests, mGlobalObject, mEventTarget,
mLoader)
mDynamicImportRequests, mGlobalObject, mLoader)
NS_IMPL_CYCLE_COLLECTING_ADDREF(ModuleLoaderBase)
NS_IMPL_CYCLE_COLLECTING_RELEASE(ModuleLoaderBase)
@ -977,13 +976,9 @@ void ModuleLoaderBase::FinishDynamicImport(
}
ModuleLoaderBase::ModuleLoaderBase(ScriptLoaderInterface* aLoader,
nsIGlobalObject* aGlobalObject,
nsISerialEventTarget* aEventTarget)
: mGlobalObject(aGlobalObject),
mEventTarget(aEventTarget),
mLoader(aLoader) {
nsIGlobalObject* aGlobalObject)
: mGlobalObject(aGlobalObject), mLoader(aLoader) {
MOZ_ASSERT(mGlobalObject);
MOZ_ASSERT(mEventTarget);
MOZ_ASSERT(mLoader);
EnsureModuleHooksInitialized();
@ -1014,7 +1009,6 @@ void ModuleLoaderBase::Shutdown() {
mFetchingModules.Clear();
mFetchedModules.Clear();
mGlobalObject = nullptr;
mEventTarget = nullptr;
mLoader = nullptr;
}

View File

@ -191,9 +191,6 @@ class ModuleLoaderBase : public nsISupports {
bool mImportMapsAllowed = true;
protected:
// Event handler used to dispatch runnables, used internally to wait for
// fetches to finish and for imports to become avilable.
nsCOMPtr<nsISerialEventTarget> mEventTarget;
RefPtr<ScriptLoaderInterface> mLoader;
mozilla::UniquePtr<ImportMap> mImportMap;
@ -210,9 +207,7 @@ class ModuleLoaderBase : public nsISupports {
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS(ModuleLoaderBase)
explicit ModuleLoaderBase(ScriptLoaderInterface* aLoader,
nsIGlobalObject* aGlobalObject,
nsISerialEventTarget* aEventTarget =
mozilla::GetMainThreadSerialEventTarget());
nsIGlobalObject* aGlobalObject);
// Called to break cycles during shutdown to prevent memory leaks.
void Shutdown();

View File

@ -55,7 +55,7 @@ NS_INTERFACE_MAP_END_INHERITING(JS::loader::ModuleLoaderBase)
ComponentModuleLoader::ComponentModuleLoader(
ComponentScriptLoader* aScriptLoader, nsIGlobalObject* aGlobalObject)
: ModuleLoaderBase(aScriptLoader, aGlobalObject, new SyncEventTarget()) {}
: ModuleLoaderBase(aScriptLoader, aGlobalObject) {}
ComponentModuleLoader::~ComponentModuleLoader() {
MOZ_ASSERT(mLoadRequests.isEmpty());
@ -258,67 +258,5 @@ nsresult ComponentModuleLoader::ProcessRequests() {
return NS_OK;
}
//////////////////////////////////////////////////////////////
// ComponentModuleLoader::SyncEventTarget
//////////////////////////////////////////////////////////////
NS_IMPL_ADDREF(ComponentModuleLoader::SyncEventTarget)
NS_IMPL_RELEASE(ComponentModuleLoader::SyncEventTarget)
NS_INTERFACE_MAP_BEGIN(ComponentModuleLoader::SyncEventTarget)
NS_INTERFACE_MAP_ENTRY(nsISerialEventTarget)
NS_INTERFACE_MAP_ENTRY(nsIEventTarget)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_INTERFACE_MAP_END
NS_IMETHODIMP
ComponentModuleLoader::SyncEventTarget::DispatchFromScript(
nsIRunnable* aRunnable, uint32_t aFlags) {
nsCOMPtr<nsIRunnable> event(aRunnable);
return Dispatch(event.forget(), aFlags);
}
NS_IMETHODIMP
ComponentModuleLoader::SyncEventTarget::Dispatch(
already_AddRefed<nsIRunnable> aRunnable, uint32_t aFlags) {
MOZ_ASSERT(IsOnCurrentThreadInfallible());
nsCOMPtr<nsIRunnable> runnable(aRunnable);
runnable->Run();
return NS_OK;
}
NS_IMETHODIMP
ComponentModuleLoader::SyncEventTarget::DelayedDispatch(
already_AddRefed<nsIRunnable>, uint32_t) {
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
ComponentModuleLoader::SyncEventTarget::RegisterShutdownTask(
nsITargetShutdownTask* aTask) {
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
ComponentModuleLoader::SyncEventTarget::UnregisterShutdownTask(
nsITargetShutdownTask* aTask) {
return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP
ComponentModuleLoader::SyncEventTarget::IsOnCurrentThread(
bool* aIsOnCurrentThread) {
MOZ_ASSERT(aIsOnCurrentThread);
*aIsOnCurrentThread = IsOnCurrentThreadInfallible();
return NS_OK;
}
NS_IMETHODIMP_(bool)
ComponentModuleLoader::SyncEventTarget::IsOnCurrentThreadInfallible() {
return NS_IsMainThread();
}
} // namespace loader
} // namespace mozilla

View File

@ -52,17 +52,6 @@ class ComponentModuleLoader : public JS::loader::ModuleLoaderBase {
void MaybeReportLoadError(JSContext* aCx);
private:
// An event target that dispatches runnables by executing them
// immediately. This is used to drive mozPromise dispatch for
// ComponentModuleLoader.
class SyncEventTarget : public nsISerialEventTarget {
public:
NS_DECL_THREADSAFE_ISUPPORTS
NS_DECL_NSIEVENTTARGET_FULL
private:
virtual ~SyncEventTarget() = default;
};
~ComponentModuleLoader();
already_AddRefed<ModuleLoadRequest> CreateStaticImport(