diff options
Diffstat (limited to 'browser/base/content')
-rw-r--r-- | browser/base/content/aboutDialog.js | 4 | ||||
-rw-r--r-- | browser/base/content/aboutDialog.xul | 2 | ||||
-rwxr-xr-x | browser/base/content/browser.js | 8 | ||||
-rw-r--r-- | browser/base/content/urlbarBindings.xml | 53 |
4 files changed, 43 insertions, 24 deletions
diff --git a/browser/base/content/aboutDialog.js b/browser/base/content/aboutDialog.js index 569a65adb..b024d2d52 100644 --- a/browser/base/content/aboutDialog.js +++ b/browser/base/content/aboutDialog.js @@ -62,6 +62,10 @@ function init(aEvent) let arch = bundle.GetStringFromName(archResource); versionField.textContent += ` (${arch})`; + // Get Release Notes URL from Preferences + let releaseNotesURL = Services.prefs.getCharPref("app.releaseNotesURL"); + document.getElementById("releasenotes").setAttribute("href", releaseNotesURL); + if (AppConstants.MOZ_UPDATER) { gAppUpdater = new appUpdater(); diff --git a/browser/base/content/aboutDialog.xul b/browser/base/content/aboutDialog.xul index cbb07a5e1..ef2804f31 100644 --- a/browser/base/content/aboutDialog.xul +++ b/browser/base/content/aboutDialog.xul @@ -47,7 +47,7 @@ <hbox align="baseline"> #expand <label id="version">__MOZ_APP_VERSION_DISPLAY__</label> #ifndef NIGHTLY_BUILD -#expand <label id="releasenotes" class="text-link" href="https://www.mozilla.org/firefox/__MOZ_APP_VERSION__/releasenotes/">&releaseNotes.link;</label> + <label id="releasenotes" class="text-link">&releaseNotes.link;</label> #endif </hbox> diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 7b05e1da7..5a54dcc58 100755 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -1055,8 +1055,10 @@ var gBrowserInit = { window.matchMedia("(-moz-windows-default-theme)").matches) { let windowFrameColor = new Color(...Cu.import("resource:///modules/Windows8WindowFrameColor.jsm", {}) .Windows8WindowFrameColor.get()); - // Default to black for foreground text. - if (!windowFrameColor.isContrastRatioAcceptable(new Color(0, 0, 0))) { + // Check if window frame color is dark. + if ((windowFrameColor.r * 2 + + windowFrameColor.g * 5 + + windowFrameColor.b) <= 128 * 8) { document.documentElement.setAttribute("darkwindowframe", "true"); } } @@ -5686,7 +5688,7 @@ function middleMousePaste(event) { function stripUnsafeProtocolOnPaste(pasteData) { // Don't allow pasting javascript URIs since we don't support // LOAD_FLAGS_DISALLOW_INHERIT_PRINCIPAL for those. - return pasteData.replace(/^(?:\s*javascript:)+/i, ""); + return pasteData.replace(/\r?\n/g, "").replace(/^(?:\s*javascript:)+/i, ""); } // handleDroppedLink has the following 2 overloads: diff --git a/browser/base/content/urlbarBindings.xml b/browser/base/content/urlbarBindings.xml index 84ed693ff..689c7c5a7 100644 --- a/browser/base/content/urlbarBindings.xml +++ b/browser/base/content/urlbarBindings.xml @@ -701,38 +701,51 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. ]]></body> </method> - <method name="onDragOver"> - <parameter name="aEvent"/> - <body> - var types = aEvent.dataTransfer.types; - if (types.includes("application/x-moz-file") || - types.includes("text/x-moz-url") || - types.includes("text/uri-list") || - types.includes("text/unicode")) - aEvent.preventDefault(); - </body> - </method> - - <method name="onDrop"> + <method name="_getDroppableLink"> <parameter name="aEvent"/> <body><![CDATA[ let links = browserDragAndDrop.dropLinks(aEvent); - // The URL bar automatically handles inputs with newline characters, // so we can get away with treating text/x-moz-url flavours as text/plain. if (links.length > 0 && links[0].url) { - let url = links[0].url; aEvent.preventDefault(); - this.value = url; - SetPageProxyState("invalid"); - this.focus(); + let url = links[0].url; + let strippedURL = stripUnsafeProtocolOnPaste(url); + if (strippedURL != url) { + aEvent.stopImmediatePropagation(); + return null; + } try { urlSecurityCheck(url, gBrowser.contentPrincipal, Ci.nsIScriptSecurityManager.DISALLOW_INHERIT_PRINCIPAL); } catch (ex) { - return; + return null; } + return url; + } + return null; + ]]></body> + </method> + + <method name="onDragOver"> + <parameter name="aEvent"/> + <body><![CDATA[ + // We don't need the link here, so we ignore the return value. + if (!this._getDroppableLink(aEvent)) { + aEvent.dataTransfer.dropEffect = "none"; + } + ]]></body> + </method> + + <method name="onDrop"> + <parameter name="aEvent"/> + <body><![CDATA[ + let url = this._getDroppableLink(aEvent); + if (url) { + this.value = url; + SetPageProxyState("invalid"); + this.focus(); this.handleCommand(); // Force not showing the dropped URI immediately. gBrowser.userTypedValue = null; @@ -932,7 +945,7 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. // Unfortunately we're not allowed to set the bits being pasted // so cancel this event: aEvent.preventDefault(); - aEvent.stopPropagation(); + aEvent.stopImmediatePropagation(); this.inputField.value = oldStart + pasteData + oldEnd; // Fix up cursor/selection: |