New issue
Advanced search Search tips

Issue 776969 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 544140



Sign in to add a comment

[root layer scrolls] overlapped-nested-iframes.html

Project Member Reported by skobes@chromium.org, Oct 20 2017

Issue description

The baseline is here:

  third_party/WebKit/LayoutTests/compositing/iframes/overlapped-nested-iframes-expected.txt

It expects the fixed-position #banner div to be layer promoted:

    {
      "name": "LayoutBlockFlow (positioned) DIV id='banner'",
      "position": [0, 100],
      "bounds": [785, 120],
      "backgroundColor": "#00000080",
      "transform": 1
    }

With RLS on Linux, this layer is missing:

https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/17333/layout-test-results/compositing/iframes/overlapped-nested-iframes-pretty-diff.html?format=txt
 

Comment 1 by skobes@chromium.org, Oct 20 2017

Components: Blink>Scroll
Labels: -Pri-3 -OS-Mac OS-Linux Pri-2

Comment 2 by bokan@chromium.org, Oct 27 2017

Owner: bokan@chromium.org
Status: Assigned (was: Available)
Likely related to  issue 777672  so I'll take it too.

Comment 3 by bokan@chromium.org, Nov 4 2017

Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 21 2017

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

commit 41b2061a25fba4fb017e5060bbbba03613cf16df
Author: David Bokan <bokan@chromium.org>
Date: Tue Nov 21 23:32:26 2017

Update compositing inputs on scrolling root layer

Layers need to be checked for paint order and overlap with
composited layers to determine if they too must be composited.
This is called overlap testing and happens in a compositing update
if the compositing inputs are marked as dirty.

Scrolling normally doesn't dirty compositing inputs but viewport
scrolling is special if it has fixed layers. This is because
scrolling the viewport can change what fixed layers overlap,
unlike other content on the page which scrolls together.

Before root-layer-scrolling, the LocalFrameView would do this in
LocalFrameView::UpdateLayersAndCompositingAfterScrollIfNeeded.
With root-layer-scrolling, the top PaintLayerScrollableArea handles
viewport scrolling. This patch simply copies that behavior from
LocalFrameView to PaintLayerScrollableArea.

Bug:  776969 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0cc6062caded3c42eb0febb48c391a1fe4af54bf
Reviewed-on: https://chromium-review.googlesource.com/754346
Reviewed-by: Steve Kobes <skobes@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518444}
[modify] https://crrev.com/41b2061a25fba4fb017e5060bbbba03613cf16df/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
[add] https://crrev.com/41b2061a25fba4fb017e5060bbbba03613cf16df/third_party/WebKit/LayoutTests/flag-specific/root-layer-scrolls/compositing/iframes/overlapped-nested-iframes-expected.txt
[modify] https://crrev.com/41b2061a25fba4fb017e5060bbbba03613cf16df/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp

Comment 5 by bokan@chromium.org, Nov 22 2017

Status: Fixed (was: Started)

Sign in to add a comment