$OpenBSD$ index 0f03ad3..3f9e37b 100644 --- dom/base/Navigator.cpp.orig Fri Feb 20 15:40:37 2015 +++ dom/base/Navigator.cpp Fri Feb 20 15:40:37 2015 @@ -337,13 +337,13 @@ Navigator::GetAppCodeName(nsAString& aAppCodeName) NS_IMETHODIMP Navigator::GetAppVersion(nsAString& aAppVersion) { - return NS_GetNavigatorAppVersion(aAppVersion); + return GetAppVersion(aAppVersion, /* aUsePrefOverriddenValue */ true); } NS_IMETHODIMP Navigator::GetAppName(nsAString& aAppName) { - NS_GetNavigatorAppName(aAppName); + AppName(aAppName, /* aUsePrefOverriddenValue */ true); return NS_OK; } @@ -406,7 +406,7 @@ Navigator::GetLanguage(nsAString& aLanguage) NS_IMETHODIMP Navigator::GetPlatform(nsAString& aPlatform) { - return NS_GetNavigatorPlatform(aPlatform); + return GetPlatform(aPlatform, /* aUsePrefOverriddenValue */ true); } NS_IMETHODIMP @@ -1265,6 +1265,9 @@ Navigator::SendBeacon(const nsAString& aUrl, principal, true); + rv = cors->Init(channel, true); + NS_ENSURE_SUCCESS(rv, false); + // Start a preflight if cross-origin and content type is not whitelisted rv = secMan->CheckSameOriginURI(documentURI, uri, false); bool crossOrigin = NS_FAILED(rv); @@ -2356,29 +2359,12 @@ Navigator::GetWindowFromGlobal(JSObject* aGlobal) return win.forget(); } -} // namespace dom -} // namespace mozilla - nsresult -NS_GetNavigatorUserAgent(nsAString& aUserAgent) +Navigator::GetPlatform(nsAString& aPlatform, bool aUsePrefOverriddenValue) { - nsresult rv; - - nsCOMPtr - service(do_GetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &rv)); - NS_ENSURE_SUCCESS(rv, rv); - - nsAutoCString ua; - rv = service->GetUserAgent(ua); - CopyASCIItoUTF16(ua, aUserAgent); - - return rv; -} + MOZ_ASSERT(NS_IsMainThread()); -nsresult -NS_GetNavigatorPlatform(nsAString& aPlatform) -{ - if (!nsContentUtils::IsCallerChrome()) { + if (aUsePrefOverriddenValue && !nsContentUtils::IsCallerChrome()) { const nsAdoptingString& override = mozilla::Preferences::GetString("general.platform.override"); @@ -2417,10 +2403,11 @@ NS_GetNavigatorPlatform(nsAString& aPlatform) return rv; } -nsresult -NS_GetNavigatorAppVersion(nsAString& aAppVersion) + +/* static */ nsresult +Navigator::GetAppVersion(nsAString& aAppVersion, bool aUsePrefOverriddenValue) { - if (!nsContentUtils::IsCallerChrome()) { + if (aUsePrefOverriddenValue && !nsContentUtils::IsCallerChrome()) { const nsAdoptingString& override = mozilla::Preferences::GetString("general.appversion.override"); @@ -2452,10 +2439,10 @@ NS_GetNavigatorAppVersion(nsAString& aAppVersion) return rv; } -void -NS_GetNavigatorAppName(nsAString& aAppName) +/* static */ void +Navigator::AppName(nsAString& aAppName, bool aUsePrefOverriddenValue) { - if (!nsContentUtils::IsCallerChrome()) { + if (aUsePrefOverriddenValue && !nsContentUtils::IsCallerChrome()) { const nsAdoptingString& override = mozilla::Preferences::GetString("general.appname.override"); @@ -2467,3 +2454,22 @@ NS_GetNavigatorAppName(nsAString& aAppName) aAppName.AssignLiteral("Netscape"); } + +} // namespace dom +} // namespace mozilla + +nsresult +NS_GetNavigatorUserAgent(nsAString& aUserAgent) +{ + nsresult rv; + + nsCOMPtr + service(do_GetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &rv)); + NS_ENSURE_SUCCESS(rv, rv); + + nsAutoCString ua; + rv = service->GetUserAgent(ua); + CopyASCIItoUTF16(ua, aUserAgent); + + return rv; +}