From 05d60dba54f3d56c62855946a7a21bc97389f6a1 Mon Sep 17 00:00:00 2001 From: Simon Lydell Date: Sat, 24 Jan 2015 16:41:38 +0100 Subject: [PATCH] Improve markable elements matching - Each 'f' command now gets its own set of markable elements. For example, it does not make sense to open a button in a new tab. - The above made it really easy to fix #227: Add 'gf' to follow link in new foreground/focused tab. - Links are now opened in new tabs using Firefox APIs instead of simulating ctrl-clicks on the links. This is more reliable (and required in order to implement the above point). - XPath is no longer used. Instead, every element in every frame of the page is checked with code. This might sound expensive, but it isn't since that's what the XPath matcher needs to do behind the scenes anyway. The benefit of doing it with code is that we can do more advanced checks (see below), and no information is lost along the way: For example, whether or not an element is considered "semantic" is saved, instead of needing to be re-calculated afterwards. - The above fixes #320 in a better way than what was already done in commit 016574212: Elements that have "button" in their class now must not contain an `` or `