[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