aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932014-12-15 00:07:35 +0000
committermrmr19932014-12-15 00:07:35 +0000
commit4837af619b39e92b0eacd082867ba6b139875ba5 (patch)
treea99ddb7015193f85ab32e8a788f102205ee4b540
parentdcc7e1ff5ae28b700e12ecf75d403001fc9c2152 (diff)
downloadvimium-4837af619b39e92b0eacd082867ba6b139875ba5.tar.bz2
Restrict evaluateXPath to the fullscreen element when fullscreen
-rw-r--r--content_scripts/link_hints.coffee7
-rw-r--r--lib/dom_utils.coffee8
2 files changed, 8 insertions, 7 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee
index 80d091dd..24bd7126 100644
--- a/content_scripts/link_hints.coffee
+++ b/content_scripts/link_hints.coffee
@@ -141,12 +141,7 @@ LinkHints =
# of digits needed to enumerate all of the links on screen.
#
getVisibleClickableElements: ->
- # If we are fullscreen, only consider elements contained in the fullscreen element.
- resultType = XPathResult.ORDERED_NODE_SNAPSHOT_TYPE
- resultSet = if document.webkitIsFullScreen
- DomUtils.evaluateXPath(@clickableElementsXPath, resultType, document.webkitFullscreenElement)
- else
- DomUtils.evaluateXPath(@clickableElementsXPath, resultType)
+ resultSet = DomUtils.evaluateXPath(@clickableElementsXPath, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE)
visibleElements = []
diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee
index 5f316c08..95427903 100644
--- a/lib/dom_utils.coffee
+++ b/lib/dom_utils.coffee
@@ -36,7 +36,13 @@ DomUtils =
xpath.push(".//" + element, ".//xhtml:" + element)
xpath.join(" | ")
- evaluateXPath: (xpath, resultType, contextNode = document.documentElement) ->
+ # Evaluates an XPath on the whole document, or on the contents of the fullscreen element if an element is
+ # fullscreen.
+ evaluateXPath: (xpath, resultType) ->
+ contextNode = if document.webkitIsFullScreen
+ document.webkitFullscreenElement
+ else
+ document.documentElement
namespaceResolver = (namespace) ->
if (namespace == "xhtml") then "http://www.w3.org/1999/xhtml" else null
document.evaluate(xpath, contextNode, namespaceResolver, resultType, null)