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

Issue 2042923002: Restore PaintLayerScrollableArea::ScrollbarManager::canDetach behavior. (Closed)

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

Description

Restore PaintLayerScrollableArea::ScrollbarManager::canDetach behavior. This CL mistakenly disabled the 'detach' behavior for ScrollbarManager: https://codereview.chromium.org/1930183002 ... because it seemed like DelayScrollPositionClampScope would be sufficient to preserve all the necessary state for scrollbars as they were added and removed during the multiple layout passes of flex layout. However, that was premature: even though the scroll positions were preserved, destroying and recreating scrollbars during layout will invalidate the ScrollingCoordinator's mapping from Scrollbar to WebScrollbarLayer. One side effect is that if a scroll event handler forces layout to run during a scrollbar drag, and the Scrollbar/WebScrollbarLayer association is broken, then the compositor will think that the scrollbar drag has ended, even though mouse-up has not yet happened. This CL also sneaks in a tiny optimization: if auto scrollbars are frozen, then childFlexBasSizeRequiresLayout should not return true due to the child having auto scrollbars (since the scrollbars cannot change). BUG=617498 R=eae@chromium.org,cbiesinger@chromium.org Committed: https://crrev.com/f56bda6f7f5201ace0327e8e64ddf41e9f52d2b5 Cr-Commit-Position: refs/heads/master@{#398193}

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+9 lines, -4 lines) Patch
M third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp View 1 chunk +4 lines, -2 lines 1 comment Download
M third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp View 3 chunks +5 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
szager1
4 years, 6 months ago (2016-06-06 22:54:44 UTC) #1
eae
LGTM Please try to add a test in a follow up change.
4 years, 6 months ago (2016-06-06 22:57:01 UTC) #2
cbiesinger
lgtm https://codereview.chromium.org/2042923002/diff/1/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp File third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp (right): https://codereview.chromium.org/2042923002/diff/1/third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp#newcode785 third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp:785: && !PaintLayerScrollableArea::FreezeScrollbarsScope::scrollbarsAreFrozen()))); We might want to split this ...
4 years, 6 months ago (2016-06-06 23:23:42 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2042923002/1
4 years, 6 months ago (2016-06-06 23:33:23 UTC) #5
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 6 months ago (2016-06-07 01:35:29 UTC) #6
commit-bot: I haz the power
4 years, 6 months ago (2016-06-07 01:37:17 UTC) #8
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/f56bda6f7f5201ace0327e8e64ddf41e9f52d2b5
Cr-Commit-Position: refs/heads/master@{#398193}

Powered by Google App Engine
This is Rietveld 408576698