Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Issue 1302583002: Hit-test should not descend into iframe unnecessarily (Closed)

Created:
5 years, 4 months ago by Yufeng Shen (Slow to review)
Modified:
5 years, 4 months ago
Reviewers:
pdr., dtapuska, Rick Byers
CC:
blink-reviews, pdr+renderingwatchlist_chromium.org, zoltan1, szager+layoutwatch_chromium.org, eae+blinkwatch, leviw+renderwatch, blink-reviews-rendering, jchaffraix+rendering
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Hit-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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+29 lines, -27 lines) Patch
M LayoutTests/fast/events/hit-test-counts-expected.txt View 1 chunk +3 lines, -3 lines 0 comments Download
M Source/core/layout/LayoutPart.cpp View 1 chunk +26 lines, -24 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
Yufeng Shen (Slow to review)
5 years, 4 months ago (2015-08-18 16:38:35 UTC) #2
dtapuska
On 2015/08/18 16:38:35, Yufeng Shen wrote: Although I do think this is correct I think ...
5 years, 4 months ago (2015-08-18 20:15:10 UTC) #3
Rick Byers
On 2015/08/18 20:15:10, dtapuska wrote: > On 2015/08/18 16:38:35, Yufeng Shen wrote: > > Although ...
5 years, 4 months ago (2015-08-18 21:59:22 UTC) #5
pdr.
On 2015/08/18 at 21:59:22, rbyers wrote: > On 2015/08/18 20:15:10, dtapuska wrote: > > On ...
5 years, 4 months ago (2015-08-19 02:56:34 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1302583002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1302583002/1
5 years, 4 months ago (2015-08-19 03:09:30 UTC) #8
commit-bot: I haz the power
5 years, 4 months ago (2015-08-19 04:16:40 UTC) #9
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://src.chromium.org/viewvc/blink?view=rev&revision=200793

Powered by Google App Engine
This is Rietveld 408576698