[Webkit-unassigned] [Bug 88376] Incorrect rect-based hit-test result when hit-test region includes culled inlines

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 30 08:08:26 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=88376





--- Comment #3 from Allan Sandfeld Jensen <allan.jensen at nokia.com>  2012-07-30 08:08:26 PST ---
(In reply to comment #2)
> See https://bugs.webkit.org/show_bug.cgi?id=85849. The patch I checked
> in contains 1 failing test. In this case the following happens:
> 
> The span is a culled inline. The img gets added to the hittest result
> and then our "hack" code kicks in. Because the img doesn't fully cover
> the hittest region, then the culled inlines are also added. So the
> span is added to the hittest result. The span does fully cover the
> hittest region, so the hittest should stop at this point. However,
> because no bounds checking is performed in our "hack" code,
> HitTestResult::addNodeToRectBasedTestResult returns true and the
> hittest continues.
> 
Thanks, I noticed you talked about a failing case, but I didn't realise you had included it. I will have a look.

> There are other cases that fail. For example, assume the culled inline
> is completely outside of the hit-test region, it would still get added
> to the hit-test result.
How could it fall completely outside? Since we are moving up the tree, shouldn't the objects just get larger. If we were moving down or sideways I could see how some of them might be floating or positioned, but going up, they should be positioned the same as their children (at least within the same inline context). 

I am also confused why we are not checking siblings. Couldn't we end up missing culled nodes where we don't intersect their children, but we do intersect the culled node? It is the potential need to check siblings that I see as the biggest reason to change the logic itself. The other cases should be solvable by just improving your "hack" :)

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list