зеркало из https://github.com/mozilla/gecko-dev.git
105895: shift-middleclick in content opens clipboard url in new tab or window. r=brade, sr=jag
This commit is contained in:
Родитель
bdddeb832f
Коммит
a57b218080
|
@ -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 )
|
||||||
|
|
Загрузка…
Ссылка в новой задаче