philc/vimium — pull request #1364 by mrmr1993 (2014-12-20 17:05:51+00:00)
Title: Continuation of #1355 using XPath

From #1355:
> This PR
* detects overlapping clickable elements and attempts to find locations where they do not overlap to place a link hint
- this requires elements to be in the order they appear in the DOM, another reason for using the DOM rather than an XPath
* integrates a variation on PR #1316 to detect clickable elements on google inbox
* allows for multiple images to use the same `` to provide clickable regions
* add support for `` in image maps (previously the code assumed everything was a rectangle)
* document the fact that we don't properly support `` in image maps
* support clicking `opacity: 0` elements: some websites (notably Facebook) use these to provide the functionality of less attractive elements (eg. ``) while showing an image behind that appears to the user to be the actual button.

> This fixes #1307.

> Edit: also
* doesn't create link hints for off-screen image maps.

This PR doesn't benefit from #1355's
* increased readability from writing the processing as a DOM function, nor
* de-prioritised elements that are both
- entirely overlapped by other clickable elements, and
- were only marked as clickable because they had `tabindex` set.

The latter of these served to remove several extraneous link hints on Google+, and there is no obvious way to integrate it with this XPath method.