diff --git a/content/treestyletab/treestyletab.js b/content/treestyletab/treestyletab.js index 477a2416..d8620264 100644 --- a/content/treestyletab/treestyletab.js +++ b/content/treestyletab/treestyletab.js @@ -718,54 +718,53 @@ catch(e) { return; } - if (draggedTab) - return; - - // dropping of urls - var url; - for (let i = 0; i < tabbar._supportedLinkDropTypes.length; i++) { - let dataType = tabbar._supportedLinkDropTypes[i]; - let isURLList = dataType == 'text/uri-list'; - let urlData = dt.mozGetDataAt(isURLList ? 'URL' : dataType , 0); - if (urlData) { - url = transferUtils.retrieveURLFromData(urlData, isURLList ? 'text/plain' : dataType); - break; - } - } - - if (!url || !url.length || url.indexOf(' ', 0) != -1 || /^\s*(javascript|data):/.test(url)) - return; - - nsDragAndDrop.dragDropSecurityCheck(aEvent, sv.getCurrentDragSession(), url); - - var bgLoad = this.getPref('browser.tabs.loadInBackground'); - if (aEvent.shiftKey) bgLoad = !bgLoad; - - var tab = sv.getTabFromEvent(aEvent); - if (!tab || dt.dropEffect == 'copy') { - sv.performDrop(dropActionInfo, b.loadOneTab(getShortcutOrURI(url), { inBackground: bgLoad })); - } - else { - let locked = tab.getAttribute('locked') == 'true'; - let loadDroppedLinkToNewChildTab = dropActionInfo.position != sv.kDROP_ON || locked; - if (!loadDroppedLinkToNewChildTab && - dropActionInfo.position == sv.kDROP_ON) - loadDroppedLinkToNewChildTab = sv.dropLinksOnTabBehavior() == sv.kDROPLINK_NEWTAB; - - try { - if (loadDroppedLinkToNewChildTab || locked) { - sv.performDrop(dropActionInfo, b.loadOneTab(getShortcutOrURI(url), { inBackground: bgLoad })); - } - else { - tab.linkedBrowser.loadURI(getShortcutOrURI(url)); - if (!bgLoad) - b.selectedTab = tab; + if (!draggedTab) { + // dropping of urls + var url; + for (let i = 0; i < tabbar._supportedLinkDropTypes.length; i++) { + let dataType = tabbar._supportedLinkDropTypes[i]; + let isURLList = dataType == 'text/uri-list'; + let urlData = dt.mozGetDataAt(isURLList ? 'URL' : dataType , 0); + if (urlData) { + url = transferUtils.retrieveURLFromData(urlData, isURLList ? 'text/plain' : dataType); + break; } } - catch(e) { + + if (!url || !url.length || url.indexOf(' ', 0) != -1 || /^\s*(javascript|data):/.test(url)) + return; + + nsDragAndDrop.dragDropSecurityCheck(aEvent, sv.getCurrentDragSession(), url); + + var bgLoad = this.getPref('browser.tabs.loadInBackground'); + if (aEvent.shiftKey) bgLoad = !bgLoad; + + var tab = sv.getTabFromEvent(aEvent); + if (!tab || dt.dropEffect == 'copy') { + sv.performDrop(dropActionInfo, b.loadOneTab(getShortcutOrURI(url), { inBackground: bgLoad })); } + else { + let locked = tab.getAttribute('locked') == 'true'; + let loadDroppedLinkToNewChildTab = dropActionInfo.position != sv.kDROP_ON || locked; + if (!loadDroppedLinkToNewChildTab && + dropActionInfo.position == sv.kDROP_ON) + loadDroppedLinkToNewChildTab = sv.dropLinksOnTabBehavior() == sv.kDROPLINK_NEWTAB; + + try { + if (loadDroppedLinkToNewChildTab || locked) { + sv.performDrop(dropActionInfo, b.loadOneTab(getShortcutOrURI(url), { inBackground: bgLoad })); + } + else { + tab.linkedBrowser.loadURI(getShortcutOrURI(url)); + if (!bgLoad) + b.selectedTab = tab; + } + } + catch(e) { + } + } + aEvent.stopPropagation(); } - aEvent.stopPropagation(); }, overrideGlobalFunctions : function TSTService_overrideGlobalFunctions()