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

Issue 2152773002: Make scroll anchoring adjustment when the bounds of a scroller is changed (Closed)

Created:
4 years, 5 months ago by ymalik
Modified:
4 years, 5 months ago
Reviewers:
skobes
CC:
chromium-reviews, szager+layoutwatch_chromium.org, zoltan1, blink-reviews-layout_chromium.org, pdr+renderingwatchlist_chromium.org, eae+blinkwatch, leviw+renderwatch, jchaffraix+rendering, blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Make scroll anchoring adjustment when the bounds of a scroller is changed A layout update can change the bounds of a scroller, requiring us to clamp the current scroll position if its outside the bounds of the scroller. This would clear the saved scroll anchor and have a visible jump. The main issue is that we would clear the anchor between ScrollAnchor::save and ScrollAnchor::restore. This CL calls ::restore if clamping is needed to ensure that scroll anchoring still works. BUG=594876 Committed: https://crrev.com/ed3cc7f461c0a5c6ad66e509deace2e07674537c Cr-Commit-Position: refs/heads/master@{#406277}

Patch Set 1 #

Patch Set 2 : add comment #

Total comments: 1

Patch Set 3 : Fix bug for PLSA #

Patch Set 4 : small fix #

Patch Set 5 : Call restore from PLSA/FV #

Total comments: 2

Patch Set 6 : update comment + rebase #

Patch Set 7 : fix failing tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+71 lines, -9 lines) Patch
M third_party/WebKit/Source/core/frame/FrameView.cpp View 1 2 3 4 5 6 1 chunk +10 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/core/layout/ScrollAnchorTest.cpp View 1 2 1 chunk +53 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 1 2 3 4 5 6 1 chunk +8 lines, -5 lines 0 comments Download

Messages

Total messages: 22 (9 generated)
ymalik
4 years, 5 months ago (2016-07-14 14:36:29 UTC) #3
skobes
https://codereview.chromium.org/2152773002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2152773002/diff/20001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode3652 third_party/WebKit/Source/core/frame/FrameView.cpp:3652: // that is outside its new bounds. Calling ScrollAnchor::restore ...
4 years, 5 months ago (2016-07-14 14:49:25 UTC) #4
skobes
lgtm per offline discussion, though it's somewhat unfortunate to call restore() in two different places. ...
4 years, 5 months ago (2016-07-14 15:29:08 UTC) #5
ymalik
@skobes, PTAL I find this to be cleaner than duplicating code. I am not a ...
4 years, 5 months ago (2016-07-15 16:08:54 UTC) #6
skobes
On 2016/07/15 16:08:54, ymalik wrote: > @skobes, PTAL > > I find this to be ...
4 years, 5 months ago (2016-07-15 17:08:24 UTC) #7
ymalik
PTAL :) Its probably better to call restore/save from PLSA/FV only when needed (bounds actually ...
4 years, 5 months ago (2016-07-15 20:10:57 UTC) #8
skobes
lgtm w/ nit https://codereview.chromium.org/2152773002/diff/80001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2152773002/diff/80001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode3653 third_party/WebKit/Source/core/frame/FrameView.cpp:3653: // ensures that no visible jump ...
4 years, 5 months ago (2016-07-15 20:17:42 UTC) #9
ymalik
https://codereview.chromium.org/2152773002/diff/80001/third_party/WebKit/Source/core/frame/FrameView.cpp File third_party/WebKit/Source/core/frame/FrameView.cpp (right): https://codereview.chromium.org/2152773002/diff/80001/third_party/WebKit/Source/core/frame/FrameView.cpp#newcode3653 third_party/WebKit/Source/core/frame/FrameView.cpp:3653: // ensures that no visible jump is seen when ...
4 years, 5 months ago (2016-07-18 16:08:48 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2152773002/100001
4 years, 5 months ago (2016-07-18 16:09:16 UTC) #13
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/222618)
4 years, 5 months ago (2016-07-18 17:25:37 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2152773002/120001
4 years, 5 months ago (2016-07-19 13:50:01 UTC) #18
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 5 months ago (2016-07-19 15:19:41 UTC) #20
commit-bot: I haz the power
4 years, 5 months ago (2016-07-19 15:20:54 UTC) #22
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/ed3cc7f461c0a5c6ad66e509deace2e07674537c
Cr-Commit-Position: refs/heads/master@{#406277}

Powered by Google App Engine
This is Rietveld 408576698