[Pkg-mozext-commits] [firebug] 03/55: Add range support for highlighter

David Prévot taffit at moszumanska.debian.org
Mon Mar 31 22:46:06 UTC 2014


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to tag firebug-1.10.1
in repository firebug.

commit 88c079aca15426e4371f6dad6a502634e114e685
Author: Steven Roussey <sroussey at gmail.com>
Date:   Sat Jul 14 11:47:59 2012 -0700

    Add range support for highlighter
---
 extension/content/firebug/html/inspector.js | 48 +++++++++++++++++------------
 extension/content/firebug/lib/dom.js        | 10 ++++++
 2 files changed, 39 insertions(+), 19 deletions(-)

diff --git a/extension/content/firebug/html/inspector.js b/extension/content/firebug/html/inspector.js
index bcd1de2..7704282 100644
--- a/extension/content/firebug/html/inspector.js
+++ b/extension/content/firebug/html/inspector.js
@@ -77,8 +77,12 @@ Firebug.Inspector = Obj.extend(Firebug.Module,
                 (Wrapper.getContentView(elementArr) &&
                     !Xml.isVisible(Wrapper.getContentView(elementArr))))
             {
-                elementArr = (elementArr && elementArr.nodeType == Node.TEXT_NODE) ?
-                    elementArr.parentNode : null;
+                if (elementArr && Dom.isRange(elementArr))
+                    elementArr = elementArr;
+                else if (elementArr && elementArr.nodeType == Node.TEXT_NODE)
+                    elementArr = elementArr.parentNode;
+                else
+                    elementArr = null;
             }
 
             if (elementArr && context && context.highlightTimeout)
@@ -100,7 +104,7 @@ Firebug.Inspector = Obj.extend(Firebug.Module,
 
             if (elementArr)
             {
-                if (!isVisibleElement(elementArr))
+                if (elementArr.nodeName && !isVisibleElement(elementArr))
                     highlighter.unhighlight(context);
                 else if (context && context.window && context.window.document)
                     highlighter.highlight(context, elementArr, boxFrame, colorObj, false);
@@ -1236,22 +1240,24 @@ Firebug.Inspector.FrameHighlighter.prototype =
             var bgDiv = highlighter.firstChild;
             var css = moveImp(null, x, y) + resizeImp(null, w, h);
 
-            cs = body.ownerDocument.defaultView.getComputedStyle(element, null);
-
-            if (cs.MozTransform && cs.MozTransform != "none")
-                css += "-moz-transform: "+cs.MozTransform+"!important;" +
-                       "-moz-transform-origin: "+cs.MozTransformOrigin+"!important;";
-            if (cs.borderRadius)
-                css += "border-radius: "+cs.borderRadius+"!important;";
-            if (cs.borderTopLeftRadius)
-                css += "border-top-left-radius: "+cs.borderTopLeftRadius+"!important;";
-            if (cs.borderTopRightRadius)
-                css += "border-top-right-radius: "+cs.borderTopRightRadius+"!important;";
-            if (cs.borderBottomRightRadius)
-                css += "border-bottom-right-radius: "+cs.borderBottomRightRadius+"!important;";
-            if (cs.borderBottomLeftRadius)
-                css += "border-bottom-left-radius: "+cs.borderBottomLeftRadius+"!important;";
-
+            if (Dom.isElement(element))
+            {
+                cs = body.ownerDocument.defaultView.getComputedStyle(element, null);
+
+                if (cs.MozTransform && cs.MozTransform != "none")
+                    css += "-moz-transform: "+cs.MozTransform+"!important;" +
+                           "-moz-transform-origin: "+cs.MozTransformOrigin+"!important;";
+                if (cs.borderRadius)
+                    css += "border-radius: "+cs.borderRadius+"!important;";
+                if (cs.borderTopLeftRadius)
+                    css += "border-top-left-radius: "+cs.borderTopLeftRadius+"!important;";
+                if (cs.borderTopRightRadius)
+                    css += "border-top-right-radius: "+cs.borderTopRightRadius+"!important;";
+                if (cs.borderBottomRightRadius)
+                    css += "border-bottom-right-radius: "+cs.borderBottomRightRadius+"!important;";
+                if (cs.borderBottomLeftRadius)
+                    css += "border-bottom-left-radius: "+cs.borderBottomLeftRadius+"!important;";
+            }
             css += "box-shadow: 0 0 2px 2px "+
                 (colorObj && colorObj.border ? colorObj.border : "highlight")+"!important;";
 
@@ -1624,6 +1630,10 @@ BoxModelHighlighter.prototype =
 
 function getNonFrameBody(elt)
 {
+    if (Dom.isRange(elt))
+    {
+        elt = elt.commonAncestorContainer;
+    }
     var body = Dom.getBody(elt.ownerDocument);
     return (body.localName && body.localName.toUpperCase() === "FRAMESET") ? null : body;
 }
diff --git a/extension/content/firebug/lib/dom.js b/extension/content/firebug/lib/dom.js
index 6e4c3f5..55c2530 100644
--- a/extension/content/firebug/lib/dom.js
+++ b/extension/content/firebug/lib/dom.js
@@ -275,6 +275,16 @@ Dom.isElement = function(o)
     }
 };
 
+Dom.isRange = function(o)
+{
+    try {
+        return o && o instanceof window.Range;
+    }
+    catch (ex) {
+        return false;
+    }
+};
+
 Dom.hasChildElements = function(node)
 {
     if (node.contentDocument) // iframes

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/firebug.git



More information about the Pkg-mozext-commits mailing list