$OpenBSD$ index 9db904f..f2604cd 100644 --- dom/workers/Navigator.cpp.orig Fri Feb 20 15:40:37 2015 +++ dom/workers/Navigator.cpp Fri Feb 20 15:40:37 2015 @@ -8,6 +8,7 @@ #include "mozilla/dom/WorkerNavigatorBinding.h" #include "RuntimeService.h" +#include "WorkerPrivate.h" BEGIN_WORKERS_NAMESPACE @@ -26,9 +27,7 @@ WorkerNavigator::Create(bool aOnLine) rts->GetNavigatorProperties(); nsRefPtr navigator = - new WorkerNavigator(properties.mAppName, properties.mAppVersion, - properties.mPlatform, properties.mUserAgent, - aOnLine); + new WorkerNavigator(properties, aOnLine); return navigator.forget(); } @@ -39,4 +38,46 @@ WorkerNavigator::WrapObject(JSContext* aCx) return WorkerNavigatorBinding_workers::Wrap(aCx, this); } +void +WorkerNavigator::GetAppName(nsString& aAppName) const +{ + WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate(); + MOZ_ASSERT(workerPrivate); + + if (!mProperties.mAppNameOverridden.IsEmpty() && + !workerPrivate->UsesSystemPrincipal()) { + aAppName = mProperties.mAppNameOverridden; + } else { + aAppName = mProperties.mAppName; + } +} + +void +WorkerNavigator::GetAppVersion(nsString& aAppVersion) const +{ + WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate(); + MOZ_ASSERT(workerPrivate); + + if (!mProperties.mAppVersionOverridden.IsEmpty() && + !workerPrivate->UsesSystemPrincipal()) { + aAppVersion = mProperties.mAppVersionOverridden; + } else { + aAppVersion = mProperties.mAppVersion; + } +} + +void +WorkerNavigator::GetPlatform(nsString& aPlatform) const +{ + WorkerPrivate* workerPrivate = GetCurrentThreadWorkerPrivate(); + MOZ_ASSERT(workerPrivate); + + if (!mProperties.mPlatformOverridden.IsEmpty() && + !workerPrivate->UsesSystemPrincipal()) { + aPlatform = mProperties.mPlatformOverridden; + } else { + aPlatform = mProperties.mPlatform; + } +} + END_WORKERS_NAMESPACE