diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp index d8d5688e6d7e..0b5551a48e04 100644 --- a/dom/ipc/ContentChild.cpp +++ b/dom/ipc/ContentChild.cpp @@ -1683,6 +1683,9 @@ bool ContentChild::RecvNotifyGMPsChanged() { GMPDecoderModule::UpdateUsableCodecs(); + MOZ_ASSERT(NS_IsMainThread()); + nsCOMPtr obs = mozilla::services::GetObserverService(); + obs->NotifyObservers(nullptr, "gmp-changed", nullptr); return true; } diff --git a/dom/media/eme/MediaKeySystemAccessManager.cpp b/dom/media/eme/MediaKeySystemAccessManager.cpp index 502e4a98c912..820cabf0e6af 100644 --- a/dom/media/eme/MediaKeySystemAccessManager.cpp +++ b/dom/media/eme/MediaKeySystemAccessManager.cpp @@ -263,7 +263,7 @@ MediaKeySystemAccessManager::Observe(nsISupports* aSubject, { EME_LOG("MediaKeySystemAccessManager::Observe %s", aTopic); - if (!strcmp(aTopic, "gmp-path-added")) { + if (!strcmp(aTopic, "gmp-changed")) { nsTArray requests(Move(mRequests)); // Retry all pending requests, but this time fail if the CDM is not installed. for (PendingRequest& request : requests) { @@ -296,7 +296,7 @@ MediaKeySystemAccessManager::EnsureObserversAdded() if (NS_WARN_IF(!obsService)) { return false; } - mAddedObservers = NS_SUCCEEDED(obsService->AddObserver(this, "gmp-path-added", false)); + mAddedObservers = NS_SUCCEEDED(obsService->AddObserver(this, "gmp-changed", false)); return mAddedObservers; } @@ -313,7 +313,7 @@ MediaKeySystemAccessManager::Shutdown() if (mAddedObservers) { nsCOMPtr obsService = mozilla::services::GetObserverService(); if (obsService) { - obsService->RemoveObserver(this, "gmp-path-added"); + obsService->RemoveObserver(this, "gmp-changed"); mAddedObservers = false; } } diff --git a/dom/media/gmp/GMPServiceParent.cpp b/dom/media/gmp/GMPServiceParent.cpp index d799db4d5c00..11ff331b80bb 100644 --- a/dom/media/gmp/GMPServiceParent.cpp +++ b/dom/media/gmp/GMPServiceParent.cpp @@ -1107,7 +1107,6 @@ GeckoMediaPluginServiceParent::AddOnGMPThread(nsString aDirectory) MutexAutoLock lock(self->mMutex); self->mPlugins.AppendElement(gmp); } - NS_DispatchToMainThread(new NotifyObserversTask("gmp-path-added"), NS_DISPATCH_NORMAL); }, [dir]() -> void { LOGD(("%s::%s: %s Failed", __CLASS__, __FUNCTION__, dir.get()));