New issue
Advanced search Search tips

Issue 779885 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 417782



Sign in to add a comment

Transformed overflow:hidden does not clip contents when nested inside a scroller

Project Member Reported by pdr@chromium.org, Oct 31 2017

Issue description

When investigating a root-layer-scrolling test failure on paint/invalidation/scroll-in-transformed-layer.html, I found we have an overflow scroll clipping bug.

See the attached testcase.
 
rls2.html
590 bytes View Download
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 1 2017

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

commit 19f7cb8adfd015bef06b08d0c02eb5a528e8c885
Author: Philip Rogers <pdr@chromium.org>
Date: Wed Nov 01 02:35:38 2017

Ensure nested scrollers clip contents.

When painting composited overflow, kPaintLayerPaintingOverflowContents
is set to paint all content. When painting a nested, transformed
scroller, we need to ensure this flag is unset so the contents
are clipped.

Because root layer scrolling (RLS) paints the root layer as a regular
overflow scroller, this bug affected more tests with RLS. With this
patch, 5 more tests pass with root layer scrolling.

Bug:  779885 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I311cfa9e3244192b24ec3dd566aa2c65e9dba851
Reviewed-on: https://chromium-review.googlesource.com/748081
Commit-Queue: Philip Rogers <pdr@chromium.org>
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513045}
[modify] https://crrev.com/19f7cb8adfd015bef06b08d0c02eb5a528e8c885/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
[add] https://crrev.com/19f7cb8adfd015bef06b08d0c02eb5a528e8c885/third_party/WebKit/LayoutTests/compositing/overflow/nested-overflow-clip-expected.html
[add] https://crrev.com/19f7cb8adfd015bef06b08d0c02eb5a528e8c885/third_party/WebKit/LayoutTests/compositing/overflow/nested-overflow-clip.html
[modify] https://crrev.com/19f7cb8adfd015bef06b08d0c02eb5a528e8c885/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp

Comment 2 by pdr@chromium.org, Nov 1 2017

Blocking: 417782
Status: Fixed (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 1 2017

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

commit 4646c30050ea81ac922d558cb185e540e0b82326
Author: Philip Rogers <pdr@chromium.org>
Date: Wed Nov 01 21:30:02 2017

Ensure negative z index children are painted in scrollers

[1] ensured kPaintLayerPaintingOverflowContents was cleared
when painting a new root but failed to clear
kPaintLayerPaintingCompositingScrollingPhase as well. This
caused a regression where negative z index children of a
scrolled and transformed paint layer would not paint.

This patch fixes and tests the regression from [1], as well
as passing one additional test with root layer scrolling.

[1] https://crrev.com/19f7cb8adfd015bef06b08d0c02eb5a528e8c885

Bug:  779885 
Change-Id: Id73ae360000efe866fd9c9c7c1dade186d547cac
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/749059
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Commit-Queue: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513276}
[modify] https://crrev.com/4646c30050ea81ac922d558cb185e540e0b82326/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
[add] https://crrev.com/4646c30050ea81ac922d558cb185e540e0b82326/third_party/WebKit/LayoutTests/compositing/overflow/overflow-with-negative-z-index-child-expected.html
[add] https://crrev.com/4646c30050ea81ac922d558cb185e540e0b82326/third_party/WebKit/LayoutTests/compositing/overflow/overflow-with-negative-z-index-child.html
[modify] https://crrev.com/4646c30050ea81ac922d558cb185e540e0b82326/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp

Sign in to add a comment