Regression: Flipkart page gets blank on clicking slider icon.
Reported by
dchau...@etouch.net,
Jul 10 2017
|
|||||||
Issue descriptionChrome Version: 61.0.3153.0 (Official Build) 4b9102f9588fb6cf639a6165fd4777658d5ade0d-refs/heads/master@{#485143} 32/64-bit. OS: Windows (7,8,8.1,10),Linux (14.04 LTS),Mac OS X(10.11.6,10.12.3) What steps will reproduce the problem? 1. Launch chrome and go to www.flipkart.com 2. Multiple times click on arrow (slider) icon. 3. Now, Scroll down the page and again click on arrow icon and observe. (Refer video) Flipkart page gets blank on clicking arrow icon. Flipkart page should not be blank on clicking arrow icon. This is a regression issue, broken in M-61 series, below is manual regression range. Good build: 61.0.3150.0 Bad build: 61.0.3152.0 Note: This issue is not seen on Firefox and IE browsers. kindly review the attached screen-cast for reference.
,
Jul 10 2017
This issue is also caused by a 0-solid color mask. But forcing NeedsToClip to return true does not fix this issue. Making cc ignore 0-solid-color mask would solve this problem, if there are more potential cases in the wild, can we fix it by ignoring these masks and record logs to track these masks so that we do not need to revert changes every time we get such a problem?
,
Jul 10 2017
Why is all this breaking now but did not break when I landed the original masking patch? What is it about tiling the masks that causes more problems?
,
Jul 10 2017
,
Jul 10 2017
The tiling mask patch changes the behavior of how cc handles a 0-solid color mask layer. Before, cc does not care about whether the layer is a solid color one, it simply applies the mask layer to the render surface (but I do not understand why the content is not masked out). Now when trying to tile the mask, cc calls SolidColorLayerImpl::AppendQuads when processing a solid color mask, that function throws away the layer when it finds that the color is 0.
,
Jul 10 2017
So cc has the logic of ignoring masks whose mask_resource_id == 0. When we get empty mask layers, cc would ignore them by not choosing the HAS_MASK version of shader program or skip mask logic in software renderer. After the tiling patch, we throw away those masked quads as we think they mean everything is masked out. This cause the breakings of this type of bugs. I think we can teach the tiling logic to ignore masks in this case?
,
Jul 10 2017
Issue 740471 has been merged into this issue.
,
Jul 10 2017
I have a fix. Working on a testcase now.
,
Jul 10 2017
,
Jul 11 2017
Reduced testcase: <!DOCTYPE html> <div style=" height:700px"></div> <div style="border-radius: 2px; overflow: hidden;"> <div style="width: 100px; height: 100px; background: lightblue; will-change: transform"></div> </div> The first div has to be tall enough to induce scroll. The scroll adjustment demonstrates an error in the calculation of whether there is a non-empty paint fragment for the ancestor clipping mask.
,
Jul 11 2017
,
Jul 11 2017
A friendly reminder that M61 branch is coming soon on 07/20! Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix ASAP to trunk. This way we branch M61 from a high quality trunk. Thank you.
,
Jul 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b45467a31c1bd152920544cded6b571877d44846 commit b45467a31c1bd152920544cded6b571877d44846 Author: Chris Harrelson <chrishtr@chromium.org> Date: Tue Jul 11 22:34:46 2017 Fix fragment background_rect coordinate space for ancestor clip mask. Previously, we had forgotten to adjust to the space of the compositing container. Bug: 740517 Change-Id: Ica29b840be7c24dafff4a4d534d6e87e4f8f9bf5 Reviewed-on: https://chromium-review.googlesource.com/567301 Reviewed-by: Stephen Chenney <schenney@chromium.org> Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#485709} [add] https://crrev.com/b45467a31c1bd152920544cded6b571877d44846/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-outside-bounds-of-compositing-ancestor-expected.png [add] https://crrev.com/b45467a31c1bd152920544cded6b571877d44846/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-outside-bounds-of-compositing-ancestor-expected.txt [add] https://crrev.com/b45467a31c1bd152920544cded6b571877d44846/third_party/WebKit/LayoutTests/compositing/overflow/border-radius-outside-bounds-of-compositing-ancestor.html [modify] https://crrev.com/b45467a31c1bd152920544cded6b571877d44846/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
,
Jul 11 2017
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by msrchandra@chromium.org
, Jul 10 2017Owner: sunxd@chromium.org
Status: Assigned (was: Unconfirmed)