summaryrefslogtreecommitdiffstats
path: root/browser/base
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base')
-rw-r--r--browser/base/content/aboutDialog.js4
-rw-r--r--browser/base/content/aboutDialog.xul2
-rwxr-xr-xbrowser/base/content/browser.js8
-rw-r--r--browser/base/content/urlbarBindings.xml53
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: