From 188c3fa0818f02164050651c7b643c8f7a0dfd0a Mon Sep 17 00:00:00 2001 From: "neil%parkwaycc.co.uk" Date: Fri, 17 Oct 2003 22:45:47 +0000 Subject: [PATCH] Bug 221988 Replace doesQI function with built-in instanceof operator r=peterv sr=alecf moa=caillon git-svn-id: svn://10.0.0.236/trunk@148087 18797224-902f-48f8-a5cc-f745e15eee43 --- .../resources/content/ViewerRegistry.js | 17 ++----------- .../resources/content/res/viewer-registry.rdf | 24 +++++++++---------- .../content/viewers/styleRules/styleRules.js | 14 +---------- 3 files changed, 15 insertions(+), 40 deletions(-) diff --git a/mozilla/extensions/inspector/resources/content/ViewerRegistry.js b/mozilla/extensions/inspector/resources/content/ViewerRegistry.js index c63db572585..6c5fed218f5 100644 --- a/mozilla/extensions/inspector/resources/content/ViewerRegistry.js +++ b/mozilla/extensions/inspector/resources/content/ViewerRegistry.js @@ -110,7 +110,7 @@ ViewerRegistry.prototype = for (var i = 0; i < this.mViewerDS.length; ++i) { js = this.getEntryProperty(i, "filter"); try { - fn = new Function("doesQI", "object", js); + fn = new Function("object", js); } catch (ex) { fn = new Function("return false"); debug("### ERROR - Syntax error in filter for viewer \"" + this.getEntryProperty(i, "description") + "\"\n"); @@ -172,20 +172,7 @@ ViewerRegistry.prototype = /////////////////////////////////////////////////////////////////////////// objectMatchesEntry: function(aObject, aIndex) { - if (!aObject) return false; - return this.mFilters[aIndex](this.doesQI, aObject); - }, - - doesQI: function(aObject, aInterface) - { - if (!("QueryInterface" in aObject)) return false; - - try { - var result = aObject.QueryInterface(Components.interfaces[aInterface]); - return true; - } catch (ex) { - return false; - } + return this.mFilters[aIndex](aObject); }, /////////////////////////////////////////////////////////////////////////// diff --git a/mozilla/extensions/inspector/resources/content/res/viewer-registry.rdf b/mozilla/extensions/inspector/resources/content/res/viewer-registry.rdf index ef4a0274b84..6d1df6dcf7e 100644 --- a/mozilla/extensions/inspector/resources/content/res/viewer-registry.rdf +++ b/mozilla/extensions/inspector/resources/content/res/viewer-registry.rdf @@ -19,11 +19,11 @@ ins:icon This sets an icon for the viewer. Currently unused. - ins:filter This determines which nodes (or in the case of JavaScript Object viewer, values), the viewer - referenced is valid for. - For example, ins:filter="return doesQI(object, 'nsIDOMDocument');" is a JavaScript fragment - ViewerRegistry.js uses to define a filter function if the panel's subject node is an instance - of nsIDOMDocument. + ins:filter This determines which nodes (or in the case of JavaScript Object + viewer, values), the viewer referenced is valid for. For example, + ins:filter="return object instanceof Components.interfaces.nsIDOMDocument;" + is a JavaScript fragment ViewerRegistry.js uses to define a filter + function if the panel's subject node is an instance of nsIDOMDocument. --> @@ -32,49 +32,49 @@ ins:panels="bxDocPanel" ins:description="DOM Nodes" ins:icon="chrome://inspector/content/viewers/dom/dom-icon.gif" - ins:filter="return doesQI(object, 'nsIDOMDocument');"/> + ins:filter="return object instanceof Components.interfaces.nsIDOMDocument;"/> + ins:filter="return object instanceof Components.interfaces.nsIDOMDocument;"/> + ins:filter="return object instanceof Components.interfaces.nsIDOMNode;"/> + ins:filter="return object instanceof Components.interfaces.nsIDOMElement;"/> + ins:filter="return object instanceof Components.interfaces.nsIDOMElement;"/> + ins:filter="return object instanceof Components.interfaces.nsIDOMElement || object instanceof Components.interfaces.nsIDOMCSSStyleSheet;"/> + ins:filter="return object instanceof Components.interfaces.nsIDOMElement;"/>