diff --git a/browser/base/content/test/browser_urlbarCopying.js b/browser/base/content/test/browser_urlbarCopying.js index 65c82084e7c6..3edb8d19930a 100644 --- a/browser/base/content/test/browser_urlbarCopying.js +++ b/browser/base/content/test/browser_urlbarCopying.js @@ -90,6 +90,20 @@ var tests = [ copyExpected: "http://example.com/\xe9" }, + { + loadURL: "http://example.com/?%C3%B7%C3%B7", + expectedURL: "example.com/?\xf7\xf7", + copyExpected: "http://example.com/?%C3%B7%C3%B7" + }, + { + copyVal: "e\xf7", + copyExpected: "xample.com/?\xf7" + }, + { + copyVal: "\xf7", + copyExpected: "http://example.com/?\xf7" + }, + // data: and javsacript: URIs shouldn't be encoded { loadURL: "javascript:('%C3%A9')", diff --git a/browser/base/content/urlbarBindings.xml b/browser/base/content/urlbarBindings.xml index 2e65ee5e9316..d4f4ce2bd485 100644 --- a/browser/base/content/urlbarBindings.xml +++ b/browser/base/content/urlbarBindings.xml @@ -515,7 +515,7 @@ let uri; try { - uri = uriFixup.createFixupURI(inputVal, Ci.nsIURIFixup.FIXUP_FLAG_NONE); + uri = uriFixup.createFixupURI(inputVal, Ci.nsIURIFixup.FIXUP_FLAG_USE_UTF8); } catch (e) {} if (!uri) return selectedVal;