diff options
author | Thomas Groman <tgroman@nuegia.net> | 2020-04-20 23:09:53 -0700 |
---|---|---|
committer | Thomas Groman <tgroman@nuegia.net> | 2020-04-20 23:09:53 -0700 |
commit | db5d9bb29f8e740192e83af5c4ddb74caaa7188c (patch) | |
tree | 8bb160f4a0c5de21ae62f4a61536a26c3034aba4 /webbrowser | |
parent | 83bdb7892d1ffa1a929db95bdb4ecc3f69a27b50 (diff) | |
download | webbrowser-db5d9bb29f8e740192e83af5c4ddb74caaa7188c.tar webbrowser-db5d9bb29f8e740192e83af5c4ddb74caaa7188c.tar.gz webbrowser-db5d9bb29f8e740192e83af5c4ddb74caaa7188c.tar.lz webbrowser-db5d9bb29f8e740192e83af5c4ddb74caaa7188c.tar.xz webbrowser-db5d9bb29f8e740192e83af5c4ddb74caaa7188c.zip |
issue #1706 - Improve copying from location bar, stop encoding parenthesis explicitly
(https://github.com/MoonchildProductions/Pale-Moon/issues/1706)
Diffstat (limited to 'webbrowser')
-rw-r--r-- | webbrowser/base/content/urlbarBindings.xml | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/webbrowser/base/content/urlbarBindings.xml b/webbrowser/base/content/urlbarBindings.xml index d2d9cc7..31d6aa5 100644 --- a/webbrowser/base/content/urlbarBindings.xml +++ b/webbrowser/base/content/urlbarBindings.xml @@ -505,11 +505,15 @@ let uriFixup = Cc["@mozilla.org/docshell/urifixup;1"].getService(Ci.nsIURIFixup); let uri; - try { - uri = uriFixup.createFixupURI(inputVal, Ci.nsIURIFixup.FIXUP_FLAG_NONE); - } catch (e) {} - if (!uri) - return selectedVal; + + if (this.getAttribute("pageproxystate") == "valid") { + uri = gBrowser.currentURI; + } else { + // We're dealing with an autocompleted value, create a new URI from that. + try { uri = uriFixup.createFixupURI(inputVal, Ci.nsIURIFixup.FIXUP_FLAG_NONE); } catch (e) {} + if (!uri) + return selectedVal; + } // Only copy exposable URIs try { @@ -521,8 +525,7 @@ // ... but only if isn't a javascript: or data: URI, since those // are hard to read when encoded if (!uri.schemeIs("javascript") && !uri.schemeIs("data")) { - // Parentheses are known to confuse third-party applications (bug 458565). - selectedVal = uri.spec.replace(/[()]/g, function (c) escape(c)); + selectedVal = uri.spec; } return selectedVal; |