[Pkg-mozext-commits] [adblock-plus-element-hiding-helper] 269/483: Don't update selection's position unnecessarily (was causing an endless loop)
David Prévot
taffit at moszumanska.debian.org
Thu Jan 22 21:41:47 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 22162cc273b9492fdcb3e8a9339071fe74aaecd6
Author: Wladimir Palant <trev at adblockplus.org>
Date: Wed Oct 27 14:17:54 2010 +0200
Don't update selection's position unnecessarily (was causing an endless loop)
---
modules/Aardvark.jsm | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/modules/Aardvark.jsm b/modules/Aardvark.jsm
index f02adf7..a65807d 100644
--- a/modules/Aardvark.jsm
+++ b/modules/Aardvark.jsm
@@ -56,6 +56,7 @@ var Aardvark =
viewSourceTimer: null,
boxElem: null,
paintNode: null,
+ prevPos: null,
start: function(wrapper)
{
@@ -294,7 +295,15 @@ var Aardvark =
{
// Don't update position too often
if (this.selectedElem && Date.now() - this.prevSelectionUpdate > 20)
- this.selectElement(this.selectedElem);
+ {
+ let pos = this.getElementPosition(this.selectedElem);
+ if (!this.prevPos || this.prevPos.left != pos.left || this.prevPos.right != pos.right
+ || this.prevPos.top != pos.top || this.prevPos.bottom != pos.bottom)
+ {
+ dump("Paint update\n");
+ this.selectElement(this.selectedElem);
+ }
+ }
},
setAnchorElement: function(anchor)
@@ -361,6 +370,9 @@ var Aardvark =
let label = this.boxElem.getElementsByClassName("label")[0];
let labelTag = this.boxElem.getElementsByClassName("labelTag")[0];
let labelAddition = this.boxElem.getElementsByClassName("labelAddition")[0];
+
+ if (this.boxElem.parentNode)
+ this.boxElem.parentNode.removeChild(this.boxElem);
let pos = this.getElementPosition(elem);
this.boxElem.style.left = (pos.left - 1) + "px";
@@ -387,7 +399,10 @@ var Aardvark =
this.paintNode = doc.defaultView;
if (this.paintNode)
+ {
+ this.prevPos = pos;
this.paintNode.addEventListener("MozAfterPaint", this.onAfterPaint, false);
+ }
},
hideSelection: function()
@@ -398,6 +413,7 @@ var Aardvark =
if (this.paintNode)
this.paintNode.removeEventListener("MozAfterPaint", this.onAfterPaint, false);
this.paintNode = null;
+ this.prevPos = null;
},
getElementPosition: function(element)
--
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