mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-20 22:27:31 +09:00
Update UA construction.
This commit is contained in:
parent
49ffafc979
commit
b3ce96c6d7
6 changed files with 63 additions and 12 deletions
|
|
@ -1 +1 @@
|
||||||
55.0.0
|
52.9.0
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
55.0.0
|
52.9.0
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,9 @@
|
||||||
|
|
||||||
pref("keyword.enabled", false);
|
pref("keyword.enabled", false);
|
||||||
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
|
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
|
||||||
|
pref("general.useragent.compatMode.gecko", false);
|
||||||
pref("general.useragent.compatMode.firefox", false);
|
pref("general.useragent.compatMode.firefox", false);
|
||||||
|
pref("general.useragent.appVersionIsBuildID", true);
|
||||||
|
|
||||||
// This pref exists only for testing purposes. In order to disable all
|
// This pref exists only for testing purposes. In order to disable all
|
||||||
// overrides by default, don't initialize UserAgentOverrides.jsm.
|
// overrides by default, don't initialize UserAgentOverrides.jsm.
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,9 @@
|
||||||
|
|
||||||
#define NS_HTTP_PROTOCOL_FLAGS (URI_STD | ALLOWS_PROXY | ALLOWS_PROXY_HTTP | URI_LOADABLE_BY_ANYONE)
|
#define NS_HTTP_PROTOCOL_FLAGS (URI_STD | ALLOWS_PROXY | ALLOWS_PROXY_HTTP | URI_LOADABLE_BY_ANYONE)
|
||||||
|
|
||||||
|
// Firefox compatibility version we claim in our UA by default
|
||||||
|
#define MOZILLA_COMPATVERSION "52.9"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
namespace mozilla {
|
namespace mozilla {
|
||||||
|
|
@ -316,9 +319,11 @@ nsHttpHandler::Init()
|
||||||
|
|
||||||
nsHttpChannelAuthProvider::InitializePrefs();
|
nsHttpChannelAuthProvider::InitializePrefs();
|
||||||
|
|
||||||
mMisc.AssignLiteral("rv:" MOZILLA_UAVERSION);
|
// rv: should have the Firefox/Gecko compatversion for web compatibility
|
||||||
|
mMisc.AssignLiteral("rv:" MOZILLA_COMPATVERSION);
|
||||||
|
|
||||||
mCompatFirefox.AssignLiteral("Firefox/" MOZILLA_UAVERSION);
|
mCompatGecko.AssignLiteral("Gecko/20100101");
|
||||||
|
mCompatFirefox.AssignLiteral("Firefox/" MOZILLA_COMPATVERSION);
|
||||||
|
|
||||||
nsCOMPtr<nsIXULAppInfo> appInfo =
|
nsCOMPtr<nsIXULAppInfo> appInfo =
|
||||||
do_GetService("@mozilla.org/xre/app-info;1");
|
do_GetService("@mozilla.org/xre/app-info;1");
|
||||||
|
|
@ -330,12 +335,30 @@ nsHttpHandler::Init()
|
||||||
if (mAppName.Length() == 0) {
|
if (mAppName.Length() == 0) {
|
||||||
appInfo->GetName(mAppName);
|
appInfo->GetName(mAppName);
|
||||||
}
|
}
|
||||||
appInfo->GetVersion(mAppVersion);
|
|
||||||
mAppName.StripChars(R"( ()<>@,;:\"/[]?={})");
|
mAppName.StripChars(R"( ()<>@,;:\"/[]?={})");
|
||||||
} else {
|
|
||||||
mAppVersion.AssignLiteral(MOZ_APP_UA_VERSION);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
nsCString dynamicBuildID;
|
||||||
|
if (appInfo) {
|
||||||
|
appInfo->GetPlatformBuildID(dynamicBuildID);
|
||||||
|
if (dynamicBuildID.Length() > 8 )
|
||||||
|
dynamicBuildID.Left(dynamicBuildID, 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mAppVersionIsBuildID) {
|
||||||
|
// Override BuildID
|
||||||
|
mAppVersion.AssignLiteral(MOZ_UA_BUILDID);
|
||||||
|
} else if (appInfo) {
|
||||||
|
appInfo->GetVersion(mAppVersion);
|
||||||
|
} else {
|
||||||
|
// Fall back to platform if appInfo is unavailable
|
||||||
|
mAppVersion.Assign(MOZILLA_UAVERSION);
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there's no override set, set it to the dynamic BuildID
|
||||||
|
if (mAppVersion.IsEmpty())
|
||||||
|
mAppVersion.Assign(dynamicBuildID);
|
||||||
|
|
||||||
mSessionStartTime = NowInSeconds();
|
mSessionStartTime = NowInSeconds();
|
||||||
mHandlerActive = true;
|
mHandlerActive = true;
|
||||||
|
|
||||||
|
|
@ -351,11 +374,11 @@ nsHttpHandler::Init()
|
||||||
mRequestContextService =
|
mRequestContextService =
|
||||||
do_GetService("@mozilla.org/network/request-context-service;1");
|
do_GetService("@mozilla.org/network/request-context-service;1");
|
||||||
|
|
||||||
#if defined(ANDROID) || defined(MOZ_MULET)
|
// Goanna slice version
|
||||||
mProductSub.AssignLiteral(MOZILLA_UAVERSION);
|
mProductSub.AssignLiteral(MOZILLA_UAVERSION);
|
||||||
#else
|
|
||||||
mProductSub.AssignLiteral("20100101");
|
if (mProductSub.IsEmpty())
|
||||||
#endif
|
mProductSub.Assign(dynamicBuildID);
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
// dump user agent prefs
|
// dump user agent prefs
|
||||||
|
|
@ -369,6 +392,7 @@ nsHttpHandler::Init()
|
||||||
LOG(("> app-name = %s\n", mAppName.get()));
|
LOG(("> app-name = %s\n", mAppName.get()));
|
||||||
LOG(("> app-version = %s\n", mAppVersion.get()));
|
LOG(("> app-version = %s\n", mAppVersion.get()));
|
||||||
LOG(("> compat-firefox = %s\n", mCompatFirefox.get()));
|
LOG(("> compat-firefox = %s\n", mCompatFirefox.get()));
|
||||||
|
LOG(("> compat-gecko = %s\n", mCompatGecko.get()));
|
||||||
LOG(("> user-agent = %s\n", UserAgent().get()));
|
LOG(("> user-agent = %s\n", UserAgent().get()));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -678,9 +702,10 @@ nsHttpHandler::BuildUserAgent()
|
||||||
mAppName.Length() +
|
mAppName.Length() +
|
||||||
mAppVersion.Length() +
|
mAppVersion.Length() +
|
||||||
mCompatFirefox.Length() +
|
mCompatFirefox.Length() +
|
||||||
|
mCompatGecko.Length() +
|
||||||
mCompatDevice.Length() +
|
mCompatDevice.Length() +
|
||||||
mDeviceModelId.Length() +
|
mDeviceModelId.Length() +
|
||||||
13);
|
14);
|
||||||
|
|
||||||
// Application portion
|
// Application portion
|
||||||
mUserAgent.Assign(mLegacyAppName);
|
mUserAgent.Assign(mLegacyAppName);
|
||||||
|
|
@ -711,6 +736,12 @@ nsHttpHandler::BuildUserAgent()
|
||||||
mUserAgent += mMisc;
|
mUserAgent += mMisc;
|
||||||
mUserAgent += ')';
|
mUserAgent += ')';
|
||||||
|
|
||||||
|
if(mCompatGeckoEnabled) {
|
||||||
|
// Provide frozen Gecko/20100101 slice
|
||||||
|
mUserAgent += ' ';
|
||||||
|
mUserAgent += mCompatGecko;
|
||||||
|
}
|
||||||
|
|
||||||
// Product portion
|
// Product portion
|
||||||
mUserAgent += ' ';
|
mUserAgent += ' ';
|
||||||
mUserAgent += mProduct;
|
mUserAgent += mProduct;
|
||||||
|
|
@ -719,7 +750,7 @@ nsHttpHandler::BuildUserAgent()
|
||||||
|
|
||||||
bool isFirefox = mAppName.EqualsLiteral("Firefox");
|
bool isFirefox = mAppName.EqualsLiteral("Firefox");
|
||||||
if (isFirefox || mCompatFirefoxEnabled) {
|
if (isFirefox || mCompatFirefoxEnabled) {
|
||||||
// "Firefox/x.y" (compatibility) app token
|
// Provide "Firefox/x.y" (compatibility) app token
|
||||||
mUserAgent += ' ';
|
mUserAgent += ' ';
|
||||||
mUserAgent += mCompatFirefox;
|
mUserAgent += mCompatFirefox;
|
||||||
}
|
}
|
||||||
|
|
@ -966,6 +997,18 @@ nsHttpHandler::PrefsChanged(nsIPrefBranch *prefs, const char *pref)
|
||||||
|
|
||||||
bool cVar = false;
|
bool cVar = false;
|
||||||
|
|
||||||
|
if (PREF_CHANGED(UA_PREF("appVersionIsBuildID"))) {
|
||||||
|
rv = prefs->GetBoolPref(UA_PREF("appVersionIsBuildID"), &cVar);
|
||||||
|
mAppVersionIsBuildID = (NS_SUCCEEDED(rv) && cVar);
|
||||||
|
mUserAgentIsDirty = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (PREF_CHANGED(UA_PREF("compatMode.gecko"))) {
|
||||||
|
rv = prefs->GetBoolPref(UA_PREF("compatMode.gecko"), &cVar);
|
||||||
|
mCompatGeckoEnabled = (NS_SUCCEEDED(rv) && cVar);
|
||||||
|
mUserAgentIsDirty = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (PREF_CHANGED(UA_PREF("compatMode.firefox"))) {
|
if (PREF_CHANGED(UA_PREF("compatMode.firefox"))) {
|
||||||
rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox"), &cVar);
|
rv = prefs->GetBoolPref(UA_PREF("compatMode.firefox"), &cVar);
|
||||||
mCompatFirefoxEnabled = (NS_SUCCEEDED(rv) && cVar);
|
mCompatFirefoxEnabled = (NS_SUCCEEDED(rv) && cVar);
|
||||||
|
|
|
||||||
|
|
@ -485,6 +485,9 @@ private:
|
||||||
nsXPIDLCString mProductSub;
|
nsXPIDLCString mProductSub;
|
||||||
nsXPIDLCString mAppName;
|
nsXPIDLCString mAppName;
|
||||||
nsXPIDLCString mAppVersion;
|
nsXPIDLCString mAppVersion;
|
||||||
|
bool mAppVersionIsBuildID;
|
||||||
|
nsCString mCompatGecko;
|
||||||
|
bool mCompatGeckoEnabled;
|
||||||
nsCString mCompatFirefox;
|
nsCString mCompatFirefox;
|
||||||
bool mCompatFirefoxEnabled;
|
bool mCompatFirefoxEnabled;
|
||||||
nsXPIDLCString mCompatDevice;
|
nsXPIDLCString mCompatDevice;
|
||||||
|
|
|
||||||
|
|
@ -5545,6 +5545,9 @@ fi
|
||||||
|
|
||||||
AC_SUBST(MOZ_APP_STATIC_INI)
|
AC_SUBST(MOZ_APP_STATIC_INI)
|
||||||
|
|
||||||
|
AC_DEFINE_UNQUOTED(MOZ_UA_BUILDID, "$MOZ_UA_BUILDID")
|
||||||
|
AC_SUBST(MOZ_UA_BUILDID)
|
||||||
|
|
||||||
AC_SUBST(MOZ_PKG_SPECIAL)
|
AC_SUBST(MOZ_PKG_SPECIAL)
|
||||||
AC_SUBST(MOZ_SIMPLE_PACKAGE_NAME)
|
AC_SUBST(MOZ_SIMPLE_PACKAGE_NAME)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue