Chromium Code Reviews
DescriptionUpdate layer position on scroll origin change
Layers on the compositor are positioned relative to the physical origin
in the top left corner, regardless of writing direction. In Blink, the
scroll offset is relative to the scroll origin which changes based on
writing direction. This means that changing the scroll origin, without
changing the scroll offset, still requires updating the scroll layer's
position on the compositor.
Previously, this happened by accident as a change in scroll origin would
often cause scrollbar existence to change and this would implicitly
position the compositor layers through calling
PaintLayerCompositor::FrameViewDidChangeSize. This call is unneeded when
using overlay scrollbars since no sizes changed so I removed it in
https://crrev.com/f5a4f9d38de7403d172ad20f78c462048eae37bc. This caused
us to miss positioning scroll layers in cases where we wouldn't otherwise.
This patch adds a step after a compositing update that checks if the
scroll origin changed and explicitly updates the scroll layer position.
BUG=707542
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Review-Url: https://codereview.chromium.org/2812523003
Cr-Commit-Position: refs/heads/master@{#463904}
Committed: https://chromium.googlesource.com/chromium/src/+/9c51c9ab54994c6baa9eedde1eb86b549dd8e314
Patch Set 1 #Patch Set 2 : Add Test #
Messages
Total messages: 20 (12 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||