mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1314858 - Make content process cache of GMP capabilities thread safe. r=gerald
MozReview-Commit-ID: 5zTFlfReBne --HG-- extra : rebase_source : 90e6018b6574c0d2f5a51ad56ab87ef5b535f124
This commit is contained in:
parent
50e79d67a0
commit
d6045d04f6
@ -14,6 +14,7 @@
|
||||
#include "GMPContentParent.h"
|
||||
#include "nsXPCOMPrivate.h"
|
||||
#include "mozilla/SyncRunnable.h"
|
||||
#include "mozilla/StaticMutex.h"
|
||||
#include "runnable_utils.h"
|
||||
#include "base/task.h"
|
||||
#include "nsIObserverService.h"
|
||||
@ -179,6 +180,7 @@ struct GMPCapabilityAndVersion
|
||||
nsTArray<GMPCapability> mCapabilities;
|
||||
};
|
||||
|
||||
StaticMutex sGMPCapabilitiesMutex;
|
||||
StaticAutoPtr<nsTArray<GMPCapabilityAndVersion>> sGMPCapabilities;
|
||||
|
||||
static nsCString
|
||||
@ -198,6 +200,7 @@ GMPCapabilitiesToString()
|
||||
void
|
||||
GeckoMediaPluginServiceChild::UpdateGMPCapabilities(nsTArray<GMPCapabilityData>&& aCapabilities)
|
||||
{
|
||||
StaticMutexAutoLock lock(sGMPCapabilitiesMutex);
|
||||
if (!sGMPCapabilities) {
|
||||
sGMPCapabilities = new nsTArray<GMPCapabilityAndVersion>();
|
||||
ClearOnShutdown(&sGMPCapabilities);
|
||||
@ -223,7 +226,7 @@ GeckoMediaPluginServiceChild::HasPluginForAPI(const nsACString& aAPI,
|
||||
nsTArray<nsCString>* aTags,
|
||||
bool* aHasPlugin)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
StaticMutexAutoLock lock(sGMPCapabilitiesMutex);
|
||||
if (!sGMPCapabilities) {
|
||||
*aHasPlugin = false;
|
||||
return NS_OK;
|
||||
|
Loading…
Reference in New Issue
Block a user