105895: shift-middleclick in content opens clipboard url in new tab or window. r=brade, sr=jag

This commit is contained in:
akkana%netscape.com 2006-07-29 05:39:59 +00:00
Родитель bdddeb832f
Коммит a57b218080
1 изменённых файлов: 19 добавлений и 10 удалений

Просмотреть файл

@ -171,14 +171,14 @@
if (pref && event.button == 1 && if (pref && event.button == 1 &&
!findParentNode(event.originalTarget, "scrollbar") && !findParentNode(event.originalTarget, "scrollbar") &&
pref.getBoolPref("middlemouse.contentLoadURL")) { pref.getBoolPref("middlemouse.contentLoadURL")) {
if (middleMousePaste()) { if (middleMousePaste(event)) {
event.preventBubble(); event.preventBubble();
} }
} }
return true; return true;
} }
function handleLinkMiddleClick(event, href) function openNewTabOrWindow(event, href)
{ {
// should we open it in a new tab? // should we open it in a new tab?
if (pref && pref.getBoolPref("browser.tabs.opentabfor.middleclick") && if (pref && pref.getBoolPref("browser.tabs.opentabfor.middleclick") &&
@ -209,7 +209,7 @@
switch (event.button) { switch (event.button) {
case 0: // if left button clicked case 0: // if left button clicked
if (event.metaKey || event.ctrlKey) { // and meta or ctrl are down if (event.metaKey || event.ctrlKey) { // and meta or ctrl are down
if (handleLinkMiddleClick(event, href)) if (openNewTabOrWindow(event, href))
return true; return true;
} }
var saveModifier = true; var saveModifier = true;
@ -230,21 +230,30 @@
return true; // do nothing return true; // do nothing
return false; return false;
case 1: // if middle button clicked case 1: // if middle button clicked
if (handleLinkMiddleClick(event, href)) if (openNewTabOrWindow(event, href))
return true; return true;
break; break;
} }
return false; return false;
} }
function middleMousePaste() function middleMousePaste( event )
{ {
var url = readFromClipboard(); var url = readFromClipboard();
if (url) { if (!url)
loadURI(getShortcutOrURI(url)); return false;
return true; url = getShortcutOrURI(url);
} if (!url)
return false; return false;
// On ctrl-middleclick, open in new window or tab.
if (event.ctrlKey)
return openNewTabOrWindow(event, url);
// If ctrl wasn't down, then just load the url in the current win/tab.
loadURI(url);
event.preventBubble();
return true;
} }
function makeURLAbsolute( base, url ) function makeURLAbsolute( base, url )