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

Issue 1846023003: Don't clamp scroll positions until the end of all layouts (Closed)

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

Description

Make sure to save/restore scroll positions in finishDelayUpdateScrollInfo Due to Flexbox's multi-pass layout, we may lay out children at intermediate sizes that are very small, causing us to clamp the scroll position at this small size. Once we lay out at the right size, the scroll position is lost. To avoid this problem, make finishDelayUpdateScrollInfo store the old scroll position so it can be restored. XXXXX THIS IS TEMPORARY XXXXX The plan is to bake this on canary and merge this to M50 to fix the release blocker and fix this the right way on trunk (bug 600036), by delaying clamping of scroll offsets to after layout. BUG=593209 Committed: https://crrev.com/ea799d37bd27d7ae346031a9332f542f7f57fd38 Cr-Commit-Position: refs/heads/master@{#384772}

Patch Set 1 #

Patch Set 2 : . #

Total comments: 1

Patch Set 3 : better approach #

Patch Set 4 : improvement? #

Patch Set 5 : back to original approach for landing, will do real fix separately #

Unified diffs Side-by-side diffs Delta from patch set Stats (+23 lines, -6 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutBlock.h View 1 2 3 4 1 chunk +10 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlock.cpp View 1 3 4 2 chunks +5 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutDeprecatedFlexibleBox.cpp View 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp View 3 4 1 chunk +6 lines, -1 line 0 comments Download

Messages

Total messages: 27 (14 generated)
cbiesinger
4 years, 8 months ago (2016-04-01 03:11:34 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1846023003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1846023003/20001
4 years, 8 months ago (2016-04-01 03:12:26 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-01 04:21:55 UTC) #7
leviw_travelin_and_unemployed
https://codereview.chromium.org/1846023003/diff/20001/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp File third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp (right): https://codereview.chromium.org/1846023003/diff/20001/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp#newcode292 third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp:292: if (LayoutBlock::finishDelayUpdateScrollInfo(&layoutScope, &scrollMap)) { The lack of a test ...
4 years, 8 months ago (2016-04-01 18:05:10 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1846023003/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1846023003/40001
4 years, 8 months ago (2016-04-01 18:46:33 UTC) #13
cbiesinger
Now with a much better approach, see the new CL description. Still working on getting ...
4 years, 8 months ago (2016-04-01 18:46:34 UTC) #14
leviw_travelin_and_unemployed
I'm hoping for a test case, but I like this approach a lot more :)
4 years, 8 months ago (2016-04-01 19:14:39 UTC) #15
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/198080)
4 years, 8 months ago (2016-04-01 19:46:59 UTC) #17
cbiesinger
I'm going back to the working approach so we have something to merge to M50, ...
4 years, 8 months ago (2016-04-02 00:08:16 UTC) #18
leviw_travelin_and_unemployed
Can you update the description describing the temporary nature of this fix? Mention that this ...
4 years, 8 months ago (2016-04-02 00:09:47 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1846023003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1846023003/80001
4 years, 8 months ago (2016-04-02 00:13:22 UTC) #23
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 8 months ago (2016-04-02 01:28:35 UTC) #25
commit-bot: I haz the power
4 years, 8 months ago (2016-04-02 01:30:12 UTC) #27
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/ea799d37bd27d7ae346031a9332f542f7f57fd38
Cr-Commit-Position: refs/heads/master@{#384772}

Powered by Google App Engine
This is Rietveld 408576698