diff options
Diffstat (limited to 'netwerk/protocol/http')
-rw-r--r-- | netwerk/protocol/http/nsHttpHandler.cpp | 12 | ||||
-rw-r--r-- | netwerk/protocol/http/nsHttpHandler.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/netwerk/protocol/http/nsHttpHandler.cpp b/netwerk/protocol/http/nsHttpHandler.cpp index 0ae5891517..7a29e041ba 100644 --- a/netwerk/protocol/http/nsHttpHandler.cpp +++ b/netwerk/protocol/http/nsHttpHandler.cpp @@ -685,6 +685,11 @@ nsHttpHandler::BuildAppVersion() const nsAFlatCString & nsHttpHandler::UserAgent() { + if (mUserAgentOverride) { + LOG(("using general.useragent.override : %s\n", mUserAgentOverride.get())); + return mUserAgentOverride; + } + if (mUserAgentIsDirty) { BuildUserAgent(); mUserAgentIsDirty = false; @@ -986,6 +991,13 @@ nsHttpHandler::PrefsChanged(nsIPrefBranch *prefs, const char *pref) mUserAgentIsDirty = true; } + // general.useragent.override + if (PREF_CHANGED(UA_PREF("override"))) { + prefs->GetCharPref(UA_PREF("override"), + getter_Copies(mUserAgentOverride)); + mUserAgentIsDirty = true; + } + // // HTTP options // diff --git a/netwerk/protocol/http/nsHttpHandler.h b/netwerk/protocol/http/nsHttpHandler.h index 549b822057..4f632e0784 100644 --- a/netwerk/protocol/http/nsHttpHandler.h +++ b/netwerk/protocol/http/nsHttpHandler.h @@ -506,6 +506,7 @@ private: nsCString mDeviceModelId; nsCString mUserAgent; + nsXPIDLCString mUserAgentOverride; bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt bool mAcceptLanguagesIsDirty; |