author | Jonathan Kew <jkew@mozilla.com> |
Wed, 04 Sep 2013 10:49:47 +0100 | |
changeset 145430 | 47b8ffe6ecc4b344655ed7be9a408d2970a736c4 |
parent 145429 | 5371262398a0c4d194832052ca932c1e44279758 |
child 145431 | e1976a0ce384ed6601cfbf2903dfc6f5aa638547 |
push id | 25213 |
push user | kwierso@gmail.com |
push date | Wed, 04 Sep 2013 23:18:26 +0000 |
treeherder | mozilla-central@dffedf20a02d [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | gavin |
bugs | 909264 |
milestone | 26.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -2209,19 +2209,20 @@ function losslessDecodeURI(aURI) { // ';', '/', '?', ':', '@', '&', '=', '+', '$', ',', '#' // (RFC 3987 section 3.2) // 2. Re-encode whitespace so that it doesn't get eaten away // by the location bar (bug 410726). .replace(/%(?!3B|2F|3F|3A|40|26|3D|2B|24|2C|23)|[\r\n\t]/ig, encodeURIComponent); } catch (e) {} - // Encode invisible characters (line and paragraph separator, - // object replacement character) (bug 452979) - value = value.replace(/[\v\x0c\x1c\x1d\x1e\x1f\u2028\u2029\ufffc]/g, + // Encode invisible characters (C0/C1 control characters, U+007F [DEL], + // U+00A0 [no-break space], line and paragraph separator, + // object replacement character) (bug 452979, bug 909264) + value = value.replace(/[\u0000-\u001f\u007f-\u00a0\u2028\u2029\ufffc]/g, encodeURIComponent); // Encode default ignorable characters (bug 546013) // except ZWNJ (U+200C) and ZWJ (U+200D) (bug 582186). // This includes all bidirectional formatting characters. // (RFC 3987 sections 3.2 and 4.1 paragraph 6) value = value.replace(/[\u00ad\u034f\u115f-\u1160\u17b4-\u17b5\u180b-\u180d\u200b\u200e-\u200f\u202a-\u202e\u2060-\u206f\u3164\ufe00-\ufe0f\ufeff\uffa0\ufff0-\ufff8]|\ud834[\udd73-\udd7a]|[\udb40-\udb43][\udc00-\udfff]/g, encodeURIComponent);