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

Issue 527263002: Clean-up hit-testing of scrollbars (Closed)

Created:
6 years, 3 months ago by Rick Byers
Modified:
6 years, 3 months ago
Reviewers:
esprehn
CC:
blink-reviews, blink-reviews-events_chromium.org, blink-reviews-rendering, bokan, dglazkov+blink, eae+blinkwatch, jchaffraix+rendering, leviw+renderwatch, pdr., rune+blink, Zeeshan Qureshi, zoltan1
Project:
blink
Visibility:
Public.

Description

Clean-up hit-testing of scrollbars Today there are three different ways we hit-test for scrollbars: 1) for frame scrollbars, explicitly call FrameView::scrollbarAtPoint 2) for subframe scrollbars, use HitTestRequest::AllowFrameScrollbars 3) for DIV scrollbars, rely just on the normal HitTestResult There's apparently no good reason not to be consistent here. This patch updates hit-testing to always consider all 3 types of scrollbars, and removes the AllowFrameScrollbars mode entirely. This also fixes a bug where we weren't properly hit-testing for subframe scrollbars on tap, and so not sending mouse events through to the frame behind (as we do for touch). I also split ScrollView::scrollbarAtPoint into two variants for window and view co-ordinates (since we weren't being consistent previously, passing view co-ordinates as if they were window co-ordinates in RenderPart::nodeAtPoint. BUG=410661 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=181935

Patch Set 1 #

Patch Set 2 : Diff against trunk for testing #

Patch Set 3 : Merge with trunk, diff to trunk for testing #

Patch Set 4 : Fix scrollbar-ticks-hittest test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -52 lines) Patch
M LayoutTests/fast/events/touch/gesture/gesture-tap-frame-scrollbar-expected.txt View 1 1 chunk +9 lines, -0 lines 0 comments Download
M Source/core/page/EventHandler.cpp View 1 2 3 11 chunks +7 lines, -32 lines 0 comments Download
M Source/core/rendering/HitTestRequest.h View 2 chunks +3 lines, -5 lines 0 comments Download
M Source/core/rendering/RenderPart.cpp View 1 chunk +0 lines, -9 lines 0 comments Download
M Source/core/rendering/RenderView.cpp View 1 2 3 1 chunk +9 lines, -1 line 0 comments Download
M Source/platform/scroll/ScrollView.h View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M Source/platform/scroll/ScrollView.cpp View 1 2 1 chunk +6 lines, -1 line 0 comments Download
M Source/web/PopupListBox.cpp View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M Source/web/WebViewImpl.cpp View 1 2 3 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 7 (2 generated)
Rick Byers
Elliott, PTAL
6 years, 3 months ago (2014-09-11 23:03:09 UTC) #2
esprehn
lgtm, we really need to stop taking Point objects entirely and introduce something like a ...
6 years, 3 months ago (2014-09-12 20:50:29 UTC) #3
Rick Byers
On 2014/09/12 20:50:29, esprehn wrote: > lgtm, we really need to stop taking Point objects ...
6 years, 3 months ago (2014-09-12 21:21:26 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/527263002/60001
6 years, 3 months ago (2014-09-12 21:22:48 UTC) #6
commit-bot: I haz the power
6 years, 3 months ago (2014-09-12 21:33:23 UTC) #7
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as 181935

Powered by Google App Engine
This is Rietveld 408576698