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

Issue 16982005: Allow objects without scrollbars to be scrollable (Closed)

Created:
7 years, 6 months ago by bokan
Modified:
7 years, 4 months ago
CC:
blink-reviews, kenneth.christiansen, eae+blinkwatch, jchaffraix+rendering, jeez, leviw+renderwatch, trchen, tdanderson
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Visibility:
Public.

Description

Allow objects without scrollbars to be scrollable This CL is a refactoring of scrolling code to decouple the concept of 'scrollable' from 'has scrollbars'. It adds a pure virtual userInputScrollable(orientation) method. Subclasses define this to specify whether an object is allowed to scroll (e.g. A ScrollView can be scrolled if it has scroll mode Auto or Always). Also removed a few unused scrolling-related methods. BUG=247055 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=155441

Patch Set 1 #

Patch Set 2 : Mac Build Fix #

Total comments: 8

Patch Set 3 : CR Fixes #

Patch Set 4 : CR Fixes #

Total comments: 12

Patch Set 5 : CR fixes #

Total comments: 8

Patch Set 6 : CR Fixes #

Patch Set 7 : CR Fixes #

Patch Set 8 : Fix broken Mac build #

Total comments: 8

Patch Set 9 : CR Fixes #

Total comments: 2

Patch Set 10 : Fixed ScrollbarGroup pageStep #

Unified diffs Side-by-side diffs Delta from patch set Stats (+245 lines, -247 lines) Patch
M Source/core/editing/EditorCommand.cpp View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M Source/core/page/FrameView.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M Source/core/page/FrameView.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -9 lines 0 comments Download
M Source/core/page/SpatialNavigation.cpp View 1 2 3 4 5 6 7 8 3 chunks +14 lines, -14 lines 0 comments Download
M Source/core/platform/ScrollAnimator.cpp View 1 2 3 4 5 6 7 8 2 chunks +11 lines, -9 lines 0 comments Download
M Source/core/platform/ScrollView.h View 1 2 3 4 5 6 7 8 4 chunks +3 lines, -7 lines 0 comments Download
M Source/core/platform/ScrollView.cpp View 1 2 3 4 5 6 7 8 11 chunks +24 lines, -23 lines 0 comments Download
M Source/core/platform/ScrollableArea.h View 1 2 3 4 5 6 7 8 5 chunks +16 lines, -4 lines 0 comments Download
M Source/core/platform/ScrollableArea.cpp View 1 2 3 4 5 6 7 8 5 chunks +42 lines, -28 lines 0 comments Download
M Source/core/platform/Scrollbar.h View 1 2 3 4 5 6 7 8 4 chunks +2 lines, -13 lines 0 comments Download
M Source/core/platform/Scrollbar.cpp View 1 2 3 4 5 6 7 8 6 chunks +13 lines, -19 lines 0 comments Download
M Source/core/platform/ScrollbarThemeClient.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -3 lines 0 comments Download
M Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -2 lines 0 comments Download
M Source/core/platform/chromium/support/WebScrollbarThemeClientImpl.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -12 lines 0 comments Download
M Source/core/rendering/RenderLayer.h View 1 2 3 4 5 6 7 8 9 7 chunks +11 lines, -17 lines 0 comments Download
M Source/core/rendering/RenderLayer.cpp View 1 2 3 4 5 6 7 8 9 8 chunks +34 lines, -66 lines 0 comments Download
M Source/core/rendering/RenderLayerCompositor.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/RenderListBox.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -1 line 0 comments Download
M Source/core/rendering/RenderListBox.cpp View 1 2 3 4 5 6 7 8 3 chunks +28 lines, -4 lines 0 comments Download
M Source/web/ScrollbarGroup.h View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M Source/web/ScrollbarGroup.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +27 lines, -8 lines 0 comments Download
M Source/web/WebPluginScrollbarImpl.cpp View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -2 lines 0 comments Download
M Source/web/tests/GraphicsLayerTest.cpp View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -1 line 0 comments Download
M Source/web/tests/ScrollAnimatorNoneTest.cpp View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download

