DescriptionHit-test should not descend into iframe unnecessarily
LayoutObject::hitTest() calls into nodeAtPoint() 4 times
with different HitTestAction options: HitTestForeground, HitTestFloat,
HitTestChildBlockBackgrounds, HitTestBlockBackground.
LayoutPart::nodeAtPoint() descends into iframe hit-test
disregard of HitTestAction options. For rect-based hit-test,
if the test rect is not totally within the iframe bounds,
the iframe hit test will return false for the rect-based
hit test search to continue, which means we will call into
iframe hit test 4 times unnecessarily.
Lets make the change that LayoutPart::nodeAtPoint() descends
into iframe only in the HitTestForeground phase. If we do
hit the iframe, LayoutObject::hitTest() will terminate at
the HitTestForeground phase, If iframe does not hit, we
only descend into it once and would have collected enough
information (e.g. pushing overlapping nodes into hit list).
BUG=520730
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=200793
Patch Set 1 #
Messages
Total messages: 9 (3 generated)
|