Resizing window on Linux causes overlay scrollbar to appear/disappear |
|||||||||||
Issue descriptionVersion: 54.0.2824.0 OS: Linux What steps will reproduce the problem? (1) Enable chrome://flags/#overlay-scrollbars (2) visit bokan.ca/iframe.html (3) Resize the window horizontally What is the expected output? The <div> inside the iframe (the one that says "DIV") should always have a scrollbar What do you see instead? The <div>'s scrollbar will disappear or reappear depending on the window width. See attached screenshot, the scrollbar is missing.
,
Aug 10 2016
Sorry, forgot the screenshot +attach. I suspect it's paint since it only happens with overlay scrollbars. +UI>Shell since this is being tracked as part of shipping overlay scrollbars.
,
Aug 10 2016
,
Aug 25 2016
,
Sep 22 2016
,
Oct 20 2016
,
Oct 20 2016
Note that the launch target for overlay scrollbars is m56. I would favor making this one of our high priority bugs.
,
Oct 20 2016
But note this is just one of many blocking bugs for 307091.
,
Oct 20 2016
Agreed, this is one of our launch blockers and I'll be getting to it soon. FYI, here's a Googler-only list of remaining bugs and prioritization: https://docs.google.com/spreadsheets/d/13pt4tM4Prm7WSVL_bAtdGN6XKHPhvEYoYSvjwH-CGTU/edit#gid=0&vpid=A1
,
Oct 21 2016
Actually, Chao, now that you've touched some of the scrollbar painting code, see if you can diagnose the cause of this. If it gets too involved you can punt it back to me but maybe it's a simple problem (and you can learn a bit more about the rendering pipeline).
,
Oct 26 2016
,
Oct 26 2016
PaintLayerPainter::paintOverlayScrollbars - https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp?cl=GROK&gsn=setContainsDirtyOverlayScrollbars&rcl=1477480817&l=1069 This is the place skipped the overlay scrollbar paint. After the first paint the scrollbar m_containsDirtyOverlayScrollbars set false. Only calls ScrollableAreaPainter::paintOverflowControls can make it true. And only phase == PaintPhaseBlockBackground || phase == PaintPhaseSelfBlockBackgroundOnly (https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/paint/PaintPhase.h?sq=package:chromium&dr&rcl=1477480817&l=95) will call ScrollableAreaPainter::paintOverflowControls. call stack: #1 0x7ffabe2b2ecc blink::ScrollableAreaPainter::paintOverflowControls() #2 0x7ffabe20c900 blink::BlockPainter::paintOverflowControlsIfNeeded() #3 0x7ffabe20c513 blink::BlockPainter::paint() #4 0x7ffabded16b5 blink::LayoutBlock::paint() #5 0x7ffabe274d8c blink::PaintLayerPainter::paintFragmentWithPhase() #6 0x7ffabe27346b blink::PaintLayerPainter::paintBackgroundForFragments() #7 0x7ffabe272b97 blink::PaintLayerPainter::paintLayerContents() #8 0x7ffabe271b36 blink::PaintLayerPainter::paintLayerContentsCompositingAllPhases()
,
Nov 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4fa58f16e52436c1b547ae6843611ec5cca0f364 commit 4fa58f16e52436c1b547ae6843611ec5cca0f364 Author: bokan <bokan@chromium.org> Date: Sat Nov 19 00:26:30 2016 Set scrollbar enabled state for overflow:auto. PaintLayerScrollableArea code previously assumed it needed to setEnabled only on scrollbars for overflow:scroll elements. This was because the only time we would have a disabled scrollbar was for an overflow:scroll areas without enough overflow. An overflow:auto area simply wouldn't have created the scrollbar. This changes for overlay scrollbars because we fade out the scrollbars by disabling them, causing painting code to avoid painting. BUG= 636392 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2505253002 Cr-Commit-Position: refs/heads/master@{#433348} [modify] https://crrev.com/4fa58f16e52436c1b547ae6843611ec5cca0f364/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/4fa58f16e52436c1b547ae6843611ec5cca0f364/third_party/WebKit/LayoutTests/paint/invalidation/flexbox/scrollbars-changed-expected.txt [add] https://crrev.com/4fa58f16e52436c1b547ae6843611ec5cca0f364/third_party/WebKit/LayoutTests/scrollbars/auto-scrollbar-fades-out-expected.html [add] https://crrev.com/4fa58f16e52436c1b547ae6843611ec5cca0f364/third_party/WebKit/LayoutTests/scrollbars/auto-scrollbar-fades-out.html [modify] https://crrev.com/4fa58f16e52436c1b547ae6843611ec5cca0f364/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
,
Nov 29 2016
,
Apr 5 2017
|
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by schenney@chromium.org
, Aug 10 2016