aboutsummaryrefslogtreecommitdiffstats
path: root/linkHints.js
diff options
context:
space:
mode:
Diffstat (limited to 'linkHints.js')
-rw-r--r--linkHints.js16
1 files changed, 10 insertions, 6 deletions
diff --git a/linkHints.js b/linkHints.js
index 92e4a7e4..178efedb 100644
--- a/linkHints.js
+++ b/linkHints.js
@@ -84,13 +84,17 @@ function getVisibleClickableElements() {
continue;
// Using getElementFromPoint will omit elements which have visibility=hidden or display=none, and
- // elements inside of containers that are also hidden. Check for whether the element occupies the center
- // of its bounding box instead of simply the upper-left corner of that box because this is more accurate
- // when inline links have vertical padding, like in the links ("Source", "Commits") at the top of github.com.
+ // elements inside of containers that are also hidden. We're checking for whether the element occupies
+ // the upper left corner and if that fails, we also check whether the element occupies the center of the
+ // box. We use the center of the box because it's more accurate when inline links have vertical padding,
+ // like in the links ("Source", "Commits") at the top of github.com.
// This will not exclude links with "opacity=0", like the links on Google's homepage (see bug #16).
- if (!elementOccupiesPoint(element, boundingRect.left + boundingRect.width / 2,
- boundingRect.top + boundingRect.height / 2))
- continue;
+ if (!elementOccupiesPoint(element, boundingRect.left, boundingRect.top)) {
+ var elementOccupiesCenter = elementOccupiesPoint(element, boundingRect.left + boundingRect.width / 2,
+ boundingRect.top + boundingRect.height / 2);
+ if (!elementOccupiesCenter)
+ continue;
+ }
visibleElements.push(element);
}