|
|
|
Lines 9854-9882
nsNavigator::GetAppName(nsAString& aAppN
|
Link Here
|
|---|
|
| 9854 |
return NS_OK; |
9854 |
return NS_OK; |
| 9855 |
} |
9855 |
} |
| 9856 |
} |
9856 |
} |
| 9857 |
|
9857 |
|
| 9858 |
aAppName.AssignLiteral("Netscape"); |
9858 |
aAppName.AssignLiteral("Netscape"); |
| 9859 |
return NS_OK; |
9859 |
return NS_OK; |
| 9860 |
} |
9860 |
} |
| 9861 |
|
9861 |
|
|
|
9862 |
/** |
| 9863 |
* Take first value from Accept-Languages (HTTP header), which is |
| 9864 |
* the "content language" freely set by the user in the Pref window. |
| 9865 |
* See RFC 2616, Section 15.1.4 "Privacy Issues Connected to Accept Headers" |
| 9866 |
*/ |
| 9862 |
NS_IMETHODIMP |
9867 |
NS_IMETHODIMP |
| 9863 |
nsNavigator::GetLanguage(nsAString& aLanguage) |
9868 |
nsNavigator::GetLanguage(nsAString& aLanguage) |
| 9864 |
{ |
9869 |
{ |
| 9865 |
nsresult rv; |
9870 |
// e.g. "de-de,en-us,en" |
| 9866 |
nsCOMPtr<nsIHttpProtocolHandler> |
9871 |
const nsAdoptingString& acceptLang = |
| 9867 |
service(do_GetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &rv)); |
9872 |
nsContentUtils::GetLocalizedStringPref("intl.accept_languages"); |
| 9868 |
if (NS_SUCCEEDED(rv)) { |
9873 |
// take everything before the first "," |
| 9869 |
nsCAutoString lang; |
9874 |
nsAString::const_iterator startString, startComma, endComma; |
| 9870 |
rv = service->GetLanguage(lang); |
9875 |
acceptLang.BeginReading(startString); |
| 9871 |
CopyASCIItoUTF16(lang, aLanguage); |
9876 |
acceptLang.BeginReading(startComma); |
| 9872 |
} |
9877 |
acceptLang.EndReading(endComma); |
| 9873 |
|
9878 |
if (FindInReadable(NS_LITERAL_STRING(","), startComma, endComma)) |
| 9874 |
return rv; |
9879 |
aLanguage.Assign(Substring(startString, startComma)); |
|
|
9880 |
else |
| 9881 |
aLanguage.Assign(acceptLang); |
| 9882 |
NS_ASSERTION(aLanguage.Length() == 2 || aLanguage.Length() == 5, |
| 9883 |
"invalid intl.accept_languages pref"); |
| 9884 |
return NS_OK; |
| 9875 |
} |
9885 |
} |
| 9876 |
|
9886 |
|
| 9877 |
NS_IMETHODIMP |
9887 |
NS_IMETHODIMP |
| 9878 |
nsNavigator::GetPlatform(nsAString& aPlatform) |
9888 |
nsNavigator::GetPlatform(nsAString& aPlatform) |
| 9879 |
{ |
9889 |
{ |
| 9880 |
if (!nsContentUtils::IsCallerTrustedForRead()) { |
9890 |
if (!nsContentUtils::IsCallerTrustedForRead()) { |
| 9881 |
const nsAdoptingCString& override = |
9891 |
const nsAdoptingCString& override = |
| 9882 |
nsContentUtils::GetCharPref("general.platform.override"); |
9892 |
nsContentUtils::GetCharPref("general.platform.override"); |