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

Issue 642866 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Negative outline-offset outline is covered up by composited scrolling contents layer.

Project Member Reported by flackr@chromium.org, Aug 31 2016

Issue description

Version: 53.0.2785.70 (Official Build) beta (64-bit)
OS: All

What steps will reproduce the problem?
(1) Visit http://output.jsbin.com/zefodu

What is the expected output?
Expect the non-composited and composited scrollers to look identical.

What do you see instead?
Instead, the composited scroller appears to have no outline because it is being covered up by the composited scrolling contents layer and scrollbars.

To composite this correctly I think we'd need to draw the outline into a layer in front of the scrolling contents layer and the scrollbars.

Please use labels and text to provide additional information.

 
Owner: flackr@chromium.org
Status: Assigned (was: Untriaged)

Comment 2 by flackr@chromium.org, Oct 11 2016

Owner: yigu@chromium.org
Yi, can you take a look at this.

We need to add an optional layer to CompositedLayerMapping which can draw on top of the scrolling content. See CompositedLayerMapping.h: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h?sq=package:chromium&dr=CSs. There's an ASCII representation of the current layer tree structure here: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h?sq=package:chromium&dr=CSs&l=487
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 18 2016

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

commit 4199d1cead13a646b2cf14ad36ef00e61e9bab83
Author: yigu <yigu@chromium.org>
Date: Fri Nov 18 15:39:10 2016

Fix the bug that negative outline-offset is covered up by composited
scrolling contents layer.

This CL adds a decoration layer, child of the graphics layer, painted
on top of other layers. Painting outline in this layer would guarantee
its appearance.

Currently the decoration layer is used only for this purpose. But
in the future more contents will be added into it.

BUG= 642866 
TEST=CompositedLayerMappingTest.DecorationLayerOnlyCreatedInCompositedScrolling; CompositedLayerMappingTest.DecorationLayerCreatedAndDestroyedInCompositedScrolling; third_party/WebKit/LayoutTests/compositing/overflow/overflow-scroll-with-negative-offset-translucent-outline.html;
third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-negative-offset-outline.html
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt
[add] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scroll-with-negative-offset-translucent-outline-expected.html
[add] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scroll-with-negative-offset-translucent-outline.html
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/compositing/update-paint-phases-expected.txt
[add] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-negative-offset-outline-expected.png
[add] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-negative-offset-outline-expected.txt
[add] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/paint/invalidation/composited-overflow-with-negative-offset-outline.html
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/mac-mac10.10/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/mac-mac10.9/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[add] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/mac-mac10.9/paint/invalidation/composited-overflow-with-negative-offset-outline-expected.png
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[add] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-overflow-with-negative-offset-outline-expected.png
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scrolling-paint-phases-expected.txt
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/core/paint/PaintLayerPaintingInfo.h
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/platform/graphics/CompositingReasons.cpp
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/platform/graphics/CompositingReasons.h
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
[modify] https://crrev.com/4199d1cead13a646b2cf14ad36ef00e61e9bab83/third_party/WebKit/Source/platform/graphics/GraphicsLayerClient.h

Comment 4 by yigu@chromium.org, Nov 18 2016

Status: Fixed (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 19 2016

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

commit c6e5c1845b9019ff276c16dd8af7bb654279e07d
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Sat Nov 19 18:48:44 2016

Auto-rebaseline for r433205

https://chromium.googlesource.com/chromium/src/+/4199d1cea

BUG= 642866 
TBR=yigu@chromium.org

Review URL: https://codereview.chromium.org/2516103002 .

Cr-Commit-Position: refs/heads/master@{#433425}

[modify] https://crrev.com/c6e5c1845b9019ff276c16dd8af7bb654279e07d/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/c6e5c1845b9019ff276c16dd8af7bb654279e07d/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[modify] https://crrev.com/c6e5c1845b9019ff276c16dd8af7bb654279e07d/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[modify] https://crrev.com/c6e5c1845b9019ff276c16dd8af7bb654279e07d/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png
[modify] https://crrev.com/c6e5c1845b9019ff276c16dd8af7bb654279e07d/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png

Sign in to add a comment