diff --git a/dom/base/nsContentPermissionHelper.cpp b/dom/base/nsContentPermissionHelper.cpp index 65bce65ae4eb..dc73f0724cea 100644 --- a/dom/base/nsContentPermissionHelper.cpp +++ b/dom/base/nsContentPermissionHelper.cpp @@ -291,9 +291,6 @@ nsresult nsContentPermissionUtils::AskPermission( &isRequestDelegatedToUnsafeThirdParty); NS_ENSURE_SUCCESS(rv, rv); - ContentChild::GetSingleton()->SetEventTargetForActor( - req, aWindow->EventTargetFor(TaskCategory::Other)); - req->IPDLAddRef(); ContentChild::GetSingleton()->SendPContentPermissionRequestConstructor( req, permArray, IPC::Principal(principal), diff --git a/dom/filesystem/FileSystemTaskBase.cpp b/dom/filesystem/FileSystemTaskBase.cpp index 79069f2377c0..8b04e30b4a3d 100644 --- a/dom/filesystem/FileSystemTaskBase.cpp +++ b/dom/filesystem/FileSystemTaskBase.cpp @@ -115,14 +115,6 @@ void FileSystemTaskChildBase::Start() { return; } - if (NS_IsMainThread()) { - nsISerialEventTarget* target = - mGlobalObject->EventTargetFor(TaskCategory::Other); - MOZ_ASSERT(target); - - actor->SetEventTargetForActor(this, target); - } - actor->SendPFileSystemRequestConstructor(this, params); } diff --git a/dom/indexedDB/ActorsChild.cpp b/dom/indexedDB/ActorsChild.cpp index 2e805a587e2c..6a9696c23b2c 100644 --- a/dom/indexedDB/ActorsChild.cpp +++ b/dom/indexedDB/ActorsChild.cpp @@ -1262,8 +1262,6 @@ BackgroundFactoryChild::RecvPBackgroundIDBDatabaseConstructor( PBackgroundIDBFactoryRequestChild* aRequest) { AssertIsOnOwningThread(); MOZ_ASSERT(aActor); - MOZ_ASSERT(aActor->GetActorEventTarget(), - "The event target shall be inherited from its manager actor."); return IPC_OK(); } @@ -1709,8 +1707,6 @@ BackgroundDatabaseChild::RecvPBackgroundIDBVersionChangeTransactionConstructor( const int64_t& aNextObjectStoreId, const int64_t& aNextIndexId) { AssertIsOnOwningThread(); MOZ_ASSERT(aActor); - MOZ_ASSERT(aActor->GetActorEventTarget(), - "The event target shall be inherited from its manager actor."); MOZ_ASSERT(mOpenRequestActor); MaybeCollectGarbageOnIPCMessage(); diff --git a/dom/indexedDB/IDBDatabase.cpp b/dom/indexedDB/IDBDatabase.cpp index ad9687f164e4..cfa6a0a607de 100644 --- a/dom/indexedDB/IDBDatabase.cpp +++ b/dom/indexedDB/IDBDatabase.cpp @@ -623,8 +623,6 @@ RefPtr IDBDatabase::Transaction( MOZ_ALWAYS_TRUE(mBackgroundActor->SendPBackgroundIDBTransactionConstructor( actor, sortedStoreNames, mode)); - MOZ_ASSERT(actor->GetActorEventTarget(), - "The event target shall be inherited from it manager actor."); transaction->SetBackgroundActor(actor); @@ -682,9 +680,6 @@ RefPtr IDBDatabase::CreateMutableFile( mBackgroundActor->SendPBackgroundIDBDatabaseRequestConstructor(actor, params); - MOZ_ASSERT(actor->GetActorEventTarget(), - "The event target shall be inherited from its manager actor."); - return request; } @@ -814,8 +809,6 @@ PBackgroundIDBDatabaseFileChild* IDBDatabase::GetOrCreateFileActorForBlob( return nullptr; } - MOZ_ASSERT(actor->GetActorEventTarget(), - "The event target shall be inherited from its manager actor."); mFileActors.InsertOrUpdate(weakRef, actor); } diff --git a/dom/indexedDB/IDBFactory.cpp b/dom/indexedDB/IDBFactory.cpp index 82c778e2f5d1..deada74a6831 100644 --- a/dom/indexedDB/IDBFactory.cpp +++ b/dom/indexedDB/IDBFactory.cpp @@ -659,10 +659,6 @@ RefPtr IDBFactory::OpenInternal( { BackgroundFactoryChild* actor = new BackgroundFactoryChild(*this); - // Set EventTarget for the top-level actor. - // All child actors created later inherit the same event target. - backgroundActor->SetEventTargetForActor(actor, EventTarget()); - MOZ_ASSERT(actor->GetActorEventTarget()); mBackgroundActor = static_cast( backgroundActor->SendPBackgroundIDBFactoryConstructor( actor, idbThreadLocal->GetLoggingInfo())); @@ -757,9 +753,6 @@ nsresult IDBFactory::InitiateRequest( return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; } - MOZ_ASSERT(actor->GetActorEventTarget(), - "The event target shall be inherited from its manager actor."); - return NS_OK; } diff --git a/dom/indexedDB/IDBTransaction.cpp b/dom/indexedDB/IDBTransaction.cpp index 3f5d8f69d6eb..cda7dc1e05fb 100644 --- a/dom/indexedDB/IDBTransaction.cpp +++ b/dom/indexedDB/IDBTransaction.cpp @@ -289,9 +289,6 @@ BackgroundRequestChild* IDBTransaction::StartRequest( transactionChild.SendPBackgroundIDBRequestConstructor(actor, aParams); }); - MOZ_ASSERT(actor->GetActorEventTarget(), - "The event target shall be inherited from its manager actor."); - // Balanced in BackgroundRequestChild::Recv__delete__(). OnNewRequest(); @@ -307,9 +304,6 @@ void IDBTransaction::OpenCursor(PBackgroundIDBCursorChild& aBackgroundActor, actor.SendPBackgroundIDBCursorConstructor(&aBackgroundActor, aParams); }); - MOZ_ASSERT(aBackgroundActor.GetActorEventTarget(), - "The event target shall be inherited from its manager actor."); - // Balanced in BackgroundCursorChild::RecvResponse(). OnNewRequest(); } diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp index b6147c64783a..63a92ce24646 100644 --- a/dom/ipc/ContentChild.cpp +++ b/dom/ipc/ContentChild.cpp @@ -2364,8 +2364,6 @@ mozilla::ipc::IPCResult ContentChild::RecvNotifyAlertsObserver( return IPC_OK(); } -// NOTE: This method is being run in the SystemGroup, and thus cannot directly -// touch pages. See GetSpecificMessageEventTarget. mozilla::ipc::IPCResult ContentChild::RecvNotifyVisited( nsTArray&& aURIs) { nsCOMPtr history = components::History::Service(); diff --git a/dom/ipc/URLClassifierParent.cpp b/dom/ipc/URLClassifierParent.cpp index 1a0e0aa4201f..d0d2f8f26e34 100644 --- a/dom/ipc/URLClassifierParent.cpp +++ b/dom/ipc/URLClassifierParent.cpp @@ -28,7 +28,7 @@ mozilla::ipc::IPCResult URLClassifierParent::StartClassify( nsCOMPtr uriClassifier = do_GetService(NS_URICLASSIFIERSERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv)) { - rv = uriClassifier->Classify(aPrincipal, nullptr, this, aSuccess); + rv = uriClassifier->Classify(aPrincipal, this, aSuccess); } if (NS_FAILED(rv) || !*aSuccess) { // We treat the case where we fail to classify and the case where the diff --git a/dom/media/webrtc/jsapi/MediaTransportHandlerIPC.cpp b/dom/media/webrtc/jsapi/MediaTransportHandlerIPC.cpp index e95417c355c2..f3b940ed9187 100644 --- a/dom/media/webrtc/jsapi/MediaTransportHandlerIPC.cpp +++ b/dom/media/webrtc/jsapi/MediaTransportHandlerIPC.cpp @@ -40,7 +40,6 @@ MediaTransportHandlerIPC::MediaTransportHandlerIPC( __func__); } MediaTransportChild* child = new MediaTransportChild(this); - actor->SetEventTargetForActor(child, mCallbackThread); // PBackgroungChild owns mChild! When it is done with it, // mChild will let us know it it going away. mChild = actor->SendPMediaTransportConstructor(child); diff --git a/dom/media/webrtc/jsapi/PeerConnectionMedia.cpp b/dom/media/webrtc/jsapi/PeerConnectionMedia.cpp index 5c558e280db8..d4ef20f3e542 100644 --- a/dom/media/webrtc/jsapi/PeerConnectionMedia.cpp +++ b/dom/media/webrtc/jsapi/PeerConnectionMedia.cpp @@ -100,13 +100,8 @@ PeerConnectionMedia::PeerConnectionMedia(PeerConnectionImpl* parent) mTargetForDefaultLocalAddressLookupIsSet(false), mDestroyed(false) { if (XRE_IsContentProcess()) { - nsCOMPtr target = - mParent->GetWindow() - ? mParent->GetWindow()->EventTargetFor(TaskCategory::Other) - : nullptr; - mStunAddrsRequest = - new net::StunAddrsRequestChild(new StunAddrsHandler(this), target); + new net::StunAddrsRequestChild(new StunAddrsHandler(this)); } } diff --git a/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.cpp b/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.cpp index 8057be149cad..24affd8c3725 100644 --- a/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.cpp +++ b/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.cpp @@ -11,13 +11,8 @@ using namespace mozilla::ipc; namespace mozilla::net { -StunAddrsRequestChild::StunAddrsRequestChild( - StunAddrsListener* listener, nsISerialEventTarget* mainThreadEventTarget) +StunAddrsRequestChild::StunAddrsRequestChild(StunAddrsListener* listener) : mListener(listener) { - if (mainThreadEventTarget) { - gNeckoChild->SetEventTargetForActor(this, mainThreadEventTarget); - } - gNeckoChild->SendPStunAddrsRequestConstructor(this); // IPDL holds a reference until IPDL channel gets destroyed AddIPDLReference(); diff --git a/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.h b/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.h index 8e3ed817841a..1eb31e4198d9 100644 --- a/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.h +++ b/dom/media/webrtc/transport/ipc/StunAddrsRequestChild.h @@ -32,8 +32,7 @@ class StunAddrsRequestChild final : public PStunAddrsRequestChild { friend class PStunAddrsRequestChild; public: - explicit StunAddrsRequestChild(StunAddrsListener* listener, - nsISerialEventTarget* mainThreadEventTarget); + explicit StunAddrsRequestChild(StunAddrsListener* listener); NS_IMETHOD_(MozExternalRefCountType) AddRef(); NS_IMETHOD_(MozExternalRefCountType) Release(); diff --git a/dom/media/webrtc/transport/ipc/WebrtcTCPSocketChild.cpp b/dom/media/webrtc/transport/ipc/WebrtcTCPSocketChild.cpp index ef59eaa3960d..14f48b199358 100644 --- a/dom/media/webrtc/transport/ipc/WebrtcTCPSocketChild.cpp +++ b/dom/media/webrtc/transport/ipc/WebrtcTCPSocketChild.cpp @@ -82,12 +82,9 @@ void WebrtcTCPSocketChild::AsyncOpen( if (IsNeckoChild()) { // We're on a content process - gNeckoChild->SetEventTargetForActor(this, GetMainThreadSerialEventTarget()); gNeckoChild->SendPWebrtcTCPSocketConstructor(this, tabId); } else if (IsSocketProcessChild()) { // We're on a socket process - SocketProcessChild::GetSingleton()->SetEventTargetForActor( - this, GetMainThreadSerialEventTarget()); SocketProcessChild::GetSingleton()->SendPWebrtcTCPSocketConstructor(this, tabId); } diff --git a/dom/media/webrtc/transport/nr_socket_prsock.cpp b/dom/media/webrtc/transport/nr_socket_prsock.cpp index f39dca4e1058..dbe4786e1a80 100644 --- a/dom/media/webrtc/transport/nr_socket_prsock.cpp +++ b/dom/media/webrtc/transport/nr_socket_prsock.cpp @@ -1504,8 +1504,7 @@ void NrUdpSocketIpc::create_i(const nsACString& host, const uint16_t port) { /* addressReuse = */ false, /* loopback = */ false, /* recv buffer size */ minBuffSize, - /* send buffer size */ minBuffSize, - /* mainThreadEventTarget */ nullptr))) { + /* send buffer size */ minBuffSize))) { err_ = true; MOZ_ASSERT(false, "Failed to create UDP socket"); mon.NotifyAll(); diff --git a/dom/network/TCPServerSocket.cpp b/dom/network/TCPServerSocket.cpp index 211503e88067..b9d454552621 100644 --- a/dom/network/TCPServerSocket.cpp +++ b/dom/network/TCPServerSocket.cpp @@ -60,12 +60,8 @@ nsresult TCPServerSocket::Init() { } if (XRE_GetProcessType() == GeckoProcessType_Content) { - nsCOMPtr target; - if (nsCOMPtr global = GetOwnerGlobal()) { - target = global->EventTargetFor(TaskCategory::Other); - } - mServerBridgeChild = new TCPServerSocketChild(this, mPort, mBacklog, - mUseArrayBuffers, target); + mServerBridgeChild = + new TCPServerSocketChild(this, mPort, mBacklog, mUseArrayBuffers); return NS_OK; } diff --git a/dom/network/TCPServerSocketChild.cpp b/dom/network/TCPServerSocketChild.cpp index 5acebbc2b678..544c5391ee0c 100644 --- a/dom/network/TCPServerSocketChild.cpp +++ b/dom/network/TCPServerSocketChild.cpp @@ -38,13 +38,11 @@ NS_IMETHODIMP_(MozExternalRefCountType) TCPServerSocketChild::Release(void) { return refcnt; } -TCPServerSocketChild::TCPServerSocketChild( - TCPServerSocket* aServerSocket, uint16_t aLocalPort, uint16_t aBacklog, - bool aUseArrayBuffers, nsISerialEventTarget* aIPCEventTarget) { +TCPServerSocketChild::TCPServerSocketChild(TCPServerSocket* aServerSocket, + uint16_t aLocalPort, + uint16_t aBacklog, + bool aUseArrayBuffers) { mServerSocket = aServerSocket; - if (aIPCEventTarget) { - gNeckoChild->SetEventTargetForActor(this, aIPCEventTarget); - } AddIPDLReference(); gNeckoChild->SendPTCPServerSocketConstructor(this, aLocalPort, aBacklog, aUseArrayBuffers); diff --git a/dom/network/TCPServerSocketChild.h b/dom/network/TCPServerSocketChild.h index b534f6ff53b7..30e5170e8053 100644 --- a/dom/network/TCPServerSocketChild.h +++ b/dom/network/TCPServerSocketChild.h @@ -47,8 +47,7 @@ class TCPServerSocketChild : public mozilla::net::PTCPServerSocketChild, NS_IMETHOD_(MozExternalRefCountType) Release() override; TCPServerSocketChild(TCPServerSocket* aServerSocket, uint16_t aLocalPort, - uint16_t aBacklog, bool aUseArrayBuffers, - nsISerialEventTarget* aIPCEventTarget); + uint16_t aBacklog, bool aUseArrayBuffers); ~TCPServerSocketChild(); void Close(); diff --git a/dom/network/TCPSocketChild.cpp b/dom/network/TCPSocketChild.cpp index 3397dc853e4a..bdb1575f2909 100644 --- a/dom/network/TCPSocketChild.cpp +++ b/dom/network/TCPSocketChild.cpp @@ -90,10 +90,6 @@ void TCPSocketChild::SendOpen(nsITCPSocketCallback* aSocket, bool aUseSSL, bool aUseArrayBuffers) { mSocket = aSocket; - if (mIPCEventTarget) { - gNeckoChild->SetEventTargetForActor(this, mIPCEventTarget); - } - AddIPDLReference(); gNeckoChild->SendPTCPSocketConstructor(this, mHost, mPort); PTCPSocketChild::SendOpen(mHost, mPort, aUseSSL, aUseArrayBuffers); diff --git a/dom/network/UDPSocket.cpp b/dom/network/UDPSocket.cpp index 7bb1b6d2e5e6..7639c3b300bb 100644 --- a/dom/network/UDPSocket.cpp +++ b/dom/network/UDPSocket.cpp @@ -476,14 +476,9 @@ nsresult UDPSocket::InitRemote(const nsAString& aLocalAddress, return NS_ERROR_FAILURE; } - nsCOMPtr target; - if (nsCOMPtr global = GetOwnerGlobal()) { - target = global->EventTargetFor(TaskCategory::Other); - } - rv = sock->Bind(mListenerProxy, principal, NS_ConvertUTF16toUTF8(aLocalAddress), aLocalPort, - mAddressReuse, mLoopback, 0, 0, target); + mAddressReuse, mLoopback, 0, 0); if (NS_FAILED(rv)) { return rv; diff --git a/dom/network/UDPSocketChild.cpp b/dom/network/UDPSocketChild.cpp index 41107f4c6023..83bfca685b29 100644 --- a/dom/network/UDPSocketChild.cpp +++ b/dom/network/UDPSocketChild.cpp @@ -67,17 +67,13 @@ nsresult UDPSocketChild::Bind(nsIUDPSocketInternal* aSocket, nsIPrincipal* aPrincipal, const nsACString& aHost, uint16_t aPort, bool aAddressReuse, bool aLoopback, uint32_t recvBufferSize, - uint32_t sendBufferSize, - nsISerialEventTarget* aMainThreadEventTarget) { + uint32_t sendBufferSize) { UDPSOCKET_LOG( ("%s: %s:%u", __FUNCTION__, PromiseFlatCString(aHost).get(), aPort)); NS_ENSURE_ARG(aSocket); if (NS_IsMainThread()) { - if (aMainThreadEventTarget) { - gNeckoChild->SetEventTargetForActor(this, aMainThreadEventTarget); - } if (!gNeckoChild->SendPUDPSocketConstructor(this, aPrincipal, mFilterName)) { return NS_ERROR_FAILURE; diff --git a/dom/network/UDPSocketChild.h b/dom/network/UDPSocketChild.h index e65c6f87acbf..6af4c73b5ff6 100644 --- a/dom/network/UDPSocketChild.h +++ b/dom/network/UDPSocketChild.h @@ -61,8 +61,7 @@ class UDPSocketChild : public mozilla::net::PUDPSocketChild, nsresult Bind(nsIUDPSocketInternal* aSocket, nsIPrincipal* aPrincipal, const nsACString& aHost, uint16_t aPort, bool aAddressReuse, bool aLoopback, uint32_t recvBufferSize, - uint32_t sendBufferSize, - nsISerialEventTarget* aMainThreadEventTarget); + uint32_t sendBufferSize); // Tell the chrome process to connect the UDP socket to a given remote host // and port diff --git a/gfx/layers/client/TextureClient.cpp b/gfx/layers/client/TextureClient.cpp index 636960fd0b82..5d57c4bdaf28 100644 --- a/gfx/layers/client/TextureClient.cpp +++ b/gfx/layers/client/TextureClient.cpp @@ -1039,7 +1039,7 @@ bool TextureClient::InitIPDLActor(CompositableForwarder* aForwarder) { PTextureChild* actor = aForwarder->GetTextureForwarder()->CreateTexture( desc, std::move(readLockDescriptor), aForwarder->GetCompositorBackendType(), GetFlags(), mSerial, - mExternalImageId, nullptr); + mExternalImageId); if (!actor) { gfxCriticalNote << static_cast(desc.type()) << ", " diff --git a/gfx/layers/ipc/CompositorBridgeChild.cpp b/gfx/layers/ipc/CompositorBridgeChild.cpp index 646ef5677440..034f1a928fba 100644 --- a/gfx/layers/ipc/CompositorBridgeChild.cpp +++ b/gfx/layers/ipc/CompositorBridgeChild.cpp @@ -555,16 +555,11 @@ CompositorBridgeChild::GetTileLockAllocator() { PTextureChild* CompositorBridgeChild::CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, - wr::MaybeExternalImageId& aExternalImageId, nsISerialEventTarget* aTarget) { + wr::MaybeExternalImageId& aExternalImageId) { PTextureChild* textureChild = AllocPTextureChild(aSharedData, aReadLock, aLayersBackend, aFlags, LayersId{0} /* FIXME */, aSerial, aExternalImageId); - // Do the DOM labeling. - if (aTarget) { - SetEventTargetForActor(textureChild, aTarget); - } - return SendPTextureConstructor( textureChild, aSharedData, std::move(aReadLock), aLayersBackend, aFlags, LayersId{0} /* FIXME? */, aSerial, aExternalImageId); diff --git a/gfx/layers/ipc/CompositorBridgeChild.h b/gfx/layers/ipc/CompositorBridgeChild.h index 766beb841cc1..7b31481c8a36 100644 --- a/gfx/layers/ipc/CompositorBridgeChild.h +++ b/gfx/layers/ipc/CompositorBridgeChild.h @@ -102,12 +102,10 @@ class CompositorBridgeChild final : public PCompositorBridgeChild, mozilla::ipc::IPCResult RecvParentAsyncMessages( nsTArray&& aMessages); - PTextureChild* CreateTexture(const SurfaceDescriptor& aSharedData, - ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, - TextureFlags aFlags, uint64_t aSerial, - wr::MaybeExternalImageId& aExternalImageId, - nsISerialEventTarget* aTarget) override; + PTextureChild* CreateTexture( + const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, + LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + wr::MaybeExternalImageId& aExternalImageId) override; already_AddRefed GetCanvasChild() final; diff --git a/gfx/layers/ipc/ImageBridgeChild.cpp b/gfx/layers/ipc/ImageBridgeChild.cpp index bc8bfd739daa..e7e31415701e 100644 --- a/gfx/layers/ipc/ImageBridgeChild.cpp +++ b/gfx/layers/ipc/ImageBridgeChild.cpp @@ -822,7 +822,7 @@ mozilla::ipc::IPCResult ImageBridgeChild::RecvReportFramesDropped( PTextureChild* ImageBridgeChild::CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, - wr::MaybeExternalImageId& aExternalImageId, nsISerialEventTarget* aTarget) { + wr::MaybeExternalImageId& aExternalImageId) { MOZ_ASSERT(CanSend()); return SendPTextureConstructor(aSharedData, std::move(aReadLock), aLayersBackend, aFlags, aSerial, diff --git a/gfx/layers/ipc/ImageBridgeChild.h b/gfx/layers/ipc/ImageBridgeChild.h index b4d5167f34ed..01ea2c11787c 100644 --- a/gfx/layers/ipc/ImageBridgeChild.h +++ b/gfx/layers/ipc/ImageBridgeChild.h @@ -292,8 +292,7 @@ class ImageBridgeChild final : public PImageBridgeChild, PTextureChild* CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, - wr::MaybeExternalImageId& aExternalImageId, - nsISerialEventTarget* aTarget = nullptr) override; + wr::MaybeExternalImageId& aExternalImageId) override; bool IsSameProcess() const override; diff --git a/gfx/layers/ipc/TextureForwarder.h b/gfx/layers/ipc/TextureForwarder.h index 2ce2e5df523e..28a2d861ff47 100644 --- a/gfx/layers/ipc/TextureForwarder.h +++ b/gfx/layers/ipc/TextureForwarder.h @@ -76,8 +76,7 @@ class TextureForwarder : public LayersIPCChannel { virtual PTextureChild* CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, - wr::MaybeExternalImageId& aExternalImageId, - nsISerialEventTarget* aTarget = nullptr) = 0; + wr::MaybeExternalImageId& aExternalImageId) = 0; /** * Returns the CanvasChild for this TextureForwarder. diff --git a/gfx/layers/ipc/VideoBridgeChild.cpp b/gfx/layers/ipc/VideoBridgeChild.cpp index 248f1683f6ef..acffd0ff1375 100644 --- a/gfx/layers/ipc/VideoBridgeChild.cpp +++ b/gfx/layers/ipc/VideoBridgeChild.cpp @@ -166,7 +166,7 @@ void VideoBridgeChild::ActorDealloc() { mIPDLSelfRef = nullptr; } PTextureChild* VideoBridgeChild::CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, - wr::MaybeExternalImageId& aExternalImageId, nsISerialEventTarget* aTarget) { + wr::MaybeExternalImageId& aExternalImageId) { MOZ_ASSERT(CanSend()); return SendPTextureConstructor(aSharedData, std::move(aReadLock), aLayersBackend, aFlags, aSerial); diff --git a/gfx/layers/ipc/VideoBridgeChild.h b/gfx/layers/ipc/VideoBridgeChild.h index 24dd84de7f0c..a513597eff35 100644 --- a/gfx/layers/ipc/VideoBridgeChild.h +++ b/gfx/layers/ipc/VideoBridgeChild.h @@ -51,8 +51,7 @@ class VideoBridgeChild final : public PVideoBridgeChild, PTextureChild* CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, - wr::MaybeExternalImageId& aExternalImageId, - nsISerialEventTarget* aTarget = nullptr) override; + wr::MaybeExternalImageId& aExternalImageId) override; // ClientIPCAllocator base::ProcessId GetParentPid() const override { return OtherPid(); } diff --git a/gfx/vr/VRDisplayPresentation.cpp b/gfx/vr/VRDisplayPresentation.cpp index c1130d4ccfca..b5234f14439a 100644 --- a/gfx/vr/VRDisplayPresentation.cpp +++ b/gfx/vr/VRDisplayPresentation.cpp @@ -40,14 +40,12 @@ void VRDisplayPresentation::UpdateXRWebGLLayer(dom::XRWebGLLayer* aLayer) { } dom::HTMLCanvasElement* canvasElement = aLayer->GetCanvas(); - nsCOMPtr target = - canvasElement->OwnerDoc()->EventTargetFor(TaskCategory::Other); if (mLayers.Length() == 0) { // WebXR uses a single layer for now. RefPtr vrLayer = static_cast(manager->CreateVRLayer( - mDisplayClient->GetDisplayInfo().GetDisplayID(), target, mGroup)); + mDisplayClient->GetDisplayInfo().GetDisplayID(), mGroup)); mLayers.AppendElement(vrLayer); } RefPtr vrLayer = mLayers[0]; @@ -104,14 +102,11 @@ void VRDisplayPresentation::CreateLayers() { continue; } - nsCOMPtr target = - canvasElement->OwnerDoc()->EventTargetFor(TaskCategory::Other); - if (mLayers.Length() <= iLayer) { // Not enough layers, let's add one RefPtr vrLayer = static_cast(manager->CreateVRLayer( - mDisplayClient->GetDisplayInfo().GetDisplayID(), target, mGroup)); + mDisplayClient->GetDisplayInfo().GetDisplayID(), mGroup)); if (!vrLayer) { NS_WARNING("CreateVRLayer returned null!"); continue; diff --git a/gfx/vr/ipc/VRManagerChild.cpp b/gfx/vr/ipc/VRManagerChild.cpp index 35f605fbe185..ebda5246d638 100644 --- a/gfx/vr/ipc/VRManagerChild.cpp +++ b/gfx/vr/ipc/VRManagerChild.cpp @@ -369,14 +369,8 @@ bool VRManagerChild::EnumerateVRDisplays() { void VRManagerChild::DetectRuntimes() { Unused << SendDetectRuntimes(); } PVRLayerChild* VRManagerChild::CreateVRLayer(uint32_t aDisplayID, - nsISerialEventTarget* aTarget, uint32_t aGroup) { PVRLayerChild* vrLayerChild = AllocPVRLayerChild(aDisplayID, aGroup); - // Do the DOM labeling. - if (aTarget) { - SetEventTargetForActor(vrLayerChild, aTarget); - MOZ_ASSERT(vrLayerChild->GetActorEventTarget()); - } return SendPVRLayerConstructor(vrLayerChild, aDisplayID, aGroup); } diff --git a/gfx/vr/ipc/VRManagerChild.h b/gfx/vr/ipc/VRManagerChild.h index f484d6af9938..e980c69b889d 100644 --- a/gfx/vr/ipc/VRManagerChild.h +++ b/gfx/vr/ipc/VRManagerChild.h @@ -80,8 +80,7 @@ class VRManagerChild : public PVRManagerChild { static bool IsPresenting(); static TimeStamp GetIdleDeadlineHint(TimeStamp aDefault); - PVRLayerChild* CreateVRLayer(uint32_t aDisplayID, - nsISerialEventTarget* aTarget, uint32_t aGroup); + PVRLayerChild* CreateVRLayer(uint32_t aDisplayID, uint32_t aGroup); static void IdentifyTextureHost( const layers::TextureFactoryIdentifier& aIdentifier); diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp index df6fede37eb0..a9a64fe22aed 100644 --- a/ipc/glue/MessageChannel.cpp +++ b/ipc/glue/MessageChannel.cpp @@ -1779,19 +1779,12 @@ void MessageChannel::RunMessage(MessageTask& aTask) { // Check that we're going to run the first message that's valid to run. #if 0 # ifdef DEBUG - nsCOMPtr messageTarget = - mListener->GetMessageEventTarget(msg); - for (MessageTask* task : mPending) { if (task == &aTask) { break; } - nsCOMPtr taskTarget = - mListener->GetMessageEventTarget(task->Msg()); - MOZ_ASSERT(!ShouldRunMessage(task->Msg()) || - taskTarget != messageTarget || aTask.Msg().priority() != task->Msg().priority()); } @@ -1879,15 +1872,7 @@ void MessageChannel::MessageTask::Post() { mScheduled = true; - RefPtr self = this; - nsCOMPtr eventTarget = - Channel()->mListener->GetMessageEventTarget(mMessage); - - if (eventTarget) { - eventTarget->Dispatch(self.forget(), NS_DISPATCH_NORMAL); - } else { - Channel()->mWorkerThread->Dispatch(self.forget()); - } + Channel()->mWorkerThread->Dispatch(do_AddRef(this)); } NS_IMETHODIMP diff --git a/ipc/glue/MessageChannel.h b/ipc/glue/MessageChannel.h index 745214839b68..a93cf91b60b5 100644 --- a/ipc/glue/MessageChannel.h +++ b/ipc/glue/MessageChannel.h @@ -156,6 +156,11 @@ class MessageChannel : HasResultCodes { IToplevelProtocol* Listener() const { return mListener; } + // Returns the event target which the worker lives on and must be used for + // operations on the current thread. Only safe to access after the + // MessageChannel has been opened. + nsISerialEventTarget* GetWorkerEventTarget() const { return mWorkerThread; } + // "Open" a connection using an existing ScopedPort. The ScopedPort must be // valid and connected to a remote. // diff --git a/ipc/glue/ProtocolUtils.cpp b/ipc/glue/ProtocolUtils.cpp index efba8983894a..e4fd9bf518e7 100644 --- a/ipc/glue/ProtocolUtils.cpp +++ b/ipc/glue/ProtocolUtils.cpp @@ -337,27 +337,8 @@ const MessageChannel* IProtocol::GetIPCChannel() const { return mToplevel->GetIPCChannel(); } -void IProtocol::SetEventTargetForActor(IProtocol* aActor, - nsISerialEventTarget* aEventTarget) { - // Make sure we have a manager for the internal method to access. - aActor->SetManager(this); - mToplevel->SetEventTargetForActorInternal(aActor, aEventTarget); -} - -void IProtocol::ReplaceEventTargetForActor(IProtocol* aActor, - nsISerialEventTarget* aEventTarget) { - MOZ_ASSERT(aActor->Manager()); - mToplevel->ReplaceEventTargetForActor(aActor, aEventTarget); -} - nsISerialEventTarget* IProtocol::GetActorEventTarget() { - // FIXME: It's a touch sketchy that we don't return a strong reference here. - RefPtr target = GetActorEventTarget(this); - return target; -} -already_AddRefed IProtocol::GetActorEventTarget( - IProtocol* aActor) { - return mToplevel->GetActorEventTarget(aActor); + return GetIPCChannel()->GetWorkerEventTarget(); } void IProtocol::SetId(int32_t aId) { @@ -605,7 +586,6 @@ IToplevelProtocol::IToplevelProtocol(const char* aName, ProtocolId aProtoId, : IProtocol(aProtoId, aSide), mOtherPid(base::kInvalidProcessId), mLastLocalId(0), - mEventTargetMutex("ProtocolEventTargetMutex"), mChannel(aName, this) { mToplevel = this; } @@ -668,20 +648,7 @@ int32_t IToplevelProtocol::Register(IProtocol* aRouted) { // If there's already an ID, just return that. return aRouted->Id(); } - int32_t id = RegisterID(aRouted, NextId()); - - // Inherit our event target from our manager. - if (IProtocol* manager = aRouted->Manager()) { - MutexAutoLock lock(mEventTargetMutex); - if (nsCOMPtr target = - mEventTargetMap.Get(manager->Id())) { - MOZ_ASSERT(!mEventTargetMap.Contains(id), - "Don't insert with an existing ID"); - mEventTargetMap.InsertOrUpdate(id, std::move(target)); - } - } - - return id; + return RegisterID(aRouted, NextId()); } int32_t IToplevelProtocol::RegisterID(IProtocol* aRouted, int32_t aId) { @@ -698,9 +665,6 @@ void IToplevelProtocol::Unregister(int32_t aId) { MOZ_ASSERT(mActorMap.Contains(aId), "Attempting to remove an ID not in the actor map"); mActorMap.Remove(aId); - - MutexAutoLock lock(mEventTargetMutex); - mEventTargetMap.Remove(aId); } Shmem::SharedMemory* IToplevelProtocol::CreateSharedMemory( @@ -801,88 +765,6 @@ bool IToplevelProtocol::ShmemDestroyed(const Message& aMsg) { return true; } -already_AddRefed IToplevelProtocol::GetMessageEventTarget( - const Message& aMsg) { - int32_t route = aMsg.routing_id(); - - Maybe lock; - lock.emplace(mEventTargetMutex); - - nsCOMPtr target = mEventTargetMap.Get(route); - - if (aMsg.is_constructor()) { - ActorHandle handle; - PickleIterator iter = PickleIterator(aMsg); - if (!IPC::ReadParam(&aMsg, &iter, &handle)) { - return nullptr; - } - -#ifdef DEBUG - // If this function is called more than once for the same message, the actor - // handle ID will already be in the map, but it should have the same target. - nsCOMPtr existingTgt = - mEventTargetMap.Get(handle.mId); - MOZ_ASSERT(existingTgt == target || existingTgt == nullptr); -#endif /* DEBUG */ - - mEventTargetMap.InsertOrUpdate(handle.mId, nsCOMPtr{target}); - } - - return target.forget(); -} - -already_AddRefed IToplevelProtocol::GetActorEventTarget( - IProtocol* aActor) { - MOZ_RELEASE_ASSERT(aActor->Id() != kNullActorId && - aActor->Id() != kFreedActorId); - - MutexAutoLock lock(mEventTargetMutex); - nsCOMPtr target = mEventTargetMap.Get(aActor->Id()); - return target.forget(); -} - -nsISerialEventTarget* IToplevelProtocol::GetActorEventTarget() { - // The EventTarget of a ToplevelProtocol shall never be set. - return nullptr; -} - -void IToplevelProtocol::SetEventTargetForActorInternal( - IProtocol* aActor, nsISerialEventTarget* aEventTarget) { - // The EventTarget of a ToplevelProtocol shall never be set. - MOZ_RELEASE_ASSERT(aActor != this); - - // We should only call this function on actors that haven't been used for IPC - // code yet. Otherwise we'll be posting stuff to the wrong event target before - // we're called. - MOZ_RELEASE_ASSERT(aActor->Id() == kNullActorId || - aActor->Id() == kFreedActorId); - - MOZ_ASSERT(aActor->Manager() && aActor->ToplevelProtocol() == this); - - // Register the actor early. When it's registered again, it will keep the same - // ID. - int32_t id = Register(aActor); - aActor->SetId(id); - - MutexAutoLock lock(mEventTargetMutex); - // FIXME bug 1445121 - sometimes the id is already mapped. - mEventTargetMap.InsertOrUpdate(id, nsCOMPtr{aEventTarget}); -} - -void IToplevelProtocol::ReplaceEventTargetForActor( - IProtocol* aActor, nsISerialEventTarget* aEventTarget) { - // The EventTarget of a ToplevelProtocol shall never be set. - MOZ_RELEASE_ASSERT(aActor != this); - - int32_t id = aActor->Id(); - // The ID of the actor should have existed. - MOZ_RELEASE_ASSERT(id != kNullActorId && id != kFreedActorId); - - MutexAutoLock lock(mEventTargetMutex); - MOZ_ASSERT(mEventTargetMap.Contains(id), "Only replace an existing ID"); - mEventTargetMap.InsertOrUpdate(id, nsCOMPtr{aEventTarget}); -} - IPDLResolverInner::IPDLResolverInner(UniquePtr aReply, IProtocol* aActor) : mReply(std::move(aReply)), diff --git a/ipc/glue/ProtocolUtils.h b/ipc/glue/ProtocolUtils.h index 66802fe4724b..4fb16c42853b 100644 --- a/ipc/glue/ProtocolUtils.h +++ b/ipc/glue/ProtocolUtils.h @@ -208,23 +208,10 @@ class IProtocol : public HasResultCodes { MessageChannel* GetIPCChannel(); const MessageChannel* GetIPCChannel() const; - // Sets an event target to which all messages for aActor will be - // dispatched. This method must be called before right before the SendPFoo - // message for aActor is sent. And SendPFoo *must* be called if - // SetEventTargetForActor is called. The receiver when calling - // SetEventTargetForActor must be the actor that will be the manager for - // aActor. - void SetEventTargetForActor(IProtocol* aActor, - nsISerialEventTarget* aEventTarget); - - // Replace the event target for the messages of aActor. There must not be - // any messages of aActor in the task queue, or we might run into some - // unexpected behavior. - void ReplaceEventTargetForActor(IProtocol* aActor, - nsISerialEventTarget* aEventTarget); - + // Get the nsISerialEventTarget which all messages sent to this actor will be + // processed on. Unless stated otherwise, all operations on IProtocol which + // don't occur on this `nsISerialEventTarget` are unsafe. nsISerialEventTarget* GetActorEventTarget(); - already_AddRefed GetActorEventTarget(IProtocol* aActor); // Actor lifecycle and other properties. ProtocolId GetProtocolId() const { return mProtocolId; } @@ -424,14 +411,6 @@ class IToplevelProtocol : public IProtocol { MessageChannel* GetIPCChannel() { return &mChannel; } const MessageChannel* GetIPCChannel() const { return &mChannel; } - // NOTE: The target actor's Manager must already be set. - void SetEventTargetForActorInternal(IProtocol* aActor, - nsISerialEventTarget* aEventTarget); - void ReplaceEventTargetForActor(IProtocol* aActor, - nsISerialEventTarget* aEventTarget); - nsISerialEventTarget* GetActorEventTarget(); - already_AddRefed GetActorEventTarget(IProtocol* aActor); - void SetOtherProcessId(base::ProcessId aOtherPid); virtual void OnChannelClose() = 0; @@ -521,9 +500,6 @@ class IToplevelProtocol : public IProtocol { void OnIPCChannelOpened() { ActorConnected(); } - already_AddRefed GetMessageEventTarget( - const Message& aMsg); - base::ProcessId OtherPidMaybeInvalid() const { return mOtherPid; } private: @@ -540,12 +516,6 @@ class IToplevelProtocol : public IProtocol { IDMap mActorMap; IDMap mShmemMap; - // XXX: We no longer need mEventTargetMap for Quantum DOM, so it may be - // worthwhile to remove it before people start depending on it for other weird - // things. - Mutex mEventTargetMutex; - IDMap> mEventTargetMap; - MessageChannel mChannel; }; diff --git a/netwerk/ipc/NeckoChild.cpp b/netwerk/ipc/NeckoChild.cpp index b6a91e713461..be28cfd561d9 100644 --- a/netwerk/ipc/NeckoChild.cpp +++ b/netwerk/ipc/NeckoChild.cpp @@ -184,10 +184,6 @@ PWebSocketEventListenerChild* NeckoChild::AllocPWebSocketEventListenerChild( RefPtr c = new WebSocketEventListenerChild(aInnerWindowID, target); - if (target) { - gNeckoChild->SetEventTargetForActor(c, target); - } - return c.forget().take(); } diff --git a/netwerk/protocol/gio/GIOChannelChild.cpp b/netwerk/protocol/gio/GIOChannelChild.cpp index 487912c7511f..d41939bfa3fe 100644 --- a/netwerk/protocol/gio/GIOChannelChild.cpp +++ b/netwerk/protocol/gio/GIOChannelChild.cpp @@ -454,8 +454,6 @@ void GIOChannelChild::SetupNeckoTarget() { if (!mNeckoTarget) { return; } - - gNeckoChild->SetEventTargetForActor(this, mNeckoTarget); } } // namespace net diff --git a/netwerk/protocol/http/HttpChannelChild.cpp b/netwerk/protocol/http/HttpChannelChild.cpp index 0fe795c4bcf3..8ef574c7b282 100644 --- a/netwerk/protocol/http/HttpChannelChild.cpp +++ b/netwerk/protocol/http/HttpChannelChild.cpp @@ -2034,8 +2034,6 @@ void HttpChannelChild::SetEventTarget() { return; } - gNeckoChild->SetEventTargetForActor(this, target); - { MutexAutoLock lock(mEventTargetMutex); mNeckoTarget = target; @@ -2480,8 +2478,6 @@ HttpChannelChild::OpenAlternativeOutputStream(const nsACString& aType, RefPtr stream = new AltDataOutputStreamChild(); stream->AddIPDLReference(); - gNeckoChild->SetEventTargetForActor(stream, neckoTarget); - if (!gNeckoChild->SendPAltDataOutputStreamConstructor( stream, nsCString(aType), aPredictedSize, this)) { return NS_ERROR_FAILURE; diff --git a/netwerk/protocol/websocket/WebSocketChannelChild.cpp b/netwerk/protocol/websocket/WebSocketChannelChild.cpp index b7dafa8f9f49..694fe4884b4e 100644 --- a/netwerk/protocol/websocket/WebSocketChannelChild.cpp +++ b/netwerk/protocol/websocket/WebSocketChannelChild.cpp @@ -453,11 +453,6 @@ void WebSocketChannelChild::OnServerClose(const uint16_t& aCode, void WebSocketChannelChild::SetupNeckoTarget() { mNeckoTarget = nsContentUtils::GetEventTargetByLoadInfo( mLoadInfo, TaskCategory::Network); - if (!mNeckoTarget) { - return; - } - - gNeckoChild->SetEventTargetForActor(this, mNeckoTarget); } NS_IMETHODIMP diff --git a/netwerk/url-classifier/nsChannelClassifier.cpp b/netwerk/url-classifier/nsChannelClassifier.cpp index 574485bff410..b9bdb3a050d4 100644 --- a/netwerk/url-classifier/nsChannelClassifier.cpp +++ b/netwerk/url-classifier/nsChannelClassifier.cpp @@ -215,7 +215,7 @@ nsresult nsChannelClassifier::StartInternal() { } // The classify is running in parent process, no need to give a valid event // target - rv = uriClassifier->Classify(principal, nullptr, this, &expectCallback); + rv = uriClassifier->Classify(principal, this, &expectCallback); if (NS_FAILED(rv)) { return rv; } diff --git a/netwerk/url-classifier/nsIURIClassifier.idl b/netwerk/url-classifier/nsIURIClassifier.idl index d99152330e7a..788d7b346574 100644 --- a/netwerk/url-classifier/nsIURIClassifier.idl +++ b/netwerk/url-classifier/nsIURIClassifier.idl @@ -58,11 +58,6 @@ interface nsIURIClassifier : nsISupports * @param aPrincipal * The principal that should be checked by the URI classifier. * - * @param nsISerialEventTarget - * Event target for constructing actor in content process. - * The event target should be tied to Docgroup/Tabgroup by - * using EventTargetFor - * * @param aCallback * The URI classifier will call this callback when the URI has been * classified. @@ -73,7 +68,6 @@ interface nsIURIClassifier : nsISupports * callback will be called. */ boolean classify(in nsIPrincipal aPrincipal, - in nsISerialEventTarget aEventTarget, in nsIURIClassifierCallback aCallback); /** diff --git a/testing/specialpowers/content/SpecialPowersChild.jsm b/testing/specialpowers/content/SpecialPowersChild.jsm index 468e65cc282e..73dec82e2c7f 100644 --- a/testing/specialpowers/content/SpecialPowersChild.jsm +++ b/testing/specialpowers/content/SpecialPowersChild.jsm @@ -2193,7 +2193,7 @@ class SpecialPowersChild extends JSWindowActorChild { * chrome-privileged and allowed to run inside SystemGroup */ - doUrlClassify(principal, eventTarget, callback) { + doUrlClassify(principal, callback) { let classifierService = Cc[ "@mozilla.org/url-classifier/dbservice;1" ].getService(Ci.nsIURIClassifier); @@ -2210,7 +2210,6 @@ class SpecialPowersChild extends JSWindowActorChild { return classifierService.classify( WrapPrivileged.unwrap(principal), - eventTarget, wrapCallback ); } diff --git a/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp b/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp index 2987f3d5611f..884277eeb1f0 100644 --- a/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp +++ b/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp @@ -1690,9 +1690,9 @@ nsresult nsUrlClassifierDBService::Init() { // nsChannelClassifier is the only consumer of this interface. NS_IMETHODIMP nsUrlClassifierDBService::Classify(nsIPrincipal* aPrincipal, - nsISerialEventTarget* aEventTarget, nsIURIClassifierCallback* c, bool* aResult) { NS_ENSURE_ARG(aPrincipal); + MOZ_ASSERT(c); NS_ENSURE_ARG(aResult); if (aPrincipal->IsSystemPrincipal()) { @@ -1710,10 +1710,6 @@ nsUrlClassifierDBService::Classify(nsIPrincipal* aPrincipal, content->AllocPURLClassifierChild(IPC::Principal(aPrincipal), aResult)); MOZ_ASSERT(actor); - if (aEventTarget) { - content->SetEventTargetForActor(actor, aEventTarget); - } - if (!content->SendPURLClassifierConstructor( actor, IPC::Principal(aPrincipal), aResult)) { *aResult = false; diff --git a/toolkit/components/url-classifier/tests/mochitest/test_classifier.html b/toolkit/components/url-classifier/tests/mochitest/test_classifier.html index cb029fbf846f..ceb434a76044 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_classifier.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_classifier.html @@ -94,7 +94,7 @@ function testService() { let tables = "test-malware-simple,test-unwanted-simple,test-phish-simple,test-block-simple,test-harmful-simple"; let uri = SpecialPowers.Services.io.newURI(test.url); let prin = SpecialPowers.Services.scriptSecurityManager.createContentPrincipal(uri, {}); - SpecialPowers.doUrlClassify(prin, null, function(errorCode) { + SpecialPowers.doUrlClassify(prin, function(errorCode) { is(errorCode, test.result, `Successful asynchronous classification of ${test.url}`); SpecialPowers.doUrlClassifyLocal(uri, tables, function(results) { diff --git a/toolkit/components/url-classifier/tests/mochitest/test_classifier_match.html b/toolkit/components/url-classifier/tests/mochitest/test_classifier_match.html index 87597a09fd72..84fe4547ed8e 100644 --- a/toolkit/components/url-classifier/tests/mochitest/test_classifier_match.html +++ b/toolkit/components/url-classifier/tests/mochitest/test_classifier_match.html @@ -154,7 +154,7 @@ function runTest() { let test = testDatas.shift(); let uri = SpecialPowers.Services.io.newURI(test.url); let prin = SpecialPowers.Services.scriptSecurityManager.createContentPrincipal(uri, {}); - SpecialPowers.doUrlClassify(prin, null, function(errorCode, table, provider, fullhash) { + SpecialPowers.doUrlClassify(prin, function(errorCode, table, provider, fullhash) { is(errorCode, test.expect.error, `Test url ${test.url} correct error`); is(table, test.expect.table, `Test url ${test.url} correct table`); is(provider, test.expect.provider, `Test url ${test.url} correct provider`);