summaryrefslogtreecommitdiffstats
path: root/application/palemoon/base/content/browser.js
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-04-15 11:29:52 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-04-15 11:29:52 +0200
commit3c93fde763c87eaaa655a517cc93faa895415185 (patch)
treeb4b60798e65a5514e35f1c6840eda6cbf1e69853 /application/palemoon/base/content/browser.js
parent54cd77a551a0576f7593d24dfc9d82abcf99154f (diff)
downloadUXP-3c93fde763c87eaaa655a517cc93faa895415185.tar
UXP-3c93fde763c87eaaa655a517cc93faa895415185.tar.gz
UXP-3c93fde763c87eaaa655a517cc93faa895415185.tar.lz
UXP-3c93fde763c87eaaa655a517cc93faa895415185.tar.xz
UXP-3c93fde763c87eaaa655a517cc93faa895415185.zip
Bug 92737 - Part 2: Open multiple tabs when multiple items are dropped on non-remote content area
browser.js: // handleDroppedLink has the following 2 overloads: // handleDroppedLink(event, url, name) // handleDroppedLink(event, links) function handleDroppedLink(event, urlOrLinks, name) { let links; if (Array.isArray(urlOrLinks)) { links = urlOrLinks; } else { links = [{ url: urlOrLinks, name, type: "" }]; } ...it is in the previous commit.
Diffstat (limited to 'application/palemoon/base/content/browser.js')
-rw-r--r--application/palemoon/base/content/browser.js31
1 files changed, 25 insertions, 6 deletions
diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js
index 7a85b18e9..1d1fd73ae 100644
--- a/application/palemoon/base/content/browser.js
+++ b/application/palemoon/base/content/browser.js
@@ -2677,8 +2677,8 @@ var browserDragAndDrop = {
}
},
- drop: function (aEvent, aName, aDisallowInherit) {
- return Services.droppedLinkHandler.dropLink(aEvent, aName, aDisallowInherit);
+ dropLinks: function (aEvent, aDisallowInherit) {
+ return Services.droppedLinkHandler.dropLinks(aEvent, aDisallowInherit);
}
};
@@ -5125,10 +5125,29 @@ function handleDroppedLink(event, urlOrLinks, name)
let lastLocationChange = gBrowser.selectedBrowser.lastLocationChange;
- getShortcutOrURIAndPostData(url).then(data => {
- if (data.url &&
- lastLocationChange == gBrowser.selectedBrowser.lastLocationChange)
- loadURI(data.url, null, data.postData, false);
+ let userContextId = gBrowser.selectedBrowser.getAttribute("usercontextid");
+
+ let inBackground = Services.prefs.getBoolPref("browser.tabs.loadInBackground");
+ if (event.shiftKey)
+ inBackground = !inBackground;
+
+ Task.spawn(function*() {
+ let urls = [];
+ let postDatas = [];
+ for (let link of links) {
+ let data = yield getShortcutOrURIAndPostData(link.url);
+ urls.push(data.url);
+ postDatas.push(data.postData);
+ }
+ if (lastLocationChange == gBrowser.selectedBrowser.lastLocationChange) {
+ gBrowser.loadTabs(urls, {
+ inBackground,
+ replace: true,
+ allowThirdPartyFixup: false,
+ postDatas,
+ userContextId,
+ });
+ }
});
// Keep the event from being handled by the dragDrop listeners