зеркало из https://github.com/mozilla/pjs.git
bug 298892 redux. additional patch from neil, r=timeless, sr=dveditz, a=jay
This commit is contained in:
Родитель
af7244a8a9
Коммит
6c5c70ee0b
|
@ -4748,7 +4748,8 @@ function asyncOpenWebPanel(event)
|
|||
linkNode = target;
|
||||
}
|
||||
else {
|
||||
linkNode = findParentNode(event.originalTarget, "a");
|
||||
while (linkNode && !(linkNode instanceof HTMLAnchorElement))
|
||||
linkNode = linkNode.parentNode;
|
||||
// <a> cannot be nested. So if we find an anchor without an
|
||||
// href, there is no useful <a> around the target
|
||||
if (linkNode && !linkNode.hasAttribute("href"))
|
||||
|
@ -4855,7 +4856,7 @@ function asyncOpenWebPanel(event)
|
|||
}
|
||||
}
|
||||
if (event.button == 1 &&
|
||||
!findParentNode(event.originalTarget, "scrollbar") &&
|
||||
!event.getPreventDefault() &&
|
||||
gPrefService.getBoolPref("middlemouse.contentLoadURL")) {
|
||||
middleMousePaste(event);
|
||||
}
|
||||
|
@ -4940,29 +4941,6 @@ function makeURLAbsolute( base, url )
|
|||
return ioService.newURI(baseURI.resolve(url), null, null).spec;
|
||||
}
|
||||
|
||||
function findParentNode(node, parentNode)
|
||||
{
|
||||
if (node && node.nodeType == Node.TEXT_NODE) {
|
||||
node = node.parentNode;
|
||||
}
|
||||
while (node) {
|
||||
if (node.nodeType == Node.DOCUMENT_NODE) {
|
||||
return null;
|
||||
}
|
||||
var nodeName = node.localName;
|
||||
if (!nodeName)
|
||||
return null;
|
||||
nodeName = nodeName.toLowerCase();
|
||||
if (nodeName == "body" || nodeName == "html") {
|
||||
return null;
|
||||
}
|
||||
if (nodeName == parentNode)
|
||||
return node;
|
||||
node = node.parentNode;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* Note that most of this routine has been moved into C++ in order to
|
||||
* be available for all <browser> tags as well as gecko embedding. See
|
||||
|
|
|
@ -62,7 +62,8 @@
|
|||
linkNode = target;
|
||||
}
|
||||
else if (!(target instanceof HTMLInputElement)) {
|
||||
linkNode = findParentNode(event.originalTarget, "a");
|
||||
while (linkNode && !(linkNode instanceof HTMLAnchorElement))
|
||||
linkNode = linkNode.parentNode;
|
||||
// <a> cannot be nested. So if we find an anchor without an
|
||||
// href, there is no useful <a> around the target
|
||||
if (linkNode && !linkNode.hasAttribute("href"))
|
||||
|
@ -119,27 +120,3 @@
|
|||
|
||||
return ioService.newURI(baseURI.resolve(url), null, null).spec;
|
||||
}
|
||||
|
||||
function findParentNode(node, parentNode)
|
||||
{
|
||||
if (node && node.nodeType == Node.TEXT_NODE) {
|
||||
node = node.parentNode;
|
||||
}
|
||||
|
||||
while (node) {
|
||||
var nodeName = node.localName;
|
||||
if (!nodeName)
|
||||
return null;
|
||||
nodeName = nodeName.toLowerCase();
|
||||
if (nodeName == "body" || nodeName == "html" ||
|
||||
nodeName == "#document") {
|
||||
return null;
|
||||
}
|
||||
if (nodeName == parentNode)
|
||||
return node;
|
||||
node = node.parentNode;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче