зеркало из https://github.com/mozilla/gecko-dev.git
Bug 429732 - speed up highlighting by optimizing _getEditableNode. r=ehsan
This commit is contained in:
Родитель
4e2bdf4c74
Коммит
4fd7332f4a
|
@ -613,19 +613,18 @@ Finder.prototype = {
|
|||
},
|
||||
|
||||
/*
|
||||
* For a given node, walk up it's parent chain, to try and find an
|
||||
* editable node.
|
||||
* For a given node returns its editable parent or null if there is none.
|
||||
* It's enough to check if aNode is a text node and its parent's parent is
|
||||
* instance of nsIDOMNSEditableElement.
|
||||
*
|
||||
* @param aNode the node we want to check
|
||||
* @returns the first node in the parent chain that is editable,
|
||||
* null if there is no such node
|
||||
*/
|
||||
_getEditableNode: function (aNode) {
|
||||
while (aNode) {
|
||||
if (aNode instanceof Ci.nsIDOMNSEditableElement)
|
||||
return aNode.editor ? aNode : null;
|
||||
|
||||
aNode = aNode.parentNode;
|
||||
if (aNode.nodeType === aNode.TEXT_NODE && aNode.parentNode && aNode.parentNode.parentNode &&
|
||||
aNode.parentNode.parentNode instanceof Ci.nsIDOMNSEditableElement) {
|
||||
return aNode.parentNode.parentNode;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
|
Загрузка…
Ссылка в новой задаче