mirror of
https://github.com/roytam1/basilisk55.git
synced 2026-05-26 15:02:46 +00:00
import from UXP: [DOM] Fix access to shared RuntimeService::mNavigatorProperties. (2f1af755)
This commit is contained in:
@@ -1636,6 +1636,8 @@ RuntimeService::RegisterWorker(WorkerPrivate* aWorkerPrivate)
|
||||
}
|
||||
else {
|
||||
if (!mNavigatorPropertiesLoaded) {
|
||||
MutexAutoLock lock(mMutex);
|
||||
|
||||
Navigator::AppName(mNavigatorProperties.mAppName,
|
||||
false /* aUsePrefOverriddenValue */);
|
||||
if (NS_FAILED(Navigator::GetAppVersion(mNavigatorProperties.mAppVersion,
|
||||
@@ -2564,6 +2566,7 @@ void
|
||||
RuntimeService::UpdateAppVersionOverridePreference(const nsAString& aValue)
|
||||
{
|
||||
AssertIsOnMainThread();
|
||||
MutexAutoLock lock(mMutex);
|
||||
mNavigatorProperties.mAppVersionOverridden = aValue;
|
||||
}
|
||||
|
||||
@@ -2571,6 +2574,7 @@ void
|
||||
RuntimeService::UpdatePlatformOverridePreference(const nsAString& aValue)
|
||||
{
|
||||
AssertIsOnMainThread();
|
||||
MutexAutoLock lock(mMutex);
|
||||
mNavigatorProperties.mPlatformOverridden = aValue;
|
||||
}
|
||||
|
||||
@@ -2585,7 +2589,10 @@ RuntimeService::UpdateAllWorkerLanguages(const nsTArray<nsString>& aLanguages)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
mNavigatorProperties.mLanguages = aLanguages;
|
||||
{
|
||||
MutexAutoLock lock(mMutex);
|
||||
mNavigatorProperties.mLanguages = aLanguages;
|
||||
}
|
||||
BROADCAST_ALL_WORKERS(UpdateLanguages, aLanguages);
|
||||
}
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ class RuntimeService final : public nsIObserver
|
||||
|
||||
struct IdleThreadInfo;
|
||||
|
||||
mozilla::Mutex mMutex;
|
||||
mutable mozilla::Mutex mMutex;
|
||||
|
||||
// Protected by mMutex.
|
||||
nsClassHashtable<nsCStringHashKey, WorkerDomainInfo> mDomainMap;
|
||||
@@ -157,9 +157,10 @@ public:
|
||||
void
|
||||
ForgetSharedWorker(WorkerPrivate* aWorkerPrivate);
|
||||
|
||||
const NavigatorProperties&
|
||||
NavigatorProperties
|
||||
GetNavigatorProperties() const
|
||||
{
|
||||
MutexAutoLock lock(mMutex);
|
||||
return mNavigatorProperties;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ WorkerNavigator::Create(bool aOnLine)
|
||||
RuntimeService* rts = RuntimeService::GetService();
|
||||
MOZ_ASSERT(rts);
|
||||
|
||||
const RuntimeService::NavigatorProperties& properties =
|
||||
RuntimeService::NavigatorProperties properties =
|
||||
rts->GetNavigatorProperties();
|
||||
|
||||
RefPtr<WorkerNavigator> navigator =
|
||||
|
||||
Reference in New Issue
Block a user