From 4e577a0798fe2710ee736d82b51d2f1b09516bb1 Mon Sep 17 00:00:00 2001 From: "bzbarsky%mit.edu" Date: Sat, 2 Mar 2002 01:07:10 +0000 Subject: [PATCH] "Find nodes fail sometimes". Patch by caillon@returnzero.com (Christopher Aillon), r=bzbarsky, sr=hewitt, a=roc+moz git-svn-id: svn://10.0.0.236/trunk@115617 18797224-902f-48f8-a5cc-f745e15eee43 --- .../resources/content/viewers/dom/dom.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/mozilla/extensions/inspector/resources/content/viewers/dom/dom.js b/mozilla/extensions/inspector/resources/content/viewers/dom/dom.js index 967ef8cd12f..90b1042b313 100644 --- a/mozilla/extensions/inspector/resources/content/viewers/dom/dom.js +++ b/mozilla/extensions/inspector/resources/content/viewers/dom/dom.js @@ -493,18 +493,25 @@ DOMViewer.prototype = doFindElementById: function(aWalker) { - return aWalker.currentNode && aWalker.currentNode.id == this.mFindParams[0]; + return aWalker.currentNode + && "id" in aWalker.currentNode + && aWalker.currentNode.id == this.mFindParams[0]; }, doFindElementsByTagName: function(aWalker) { - return aWalker.currentNode && aWalker.currentNode.localName.toLowerCase() == this.mFindParams[0].toLowerCase(); + return aWalker.currentNode + && aWalker.currentNode.nodeType == Node.ELEMENT_NODE + && aWalker.currentNode.localName.toLowerCase() == this.mFindParams[0].toLowerCase(); }, doFindElementsByAttr: function(aWalker) { - return aWalker.currentNode && - aWalker.currentNode.getAttribute(this.mFindParams[0]) == this.mFindParams[1]; + return aWalker.currentNode + && aWalker.currentNode.nodeType == Node.ELEMENT_NODE + && this.mFindParams[1] == "" + ? aWalker.currentNode.hasAttribute(this.mFindParams[0]) + : aWalker.currentNode.getAttribute(this.mFindParams[0]) == this.mFindParams[1]; }, /////////////////////////////////////////////////////////////////////////// @@ -900,4 +907,3 @@ function dumpDOM2(aNode) dump(DOMViewer.prototype.toXML(aNode)); } - \ No newline at end of file