author | Ryan VanderMeulen <ryanvm@gmail.com> |
Tue, 16 Jun 2015 15:37:37 -0400 | |
changeset 249156 | d7c148c84594df61eda3ac5d22ec6c533fd5cf3d |
parent 249155 | 09eddb99e5e21e3c77f6beb02111fa31bd69e34f |
child 249173 | f62212fd6af6b4283ed2f75b7161e35ef5b830b0 |
child 249192 | c5bbc9ae05ed9c02ec75211d6f7560af29075f3e |
child 249276 | 291f44d1891d97f1c8263718f70980655cd4f5b8 |
push id | 28920 |
push user | kwierso@gmail.com |
push date | Tue, 16 Jun 2015 23:44:09 +0000 |
treeherder | mozilla-central@d7c148c84594 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | merge |
bugs | 1093611 |
milestone | 41.0a1 |
backs out | a08167680328806db2ef8e0ce185ad7d265c9f0f b008f158e91f55b4db392bd38a5e94005d9e4914 |
first release with | nightly linux32
d7c148c84594
/
41.0a1
/
20150617030205
/
files
nightly linux64
d7c148c84594
/
41.0a1
/
20150617030205
/
files
nightly mac
d7c148c84594
/
41.0a1
/
20150617030205
/
files
nightly win32
d7c148c84594
/
41.0a1
/
20150617030205
/
files
nightly win64
d7c148c84594
/
41.0a1
/
20150617030205
/
files
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
releases | nightly linux32
41.0a1
/
20150617030205
/
pushlog to previous
nightly linux64
41.0a1
/
20150617030205
/
pushlog to previous
nightly mac
41.0a1
/
20150617030205
/
pushlog to previous
nightly win32
41.0a1
/
20150617030205
/
pushlog to previous
nightly win64
41.0a1
/
20150617030205
/
pushlog to previous
|
--- a/dom/base/Link.cpp +++ b/dom/base/Link.cpp @@ -439,17 +439,17 @@ Link::GetHash(nsAString &_hash, ErrorRes // string. return; } nsAutoCString ref; nsresult rv = uri->GetRef(ref); if (NS_SUCCEEDED(rv) && !ref.IsEmpty()) { _hash.Assign(char16_t('#')); - if (nsContentUtils::GettersDecodeURLHash()) { + if (nsContentUtils::EncodeDecodeURLHash()) { NS_UnescapeURL(ref); // XXX may result in random non-ASCII bytes! } AppendUTF8toUTF16(ref, _hash); } } void Link::ResetLinkState(bool aNotify, bool aHasHref)
--- a/dom/base/URL.cpp +++ b/dom/base/URL.cpp @@ -520,17 +520,17 @@ void URL::GetHash(nsAString& aHash, ErrorResult& aRv) const { aHash.Truncate(); nsAutoCString ref; nsresult rv = mURI->GetRef(ref); if (NS_SUCCEEDED(rv) && !ref.IsEmpty()) { aHash.Assign(char16_t('#')); - if (nsContentUtils::GettersDecodeURLHash()) { + if (nsContentUtils::EncodeDecodeURLHash()) { NS_UnescapeURL(ref); // XXX may result in random non-ASCII bytes! } AppendUTF8toUTF16(ref, aHash); } } void URL::SetHash(const nsAString& aHash, ErrorResult& aRv)
--- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -250,17 +250,16 @@ bool nsContentUtils::sInitialized = fals bool nsContentUtils::sIsFullScreenApiEnabled = false; bool nsContentUtils::sTrustedFullScreenOnly = true; bool nsContentUtils::sIsCutCopyAllowed = true; bool nsContentUtils::sIsPerformanceTimingEnabled = false; bool nsContentUtils::sIsResourceTimingEnabled = false; bool nsContentUtils::sIsUserTimingLoggingEnabled = false; bool nsContentUtils::sIsExperimentalAutocompleteEnabled = false; bool nsContentUtils::sEncodeDecodeURLHash = false; -bool nsContentUtils::sGettersDecodeURLHash = false; bool nsContentUtils::sPrivacyResistFingerprinting = false; uint32_t nsContentUtils::sHandlingInputTimeout = 1000; nsHtml5StringParser* nsContentUtils::sHTMLFragmentParser = nullptr; nsIParser* nsContentUtils::sXMLFragmentParser = nullptr; nsIFragmentContentSink* nsContentUtils::sXMLFragmentSink = nullptr; bool nsContentUtils::sFragmentParsingActive = false; @@ -533,19 +532,16 @@ nsContentUtils::Init() "dom.performance.enable_user_timing_logging", false); Preferences::AddBoolVarCache(&sIsExperimentalAutocompleteEnabled, "dom.forms.autocomplete.experimental", false); Preferences::AddBoolVarCache(&sEncodeDecodeURLHash, "dom.url.encode_decode_hash", false); - Preferences::AddBoolVarCache(&sGettersDecodeURLHash, - "dom.url.getters_decode_hash", false); - Preferences::AddBoolVarCache(&sPrivacyResistFingerprinting, "privacy.resistFingerprinting", false); Preferences::AddUintVarCache(&sHandlingInputTimeout, "dom.event.handling-user-input-time-limit", 1000); #if !(defined(DEBUG) || defined(MOZ_ENABLE_JS_DUMP))
--- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h @@ -1938,24 +1938,16 @@ public: * and getters should return the percent decoded value of the segment */ static bool EncodeDecodeURLHash() { return sEncodeDecodeURLHash; } /* - * Returns true if URL getters should percent decode the value of the segment - */ - static bool GettersDecodeURLHash() - { - return sGettersDecodeURLHash && sEncodeDecodeURLHash; - } - - /* * Returns true if the browser should attempt to prevent content scripts * from collecting distinctive information about the browser that could * be used to "fingerprint" and track the user across websites. */ static bool ResistFingerprinting() { return sPrivacyResistFingerprinting; } @@ -2495,17 +2487,16 @@ private: static bool sTrustedFullScreenOnly; static bool sIsCutCopyAllowed; static uint32_t sHandlingInputTimeout; static bool sIsPerformanceTimingEnabled; static bool sIsResourceTimingEnabled; static bool sIsUserTimingLoggingEnabled; static bool sIsExperimentalAutocompleteEnabled; static bool sEncodeDecodeURLHash; - static bool sGettersDecodeURLHash; static bool sPrivacyResistFingerprinting; static nsHtml5StringParser* sHTMLFragmentParser; static nsIParser* sXMLFragmentParser; static nsIFragmentContentSink* sXMLFragmentSink; /** * True if there's a fragment parser activation on the stack.
--- a/dom/base/nsLocation.cpp +++ b/dom/base/nsLocation.cpp @@ -294,17 +294,17 @@ nsLocation::GetHash(nsAString& aHash) return rv; } nsAutoCString ref; nsAutoString unicodeRef; rv = uri->GetRef(ref); - if (nsContentUtils::GettersDecodeURLHash()) { + if (nsContentUtils::EncodeDecodeURLHash()) { if (NS_SUCCEEDED(rv)) { nsCOMPtr<nsITextToSubURI> textToSubURI( do_GetService(NS_ITEXTTOSUBURI_CONTRACTID, &rv)); if (NS_SUCCEEDED(rv)) { nsAutoCString charset; uri->GetOriginCharset(charset);
--- a/dom/base/test/test_url.html +++ b/dom/base/test/test_url.html @@ -111,17 +111,17 @@ port: '', pathname: '/', search: '?test', hash: '' }, { url: 'http://example.com/carrot#question%3f', base: undefined, error: false, - hash: '#question%3f' + hash: '#question?' }, { url: 'https://example.com:4443?', base: undefined, error: false, protocol: 'https:', port: '4443', pathname: '/', hash: '',
--- a/dom/workers/WorkerPrivate.cpp +++ b/dom/workers/WorkerPrivate.cpp @@ -3995,17 +3995,17 @@ WorkerPrivateParent<Derived>::SetBaseURI if (url && NS_SUCCEEDED(url->GetQuery(temp)) && !temp.IsEmpty()) { mLocationInfo.mSearch.Assign('?'); mLocationInfo.mSearch.Append(temp); } if (NS_SUCCEEDED(aBaseURI->GetRef(temp)) && !temp.IsEmpty()) { nsCOMPtr<nsITextToSubURI> converter = do_GetService(NS_ITEXTTOSUBURI_CONTRACTID); - if (converter && nsContentUtils::GettersDecodeURLHash()) { + if (converter && nsContentUtils::EncodeDecodeURLHash()) { nsCString charset; nsAutoString unicodeRef; if (NS_SUCCEEDED(aBaseURI->GetOriginCharset(charset)) && NS_SUCCEEDED(converter->UnEscapeURIForUI(charset, temp, unicodeRef))) { mLocationInfo.mHash.Assign('#'); mLocationInfo.mHash.Append(NS_ConvertUTF16toUTF8(unicodeRef)); }
--- a/dom/workers/test/urlApi_worker.js +++ b/dom/workers/test/urlApi_worker.js @@ -106,17 +106,17 @@ onmessage = function() { port: '', pathname: '/', search: '?test', hash: '' }, { url: 'http://example.com/carrot#question%3f', base: undefined, error: false, - hash: '#question%3f' + hash: '#question?' }, { url: 'https://example.com:4443?', base: undefined, error: false, protocol: 'https:', port: '4443', pathname: '/', hash: '',
--- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -164,18 +164,16 @@ pref("dom.keyboardevent.code.enabled", t pref("dom.keyboardevent.dispatch_during_composition", false); // Whether the UndoManager API is enabled pref("dom.undo_manager.enabled", false); // Whether URL,nsLocation,Link::GetHash should be percent encoded // in setter and percent decoded in getter (old behaviour = true) pref("dom.url.encode_decode_hash", true); -// Whether ::GetHash should do percent decoding (old behaviour = true) -pref("dom.url.getters_decode_hash", false); // Whether to run add-on code in different compartments from browser code. This // causes a separate compartment for each (addon, global) combination, which may // significantly increase the number of compartments in the system. #ifdef E10S_TESTING_ONLY pref("dom.compartment_per_addon", true); #else pref("dom.compartment_per_addon", false);