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

Issue 2345103002: Freeze scrollbars for relayout if overflow:auto added scrollbars. (Closed)

Created:
4 years, 3 months ago by szager1
Modified:
4 years, 1 month ago
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
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Freeze scrollbars for relayout if overflow:auto added scrollbars. Under very specific circumstances, LayoutBlockFlow::layoutBlock will loop infinitely in this stanza: while (!done) done = layoutBlockFlow(...); ... due to fluctuations in the existence of overflow:auto scrollbars in descendants. Any layout type that does multi-pass layout is especially susceptible to this, hence this bug affecting flexbox, and another recent bug affecting tables: crbug.com/64635. This fix supercedes the existing fix for the table bug, and it should fix any other variations of this bug involving multi-pass layout and overflow:auto. BUG=644450 R=cbiesinger@chromium.org,eae@chromium.org Committed: https://crrev.com/906252430fe0108cf163f1fd9c2e96aa283f9cb5 Cr-Commit-Position: refs/heads/master@{#419035}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+28 lines, -4 lines) Patch
A third_party/WebKit/LayoutTests/scrollbars/overflow-auto-infinite-loop.html View 1 chunk +21 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp View 1 chunk +7 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/layout/LayoutTableSection.cpp View 2 chunks +0 lines, -2 lines 0 comments Download

Messages

Total messages: 15 (8 generated)
szager1
4 years, 3 months ago (2016-09-15 21:44:19 UTC) #1
eae
LGTM I like how well encapsulated the logic is, nicely done!
4 years, 3 months ago (2016-09-15 21:51:54 UTC) #4
cbiesinger1
lgtm
4 years, 3 months ago (2016-09-15 21:59:15 UTC) #6
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/2345103002/1
4 years, 3 months ago (2016-09-15 23:23:59 UTC) #10
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 3 months ago (2016-09-15 23:28:51 UTC) #11
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/906252430fe0108cf163f1fd9c2e96aa283f9cb5 Cr-Commit-Position: refs/heads/master@{#419035}
4 years, 3 months ago (2016-09-15 23:30:52 UTC) #13
mstensho (USE GERRIT)
4 years, 1 month ago (2016-11-21 09:12:48 UTC) #15
Message was sent while issue was closed.
Correct number for the table bug mentioned in the description:

https://bugs.chromium.org/p/chromium/issues/detail?id=644635

Powered by Google App Engine
This is Rietveld 408576698