New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 635722 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

incorrect scrollbar placement with box-shadow

Project Member Reported by skobes@chromium.org, Aug 9 2016

Issue description

Report from helenxywu:

"I'm seeing a scrolling bug on Chrome (51) and Chrome Canary (54) on MacOS high DPI. zhaoz said you might be able to help route this.

When I have a scrollable container with box shadow and an element that has relative positioning inside of it, it shifts the scroll bar over based on the box shadow. The expected behavior is that the box shadow doesn't affect where the scrollbar is. I've also tested on firefox and safari and I don't see this behavior.

example: https://jsbin.com/vigopudeji/edit?html,output

One more thing that I noticed was that if a parent div had box shadow, it could also affect the scrollbar of the container with overflow auto. I haven't reproduced an isolated case of that, but it's currently happening in our application."
 
Screen Shot 2016-08-08 at 3.18.38 PM.png
925 KB View Download
Owner: skobes@chromium.org
Status: Started (was: Unconfirmed)
Repros when scroller is composited due to high DPI but not when composited due to transform.  Requires overlay scrollbars (but repros on Linux with --enable-prefer-compositing-to-lcd-text --enable-overlay-scrollbar).

This is something in or near CompositedLayerMapping::positionOverflowControlsLayers().
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/509c59b3500ee9d2fb244c23cdc6abf528a5bee0

commit 509c59b3500ee9d2fb244c23cdc6abf528a5bee0
Author: skobes <skobes@chromium.org>
Date: Tue Sep 27 00:56:20 2016

Fix placement of overlay scrollbars on high DPI with box shadow.

CompositedLayerMapping did not position the scrollbar layers correctly when a
non-stacking-context scroller had a box shadow.  Some ancestor clipping
scenarios were also broken.  This patch cleans up the logic and adds comments
and test coverage.

BUG= 635722 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2363953002
Cr-Commit-Position: refs/heads/master@{#421058}

[modify] https://crrev.com/509c59b3500ee9d2fb244c23cdc6abf528a5bee0/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[add] https://crrev.com/509c59b3500ee9d2fb244c23cdc6abf528a5bee0/third_party/WebKit/LayoutTests/compositing/overflow/scrollbar-layer-placement-expected.png
[add] https://crrev.com/509c59b3500ee9d2fb244c23cdc6abf528a5bee0/third_party/WebKit/LayoutTests/compositing/overflow/scrollbar-layer-placement-expected.txt
[add] https://crrev.com/509c59b3500ee9d2fb244c23cdc6abf528a5bee0/third_party/WebKit/LayoutTests/compositing/overflow/scrollbar-layer-placement.html
[modify] https://crrev.com/509c59b3500ee9d2fb244c23cdc6abf528a5bee0/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/509c59b3500ee9d2fb244c23cdc6abf528a5bee0/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h

Comment 3 by skobes@chromium.org, Sep 30 2016

Status: Fixed (was: Started)
Verified fixed in canary (55.0.2875.0).

Comment 4 by skobes@chromium.org, Jan 11 2017

Cc: skobes@chromium.org durga.behera@chromium.org pbomm...@chromium.org
 Issue 582358  has been merged into this issue.

Sign in to add a comment