DescriptionRestore 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
Messages
Total messages: 8 (2 generated)
|