Hi guys. We've uploaded a patch for review in bug https://bugs.webkit.org/show_bug.cgi?id=40197 (attachment https://bugs.webkit.org/attachment.cgi?id=59789 - chromium build fixed in r61955) - Grace and I joint effort in fixing this issue.
As ways to expose the functionality, the patch: * extends hitTestResultAtPoint method of the EventHandler with an extra 'padding' parameter, defaulting to IntSize(0,0). The rect-based hit test is performed when a non-zero padding is passed in; * adds a Document::nodesFromRect method, exposing the functionality to the dom. It returns a NodeList with all nodes that intersect the given hit-tested area. I would like to discuss how the later should work. As-is nodesFromRect will be store all nodes whose area intersects the given rect hit test 'til it finds a node whose boundary encloses it completely. At this point hit test will stop at any node in the tree hierarchy. Sample outputs of nodesFromRect for an hypothetical rect X and a html Y are [<p> , <div>, <body>]. For another hypothetical rect Z and the same html Y, nodesFromRect might return [<span>,<div>]. In the later sample output, note that it did not reach <body> , whose boundary obvious intersects any possible given Z rect. That would happen if the <div> in case encloses the rect Z completely, and it would be the stop point for the hit test. In Mozilla's implementation, nodesFromRect does not care if a node encloses the hit test rect completely or partially. The test will continue until the <body>. What would be the preferable behavior for our implementation? Cheers, --Antonio _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev