[Pkg-mozext-commits] [adblock-plus-element-hiding-helper] 464/483: Issue 227 - Element hiding selection by mouse wheel broken

David Prévot taffit at moszumanska.debian.org
Thu Jan 22 21:42:07 UTC 2015


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

taffit pushed a commit to branch master
in repository adblock-plus-element-hiding-helper.

commit a687e65342b34e7acf2be8133697a69fa43fec0e
Author: Wladimir Palant <trev at adblockplus.org>
Date:   Thu May 1 13:30:20 2014 +0200

    Issue 227 - Element hiding selection by mouse wheel broken
---
 lib/aardvark.js | 163 ++++++++++++++++++++++++++++----------------------------
 1 file changed, 81 insertions(+), 82 deletions(-)

diff --git a/lib/aardvark.js b/lib/aardvark.js
index cc45532..173a49f 100644
--- a/lib/aardvark.js
+++ b/lib/aardvark.js
@@ -38,31 +38,31 @@ let Aardvark = exports.Aardvark =
   {
     if (!this.canSelect(wrapper.browser))
       return;
-  
+
     if (this.browser)
       this.quit();
-  
+
     this.window = wrapper.window;
     this.browser = wrapper.browser;
     E = function(id) wrapper.E(id);
-  
+
     this.browser.addEventListener("click", this.onMouseClick, true);
     this.browser.addEventListener("DOMMouseScroll", this.onMouseScroll, true);
     this.browser.addEventListener("keypress", this.onKeyPress, true);
     this.browser.addEventListener("mousemove", this.onMouseMove, true);
     this.browser.addEventListener("select", this.quit, false);
     this.browser.contentWindow.addEventListener("pagehide", this.onPageHide, true);
-  
+
     this.browser.contentWindow.focus();
-  
+
     let doc = this.browser.contentDocument;
     this.boxElem = doc.importNode(E("ehh-elementmarker").firstElementChild.cloneNode(true), true);
-  
+
     this.initHelpBox();
-  
+
     if (Prefs.showhelp)
       this.showMenu();
-  
+
     // Make sure to select some element immeditely (whichever is in the center of the browser window)
     let [wndWidth, wndHeight] = this.getWindowSize(doc.defaultView);
     this.isUserSelected = false;
@@ -76,11 +76,11 @@ let Aardvark = exports.Aardvark =
     {
       return false;
     }
-  
+
     let location = browser.contentWindow.location;
     if (location.href == "about:blank")
       return false;
-  
+
     if (!Prefs.acceptlocalfiles &&
         location.hostname == "" &&
         location.protocol != "mailbox:" &&
@@ -90,7 +90,7 @@ let Aardvark = exports.Aardvark =
     {
       return false;
     }
-  
+
     return true;
   },
 
@@ -110,14 +110,14 @@ let Aardvark = exports.Aardvark =
   {
     if (this.commandLabelTimer)
       this.commandLabelTimer.cancel();
-  
+
     E("ehh-commandlabel-key").textContent = key.toUpperCase();
     E("ehh-commandlabel-alternativeKey").textContent = alternativeKey.toUpperCase();
     E("ehh-commandlabel-label").setAttribute("value", label);
-  
+
     var commandLabel = E("ehh-commandlabel");
     commandLabel.showPopup(this.window.document.documentElement, this.mouseX, this.mouseY, "tooltip", "topleft", "topleft");
-  
+
     this.commandLabelTimer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
     this.commandLabelTimer.initWithCallback(function()
     {
@@ -131,11 +131,11 @@ let Aardvark = exports.Aardvark =
     var helpBoxRows = E("ehh-helpbox-rows");
     if (helpBoxRows.firstElementChild)
       return;
-  
+
     // Help box hasn't been filled yet, need to do it now
     var stringService = Cc["@mozilla.org/intl/stringbundle;1"].getService(Ci.nsIStringBundleService);
     var strings = stringService.createBundle("chrome://elemhidehelper/locale/global.properties");
-  
+
     for (var i = 0; i < this.commands.length; i++)
     {
       var command = this.commands[i];
@@ -145,20 +145,20 @@ let Aardvark = exports.Aardvark =
       this.commands[command + "_key"] = key.toLowerCase();
       this.commands[command + "_altkey"] = alternativeKey.toLowerCase();
       this.commands[command + "_label"] = label;
-  
+
       var row = this.window.document.createElement("row");
       helpBoxRows.appendChild(row);
-  
+
       var element = this.window.document.createElement("description");
       element.textContent = key.toUpperCase();
       element.className = "key";
       row.appendChild(element);
-  
+
       var element = this.window.document.createElement("description");
       element.textContent = alternativeKey.toUpperCase();
       element.className = "key";
       row.appendChild(element);
-  
+
       element = this.window.document.createElement("description");
       element.setAttribute("value", label);
       element.className = "label";
@@ -181,7 +181,7 @@ let Aardvark = exports.Aardvark =
   {
     if (event.button != 0 || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey)
       return;
-  
+
     this.doCommand("select", event);
   },
 
@@ -189,19 +189,18 @@ let Aardvark = exports.Aardvark =
   {
     if (!event.shiftKey || event.altKey || event.ctrlKey || event.metaKey)
       return;
-  
+
     if ("axis" in event && event.axis != event.VERTICAL_AXIS)
       return;
-  
-    for (let i = 0; i < Math.abs(event.detail); i++)
-      this.doCommand(event.detail > 0 ? "wider" : "narrower", event);
+
+    this.doCommand(event.detail > 0 ? "wider" : "narrower", event);
   },
 
   onKeyPress: function(event)
   {
     if (event.altKey || event.ctrlKey || event.metaKey)
       return;
-  
+
     var command = null;
     if (event.keyCode == event.DOM_VK_ESCAPE)
       command = "quit";
@@ -215,7 +214,7 @@ let Aardvark = exports.Aardvark =
         if (commands[commands[i] + "_key"] == key || commands[commands[i] + "_altkey"] == key)
           command = commands[i];
     }
-  
+
     if (command)
       this.doCommand(command, event);
   },
@@ -229,12 +228,12 @@ let Aardvark = exports.Aardvark =
   {
     this.mouseX = event.screenX;
     this.mouseY = event.screenY;
-  
+
     this.hideSelection();
-  
+
     let x = event.clientX;
     let y = event.clientY;
-  
+
     // We might have coordinates relative to a frame, recalculate relative to top window
     let node = event.target;
     while (node && node.ownerDocument && node.ownerDocument.defaultView && node.ownerDocument.defaultView.frameElement)
@@ -244,7 +243,7 @@ let Aardvark = exports.Aardvark =
       x += rect.left;
       y += rect.top;
     }
-  
+
     let elem = this.browser.contentDocument.elementFromPoint(x, y);
     while (elem && "contentDocument" in elem && this.canSelect(elem))
     {
@@ -253,7 +252,7 @@ let Aardvark = exports.Aardvark =
       y -= rect.top;
       elem = elem.contentDocument.elementFromPoint(x, y);
     }
-  
+
     if (elem)
     {
       if (!this.lockedAnchor)
@@ -283,7 +282,7 @@ let Aardvark = exports.Aardvark =
   setAnchorElement: function(anchor)
   {
     this.anchorElem = anchor;
-  
+
     let newSelection = anchor;
     if (this.isUserSelected)
     {
@@ -292,13 +291,13 @@ let Aardvark = exports.Aardvark =
       let e = newSelection;
       while (e && e != this.selectedElem)
         e = this.getParentElement(e);
-  
+
       if (e)
         newSelection = this.selectedElem;
       else
         this.isUserSelected = false;
     }
-  
+
     this.selectElement(newSelection);
   },
 
@@ -325,7 +324,7 @@ let Aardvark = exports.Aardvark =
       addition += ", class: " + elem.className;
     if (elem.style.cssText != "")
       addition += ", style: " + elem.style.cssText;
-      
+
     return [tagName, addition];
   },
 
@@ -333,7 +332,7 @@ let Aardvark = exports.Aardvark =
   {
     this.selectedElem = elem;
     this.prevSelectionUpdate = Date.now();
-  
+
     let border = this.boxElem.getElementsByClassName("ehh-border")[0];
     let label = this.boxElem.getElementsByClassName("ehh-label")[0];
     let labelTag = this.boxElem.getElementsByClassName("ehh-labelTag")[0];
@@ -341,7 +340,7 @@ let Aardvark = exports.Aardvark =
 
     if (this.boxElem.parentNode)
       this.boxElem.parentNode.removeChild(this.boxElem);
-  
+
     let doc = this.browser.contentDocument;
     let [wndWidth, wndHeight] = this.getWindowSize(doc.defaultView);
 
@@ -350,15 +349,15 @@ let Aardvark = exports.Aardvark =
     this.boxElem.style.top = Math.min(pos.top - 1, wndHeight - 2) + "px";
     border.style.width = Math.max(pos.right - pos.left - 2, 0) + "px";
     border.style.height = Math.max(pos.bottom - pos.top - 2, 0) + "px";
-  
+
     [labelTag.textContent, labelAddition.textContent] = this.getElementLabel(elem);
-  
+
     // If there is not enough space to show the label move it up a little
     if (pos.bottom < wndHeight - 25)
       label.className = "ehh-label";
     else
       label.className = "ehh-label onTop";
-    
+
     doc.documentElement.appendChild(this.boxElem);
 
     this.paintNode = doc.defaultView;
@@ -396,34 +395,34 @@ let Aardvark = exports.Aardvark =
       rect.right = Math.min(rect.right, wndWidth);
       rect.bottom = Math.min(rect.bottom, wndHeight);
     }
-  
+
     let rect = element.getBoundingClientRect();
     let wnd = element.ownerDocument.defaultView;
-  
+
     rect = {left: rect.left, top: rect.top,
             right: rect.right, bottom: rect.bottom};
     while (true)
     {
       intersectRect.call(this, rect, wnd);
-  
+
       if (!wnd.frameElement)
         break;
-  
+
       // Recalculate coordinates to be relative to frame's parent window
       let frameElement = wnd.frameElement;
       wnd = frameElement.ownerDocument.defaultView;
-  
+
       let frameRect = frameElement.getBoundingClientRect();
       let frameStyle = wnd.getComputedStyle(frameElement, null);
       let relLeft = frameRect.left + parseFloat(frameStyle.borderLeftWidth) + parseFloat(frameStyle.paddingLeft);
       let relTop = frameRect.top + parseFloat(frameStyle.borderTopWidth) + parseFloat(frameStyle.paddingTop);
-  
+
       rect.left += relLeft;
       rect.right += relLeft;
       rect.top += relTop;
       rect.bottom += relTop;
     }
-  
+
     return rect;
   },
 
@@ -432,10 +431,10 @@ let Aardvark = exports.Aardvark =
     let result = elem.parentNode;
     if (result && result.nodeType == Ci.nsIDOMElement.DOCUMENT_NODE && result.defaultView && result.defaultView.frameElement)
       result = result.defaultView.frameElement;
-  
+
     if (result && result.nodeType != Ci.nsIDOMElement.ELEMENT_NODE)
       return null;
-  
+
     return result;
   },
 
@@ -459,11 +458,11 @@ let Aardvark = exports.Aardvark =
   {
     if (!elem)
       return false;
-  
+
     let newElem = this.getParentElement(elem);
     if (!newElem)
       return false;
-    
+
     this.isUserSelected = true;
     this.selectElement(newElem);
     return true;
@@ -482,10 +481,10 @@ let Aardvark = exports.Aardvark =
         newElem = e;
         e = this.getParentElement(e);
       }
-  
+
       if (!e || !newElem)
         return false;
-  
+
       this.isUserSelected = true;
       this.selectElement(newElem);
       return true;
@@ -497,7 +496,7 @@ let Aardvark = exports.Aardvark =
   {
     if (!elem)
       return false;
-  
+
     if (this.lockedAnchor)
     {
       this.setAnchorElement(this.lockedAnchor);
@@ -505,28 +504,28 @@ let Aardvark = exports.Aardvark =
     }
     else
       this.lockedAnchor = this.anchorElem;
-  
+
     return true;
   },
-  
+
   quit: function()
   {
     if (!this.browser)
       return false;
-  
+
     if ("blinkTimer" in this)
       this.stopBlinking();
-  
+
     if (this.commandLabelTimer)
       this.commandLabelTimer.cancel();
     if (this.viewSourceTimer)
       this.viewSourceTimer.cancel();
     this.commandLabelTimer = null;
     this.viewSourceTimer = null;
-  
+
     this.hideSelection();
     this.hideTooltips();
-    
+
     this.browser.removeEventListener("click", this.onMouseClick, true);
     this.browser.removeEventListener("DOMMouseScroll", this.onMouseScroll, true);
     this.browser.removeEventListener("keypress", this.onKeyPress, true);
@@ -549,7 +548,7 @@ let Aardvark = exports.Aardvark =
   {
     if (!elem)
       return false;
-  
+
     this.window.openDialog("chrome://elemhidehelper/content/composer.xul", "_blank",
                            "chrome,centerscreen,resizable,dialog=no", elem);
     this.quit();
@@ -560,10 +559,10 @@ let Aardvark = exports.Aardvark =
   {
     if (!elem)
       return false;
-  
+
     if ("blinkTimer" in this)
       this.stopBlinking();
-  
+
     let counter = 0;
     this.blinkElem = elem;
     this.blinkOrigValue = elem.style.visibility;
@@ -575,7 +574,7 @@ let Aardvark = exports.Aardvark =
       if (counter == 6)
         Aardvark.stopBlinking();
     }, 250, Ci.nsITimer.TYPE_REPEATING_SLACK);
-  
+
     return true;
   },
 
@@ -583,7 +582,7 @@ let Aardvark = exports.Aardvark =
   {
     this.blinkTimer.cancel();
     this.blinkElem.style.visibility = this.blinkOrigValue;
-  
+
     delete this.blinkElem;
     delete this.blinkOrigValue;
     delete this.blinkTimer;
@@ -593,7 +592,7 @@ let Aardvark = exports.Aardvark =
   {
     if (!elem)
       return false;
-  
+
     var sourceBox = E("ehh-viewsource");
     if (sourceBox.state == "open" && this.commentElem == elem)
     {
@@ -601,12 +600,12 @@ let Aardvark = exports.Aardvark =
       return true;
     }
     sourceBox.hidePopup();
-  
+
     while (sourceBox.firstElementChild)
       sourceBox.removeChild(sourceBox.firstElementChild);
     this.getOuterHtmlFormatted(elem, sourceBox);
     this.commentElem = elem;
-  
+
     let anchor = this.window.document.documentElement;
     let x = this.mouseX;
     let y = this.mouseY;
@@ -623,11 +622,11 @@ let Aardvark = exports.Aardvark =
   {
     if (!elem)
       return false;
-  
+
     var range = elem.ownerDocument.createRange();
     range.selectNodeContents(elem);
     var selection = {rangeCount: 1, getRangeAt: function() {return range}};
-  
+
     this.window.openDialog("chrome://global/content/viewPartialSource.xul", "_blank", "scrollbars,resizable,chrome,dialog=no",
                            null, null, selection, "selection");
     return true;
@@ -641,15 +640,15 @@ let Aardvark = exports.Aardvark =
       case node.ELEMENT_NODE:
         var box = this.window.document.createElement("vbox");
         box.className = "elementBox";
-  
+
         var startTag = this.window.document.createElement("hbox");
         startTag.className = "elementStartTag";
         if (!node.firstElementChild)
           startTag.className += " elementEndTag";
-  
+
         this.appendDescription(startTag, "<", null);
         this.appendDescription(startTag, node.tagName, "tagName");
-  
+
         for (var i = 0; i < node.attributes.length; i++)
         {
           var attr = node.attributes[i];
@@ -660,15 +659,15 @@ let Aardvark = exports.Aardvark =
             this.appendDescription(startTag, '"' + attr.value.replace(/"/, """) + '"', "attrValue");
           }
         }
-  
+
         this.appendDescription(startTag, node.firstElementChild ? ">" : " />", null);
         box.appendChild(startTag);
-  
+
         if (node.firstElementChild)
         {
           for (var child = node.firstElementChild; child; child = child.nextElementSibling)
             this.getOuterHtmlFormatted(child, box);
-  
+
           var endTag = this.window.document.createElement("hbox");
           endTag.className = "elementEndTag";
           this.appendDescription(endTag, "<", null);
@@ -678,7 +677,7 @@ let Aardvark = exports.Aardvark =
         }
         container.appendChild(box);
         return;
-  
+
       case node.TEXT_NODE:
         type = "text";
         break;
@@ -691,11 +690,11 @@ let Aardvark = exports.Aardvark =
       default:
         return;
     }
-  
+
     var text = node.nodeValue.replace(/\r/g, '').replace(/^\s+/, '').replace(/\s+$/, '');
     if (text == "")
       return;
-  
+
     if (type != "cdata")
     {
       text = text.replace(/&/g, "&")
@@ -707,7 +706,7 @@ let Aardvark = exports.Aardvark =
       text = "<![CDATA[" + text + "]]>";
     else if (type == "comment")
       text = "<!--" + text + "-->";
-  
+
     var lines = text.split("\n");
     for (var i = 0; i < lines.length; i++)
       this.appendDescription(container, lines[i].replace(/^\s+/, '').replace(/\s+$/, ''), type);
@@ -721,7 +720,7 @@ let Aardvark = exports.Aardvark =
       helpBox.hidePopup();
       return true;
     }
-  
+
     // Show help box
     helpBox.showPopup(this.browser, -1, -1, "tooltip", "topleft", "topleft");
     return true;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/adblock-plus-element-hiding-helper.git



More information about the Pkg-mozext-commits mailing list