# -*- Mode: HTML -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
%notificationDTD;
%browserDTD;
]>
""
true
true
= 0) {
url = url.substring(0, firstSlash) + suffix +
url.substring(firstSlash + 1);
} else {
url = url + suffix;
}
url = "http://www." + url;
}
}
let data = yield getShortcutOrURIAndPostData(url);
throw new Task.Result([data.url, data.postData, data.mayInheritPrincipal]);
}.bind(this));
]]>
false
var types = aEvent.dataTransfer.types;
if (types.contains("application/x-moz-file") ||
types.contains("text/x-moz-url") ||
types.contains("text/uri-list") ||
types.contains("text/unicode"))
aEvent.preventDefault();
0 || this.valueIsTyped)
return selectedVal;
// The selection doesn't span the full domain if it doesn't contain a slash and is
// followed by some character other than a slash.
if (!selectedVal.includes("/")) {
let remainder = inputVal.replace(selectedVal, "");
if (remainder != "" && remainder[0] != "/")
return selectedVal;
}
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;
// Only copy exposable URIs
try {
uri = uriFixup.createExposableURI(uri);
} catch (ex) {}
// If the entire URL is selected, just use the actual loaded URI.
if (inputVal == selectedVal) {
// ... 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));
}
return selectedVal;
}
// Just the beginning of the URL is selected, check for a trimmed
// value
let spec = uri.spec;
let trimmedSpec = this.trimValue(spec);
if (spec != trimmedSpec) {
// Prepend the portion that trimValue removed from the beginning.
// This assumes trimValue will only truncate the URL at
// the beginning or end (or both).
let trimmedSegments = spec.split(trimmedSpec);
selectedVal = trimmedSegments[0] + selectedVal;
}
return selectedVal;
]]>
= 0 &&
!this._noActionsKeys.has(event.keyCode)) {
if (this._noActionsKeys.size == 0) {
this.popup.setAttribute("noactions", "true");
this.removeAttribute("actiontype");
}
this._noActionsKeys.add(event.keyCode);
}
]]>
" + urlString + "";
var dt = event.dataTransfer;
dt.setData("text/x-moz-url", urlString + "\n" + title);
dt.setData("text/unicode", urlString);
dt.setData("text/html", htmlString);
dt.effectAllowed = "copyLink";
event.stopPropagation();
]]>
document.getAnonymousElementByAttribute(this, "anonid", "progressmeter");
document.getAnonymousElementByAttribute(this, "anonid", "progresstext");
document.getAnonymousElementByAttribute(this, "anonid", "cancel");
let utils = {};
Components.utils.import("resource://gre/modules/DownloadUtils.jsm", utils);
utils.DownloadUtils;
= 0)
maxProgress += aInstall.maxProgress;
if (aInstall.state < AddonManager.STATE_DOWNLOADED)
downloadingCount++;
});
if (downloadingCount == 0) {
this.destroy();
PopupNotifications.remove(this.notification);
}
else {
this.setProgress(progress, maxProgress);
}
]]>
({SINGLE: 0, MULTI_COLLAPSED: 1, MULTI_EXPANDED: 2})
document.getAnonymousElementByAttribute(this, "anonid", "primarybutton");
document.getAnonymousElementByAttribute(this, "anonid", "secondarybutton")
document.getAnonymousElementByAttribute(this, "anonid", "button-container")
document.getElementById("bundle_brand").getString("brandShortName")
[]
document.getAnonymousElementByAttribute(this, "anonid", "promo-message");
document.getAnonymousElementByAttribute(this, "anonid", "promo-link");
Services.strings.createBundle("chrome://branding/locale/brand.properties");