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

Issue 645949 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Locally attached backgrounds with border radius should be able to paint into the scrolling contents layer.

Project Member Reported by flackr@chromium.org, Sep 12 2016

Issue description

We should be able to paint a locally attached background on an overflow: scroll element with a border radius but they do not paint.
 
First step is to see if you're going through the code path that hits BoxPainter::paintClippingMask, as that relies on some poorly understood GPU shader magic to work. It clearly depends very tightly on the order in whichh layers get painted and what's in each layer.

My next job is figuring how that all works, to fix https://bugs.chromium.org/p/chromium/issues/detail?id=157218
Project Member

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

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

commit a5e4a2686447be53c5fa482e10190ab568364efe
Author: flackr <flackr@chromium.org>
Date: Mon Sep 12 19:38:36 2016

Don't paint backgrounds with border radius on scrolling contents layer.

BUG= 645941 , 645949 
TEST=PaintLayerScrollableAreaTest.ShouldPaintBackgroundOntoScrollingContentsLayer
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/a5e4a2686447be53c5fa482e10190ab568364efe/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
[modify] https://crrev.com/a5e4a2686447be53c5fa482e10190ab568364efe/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp

🎶🎼😘📗🦁

2016-09-12 19:41 GMT+00:00 bugdro… via monorail <
monorail+v2.3275348242@chromium.org>:
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 16 2016

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

commit dd59f478410b76764e227fe24642bae6f7b06b26
Author: flackr <flackr@chromium.org>
Date: Fri Sep 16 01:09:20 2016

Only paint the background onto the scrolling contents layer if we have a scrolling contents layer.

BUG= 647169 , 645949 
TEST=CompositedLayerMappingTest.BackgroundPaintedIntoGraphicsLayerIfNotCompositedScrolling
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp
[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/paint/PaintLayer.cpp
[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/paint/PaintLayer.h
[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp
[modify] https://crrev.com/dd59f478410b76764e227fe24642bae6f7b06b26/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.h

Comment 5 by flackr@chromium.org, Sep 16 2016

Cc: vollick@chromium.org
Status: Fixed (was: Assigned)
With this commit the special case to avoid border radius has been removed so the only thing preventing this is just compositing border-radius scrollers:  issue 567296 . I have verified a composited local attachment background with border radius works (http://output.jsbin.com/kuleqedule) with https://codereview.chromium.org/544183002 reverted so it is able to paint if/when we composite the scroller.
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 20 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a88c6ad9ff6b006f496679107d484df9ca4782c6

commit a88c6ad9ff6b006f496679107d484df9ca4782c6
Author: Robert Flack <flackr@chromium.org>
Date: Tue Sep 20 20:59:50 2016

Only paint the background onto the scrolling contents layer if we have a scrolling contents layer.

TBR=chrishtr@chromium.org
BUG= 647169 , 645949 
TEST=CompositedLayerMappingTest.BackgroundPaintedIntoGraphicsLayerIfNotCompositedScrolling
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2346883003
Cr-Commit-Position: refs/heads/master@{#419064}
(cherry picked from commit dd59f478410b76764e227fe24642bae6f7b06b26)

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

Cr-Commit-Position: refs/branch-heads/2840@{#448}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/a88c6ad9ff6b006f496679107d484df9ca4782c6/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/a88c6ad9ff6b006f496679107d484df9ca4782c6/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
[modify] https://crrev.com/a88c6ad9ff6b006f496679107d484df9ca4782c6/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp

Cc: rnimmagadda@chromium.org
Labels: TE-Verified-M54 TE-Verified-54.0.2840.34
Followed the steps based on the issue - 645941

Verified the fix on Windows 7, MAC (10.11.6) & Ubuntu Trusty (14.04) for Google Chrome Beta Version - 54.0.2840.34

TE-Verified Labels are added.

Screen-recording is attached.
645949.mp4
1.5 MB View Download
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 27 2016

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

commit a88c6ad9ff6b006f496679107d484df9ca4782c6
Author: Robert Flack <flackr@chromium.org>
Date: Tue Sep 20 20:59:50 2016

Only paint the background onto the scrolling contents layer if we have a scrolling contents layer.

TBR=chrishtr@chromium.org
BUG= 647169 , 645949 
TEST=CompositedLayerMappingTest.BackgroundPaintedIntoGraphicsLayerIfNotCompositedScrolling
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2346883003
Cr-Commit-Position: refs/heads/master@{#419064}
(cherry picked from commit dd59f478410b76764e227fe24642bae6f7b06b26)

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

Cr-Commit-Position: refs/branch-heads/2840@{#448}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/a88c6ad9ff6b006f496679107d484df9ca4782c6/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/a88c6ad9ff6b006f496679107d484df9ca4782c6/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
[modify] https://crrev.com/a88c6ad9ff6b006f496679107d484df9ca4782c6/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMappingTest.cpp

Sign in to add a comment