Messages

Total messages: 27 (0 generated)
aelias_OOO_until_Jul13
https://codereview.chromium.org/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp File Source/core/platform/ScrollableArea.cpp (right): https://codereview.chromium.org/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp#newcode119 Source/core/platform/ScrollableArea.cpp:119: // TODO: Where should we get the step sizes ...
7 years, 6 months ago (2013-06-18 00:54:47 UTC) #1
bokan
https://chromiumcodereview.appspot.com/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp File Source/core/platform/ScrollableArea.cpp (right): https://chromiumcodereview.appspot.com/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp#newcode119 Source/core/platform/ScrollableArea.cpp:119: // TODO: Where should we get the step sizes ...
7 years, 6 months ago (2013-06-18 23:03:26 UTC) #2
aelias_OOO_until_Jul13
https://chromiumcodereview.appspot.com/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp File Source/core/platform/ScrollableArea.cpp (right): https://chromiumcodereview.appspot.com/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp#newcode119 Source/core/platform/ScrollableArea.cpp:119: // TODO: Where should we get the step sizes ...
7 years, 6 months ago (2013-06-19 02:55:24 UTC) #3
bokan
https://chromiumcodereview.appspot.com/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp File Source/core/platform/ScrollableArea.cpp (right): https://chromiumcodereview.appspot.com/16982005/diff/3001/Source/core/platform/ScrollableArea.cpp#newcode119 Source/core/platform/ScrollableArea.cpp:119: // TODO: Where should we get the step sizes ...
7 years, 6 months ago (2013-06-19 18:56:59 UTC) #4
aelias_OOO_until_Jul13
lgtm https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.cpp File Source/core/platform/ScrollableArea.cpp (right): https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.cpp#newcode104 Source/core/platform/ScrollableArea.cpp:104: nit: accidental newline https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.cpp#newcode415 Source/core/platform/ScrollableArea.cpp:415: int ScrollableArea::pageStep(ScrollbarOrientation orientation) ...
7 years, 6 months ago (2013-06-19 22:25:12 UTC) #5
aelias_OOO_until_Jul13
Sorry, not lgtm yet, I clicked on the "quick lgtm" button by accident :(. But ...
7 years, 6 months ago (2013-06-19 22:26:44 UTC) #6
bokan
https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.cpp File Source/core/platform/ScrollableArea.cpp (right): https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.cpp#newcode104 Source/core/platform/ScrollableArea.cpp:104: On 2013/06/19 22:25:12, aelias wrote: > nit: accidental newline ...
7 years, 6 months ago (2013-06-19 23:50:58 UTC) #7
aelias_OOO_until_Jul13
lgtm, thanks. https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.h File Source/core/platform/ScrollableArea.h (right): https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.h#newcode109 Source/core/platform/ScrollableArea.h:109: virtual int scrollPosition(Scrollbar*) const = 0; On ...
7 years, 6 months ago (2013-06-20 00:04:14 UTC) #8
aelias_OOO_until_Jul13
https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.h File Source/core/platform/ScrollableArea.h (right): https://chromiumcodereview.appspot.com/16982005/diff/14001/Source/core/platform/ScrollableArea.h#newcode109 Source/core/platform/ScrollableArea.h:109: virtual int scrollPosition(Scrollbar*) const = 0; On 2013/06/20 00:04:14, ...
7 years, 6 months ago (2013-06-20 00:09:40 UTC) #9
trchen
https://chromiumcodereview.appspot.com/16982005/diff/15023/Source/core/platform/Scrollbar.cpp File Source/core/platform/Scrollbar.cpp (right): https://chromiumcodereview.appspot.com/16982005/diff/15023/Source/core/platform/Scrollbar.cpp#newcode593 Source/core/platform/Scrollbar.cpp:593: return m_scrollableArea->scrollPosition().x() + m_scrollableArea->scrollOrigin().x(); I recommend phasing out scrollOrigin(). ...
7 years, 6 months ago (2013-06-20 01:46:42 UTC) #10
bokan
https://chromiumcodereview.appspot.com/16982005/diff/15023/Source/core/platform/ScrollableArea.cpp File Source/core/platform/ScrollableArea.cpp (right): https://chromiumcodereview.appspot.com/16982005/diff/15023/Source/core/platform/ScrollableArea.cpp#newcode370 Source/core/platform/ScrollableArea.cpp:370: IntPoint ScrollableArea::minimumScrollPosition() const Shouldn't the default min/maxScrollPositions here take ...
7 years, 6 months ago (2013-06-20 19:00:15 UTC) #11
jamesr
I don't fully understand the motivation here. Scrollability is a per-axis concept, not boolean. What's ...
7 years, 6 months ago (2013-06-20 19:04:06 UTC) #12
aelias_OOO_until_Jul13
On 2013/06/20 19:04:06, jamesr wrote: > I don't fully understand the motivation here. Scrollability is ...
7 years, 6 months ago (2013-06-20 19:25:31 UTC) #13
trchen
On 2013/06/20 19:04:06, jamesr wrote: > I don't fully understand the motivation here. Scrollability is ...
7 years, 6 months ago (2013-06-20 19:25:33 UTC) #14
bokan
Needs review by an OWNER
7 years, 5 months ago (2013-07-15 22:27:43 UTC) #15
tdanderson
I found a few nits but otherwise lgtm. Have you verified that the behavior for ...
7 years, 5 months ago (2013-07-15 23:17:43 UTC) #16
bokan
On 2013/07/15 23:17:43, tdanderson wrote: > I found a few nits but otherwise lgtm. > ...
7 years, 5 months ago (2013-07-22 15:08:20 UTC) #17
bokan
https://codereview.chromium.org/16982005/diff/37001/Source/core/platform/ScrollView.cpp File Source/core/platform/ScrollView.cpp (right): https://codereview.chromium.org/16982005/diff/37001/Source/core/platform/ScrollView.cpp#newcode288 Source/core/platform/ScrollView.cpp:288: // If no scrollbars are present, it does not ...
7 years, 5 months ago (2013-07-22 15:08:46 UTC) #18
eseidel
7 years, 4 months ago (2013-07-29 22:55:40 UTC) #19
leviw_travelin_and_unemployed
lgtm
7 years, 4 months ago (2013-07-31 20:18:33 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bokan@chromium.org/16982005/48001
7 years, 4 months ago (2013-07-31 20:21:13 UTC) #21
commit-bot: I haz the power
Retried try job too often on blink_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=blink_presubmit&number=4584
7 years, 4 months ago (2013-07-31 20:41:41 UTC) #22
jamesr
https://codereview.chromium.org/16982005/diff/48001/Source/web/ScrollbarGroup.cpp File Source/web/ScrollbarGroup.cpp (right): https://codereview.chromium.org/16982005/diff/48001/Source/web/ScrollbarGroup.cpp#newcode270 Source/web/ScrollbarGroup.cpp:270: return 0; this doesn't look right. have you tested ...
7 years, 4 months ago (2013-07-31 22:44:47 UTC) #23
bokan
https://codereview.chromium.org/16982005/diff/48001/Source/web/ScrollbarGroup.cpp File Source/web/ScrollbarGroup.cpp (right): https://codereview.chromium.org/16982005/diff/48001/Source/web/ScrollbarGroup.cpp#newcode270 Source/web/ScrollbarGroup.cpp:270: return 0; On 2013/07/31 22:44:48, jamesr wrote: > this ...
7 years, 4 months ago (2013-08-01 19:08:30 UTC) #24
jamesr
Thanks. Source/web/ lgtm
7 years, 4 months ago (2013-08-01 19:25:19 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bokan@chromium.org/16982005/60001
7 years, 4 months ago (2013-08-02 14:30:37 UTC) #26
commit-bot: I haz the power
7 years, 4 months ago (2013-08-02 17:04:01 UTC) #27
Message was sent while issue was closed.
Change committed as 155441

Powered by Google App Engine
This is Rietveld 408576698