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

Issue 811143 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

CSS Rendering Error when position:fixed element and page scrollable

Reported by t...@timkremer.info, Feb 11 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36

Steps to reproduce the problem:
1. See Minimal file example.
A common approach for rendering a radial progress bar in CSS is now failing as of Chrome Version 64.0.3282.140 (Official Build) (64-bit)

This occurs when there is a position:fixed element on the page (e.g. a fixed header) and the page is tall enough to scroll, and the fixed element height is >= radial progress element.

What is the expected behavior?
In the minimal example, the radial progress element should render the bar corresponding to the %, even for values over 50%

What went wrong?
It stops at 50% for all progress values above 50%

Did this work before? Yes Earlier versions of chrome 64

Does this work in other browsers? Yes

Chrome version: 64.0.3282.140  Channel: stable
OS Version: 10.0
Flash Version:
 
minimal2.htm
10.0 KB View Download
Labels: Needs-Triage-M64 Needs-Bisect
Components: Blink>Compositing Blink>Paint
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision ReleaseBlock-Stable Triaged-ET RegressedIn-64 M-66 Target-65 FoundIn-66 Target-66 FoundIn-64 FoundIn-65 Target-64 OS-Linux OS-Mac Pri-1
Owner: sunxd@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on chrome version 64.0.3282.140 and latest canary 66.0.3334.0 using Ubuntu 14.04, Windows-10 and Mac 10.12.6 hence providing Bisect Info

Bisect Info:
================
Good build: 64.0.3249.0
Bad build: 64.0.3250.0

You are probably looking for a change made after 511578 (known good), but no later than 511579 (first known bad).

https://chromium.googlesource.com/chromium/src/+log/8c7e87211aa02c337795f9260705c47d8a277e5b..eeaf4c2326de12c9b36324a805e46ab933057e54

Reviewed-on: https://chromium-review.googlesource.com/735751

@sunxd: Please confirm the issue and help in re-assigning if it is not related to your change.
Adding ReleaseBlock-Stable as it seems recent break, feel free to remove it if not applicable.

Thanks!

Comment 3 by t...@timkremer.info, Feb 12 2018

Hi Chrome team,
Here's a hosted copy of a minimal reproduction page:
http://any.avaza.com/chromebug.html

Thanks
Tim

Labels: -M-66 M-64

Comment 5 by sunxd@chromium.org, Feb 12 2018

Looking at the bug... I previously had an occlusion bug regressed by the same change. The patch hasn't landed yet. I'll check if that fixes this as well.
Cc: pbomm...@chromium.org gov...@chromium.org abdulsyed@chromium.org
Labels: M-65
Components: -Blink>Compositing -Blink>Paint -Blink>CSS Internals>Compositing

Comment 8 by gov...@chromium.org, Feb 13 2018

M65 Stable promotion is coming VERY soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge  into the release branch ASAP. Thank you.
Labels: -M-64 -Target-64
Moving this from M64 to M65. 
sunxd@ gentle ping to check if we have any update on the fix.

Comment 11 by sunxd@chromium.org, Feb 15 2018

The fix is in code review now: https://chromium-review.googlesource.com/c/chromium/src/+/916625
Friendly ping to land the fix ASAP as M65 Stable promotion is coming VERY soon & this issue marked as M65 stable blocker.

Thanks..!
Project Member

Comment 13 by bugdroid1@chromium.org, Feb 20 2018

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

commit cf699d7fef4e3f03743cc916209c7ebff5dc7b7a
Author: sunxd <sunxd@chromium.org>
Date: Tue Feb 20 16:36:15 2018

cc: Make solid color mask layer ignore occlusion

Mask layer's occlusion is actually its render surface's occlusion in the
contributed parent surface space.

However, when tiling a solid color mask layer, we used to adopt the logic
from normal picture layers: overwrite the occlusion's transform with the
layer's draw transform. This is problematic because mask layer's draw
transform is to the render surface that owns the mask. In this way, we
can generate the wrong visible quad rect and result in blanks when
rendering.

Since solid color mask layer does not do anything but cannot be fully
avoided in the current code base, we should never apply an occlusion to
it. Any occlusion to the masked content can still take effect by
applying itself to the owning render surface.

Bug:  811143 ,  810820 ,  808372 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I821492c107c2abadb9b9e6986369c9f6262d0ad4
Reviewed-on: https://chromium-review.googlesource.com/916625
Commit-Queue: Xianda Sun <sunxd@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537794}
[modify] https://crrev.com/cf699d7fef4e3f03743cc916209c7ebff5dc7b7a/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/cf699d7fef4e3f03743cc916209c7ebff5dc7b7a/cc/layers/picture_layer_impl_unittest.cc

Comment 14 by sunxd@chromium.org, Feb 20 2018

Hello can you verify if this is fixed in Canary and if so we can merge this bug into 808372.

Comment 15 by sunxd@chromium.org, Feb 20 2018

Sorry the new patch is not baked in canary yet, maybe try it after a few hours.
M65 Stable promotion is coming VERY soon. Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Merge has to happen latest by 4:00 PM PT Monday (02/26/18) in order to make it to last M65 beta release next week. Thank you.
Labels: TE-Verified-M66 TE-Verified-66.0.3352.0
Able to reproduce the issue on chrome reported version 64.0.3282.140
Verified the fix on Ubuntu 14.04, Windows-10 and Mac 10.12.6 on Chrome version #66.0.3352.0 as per the comment#0
Attaching screen cast for reference.
Observed "Radial progress element got rendered the bar corresponding to the %"
Hence, the fix is working as expected.
Adding the verified label.

Thanks!
811143.ogv
1.8 MB View Download
Project Member

Comment 18 by bugdroid1@chromium.org, Feb 22 2018

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

commit 8b24864f6fb735764abf5e7f2cfd5d269a881b3b
Author: sunxd <sunxd@chromium.org>
Date: Thu Feb 22 17:57:33 2018

cc: Make solid color mask layer ignore occlusion

Mask layer's occlusion is actually its render surface's occlusion in the
contributed parent surface space.

However, when tiling a solid color mask layer, we used to adopt the logic
from normal picture layers: overwrite the occlusion's transform with the
layer's draw transform. This is problematic because mask layer's draw
transform is to the render surface that owns the mask. In this way, we
can generate the wrong visible quad rect and result in blanks when
rendering.

Since solid color mask layer does not do anything but cannot be fully
avoided in the current code base, we should never apply an occlusion to
it. Any occlusion to the masked content can still take effect by
applying itself to the owning render surface.

Bug:  811143 ,  810820 ,  808372 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I821492c107c2abadb9b9e6986369c9f6262d0ad4
Reviewed-on: https://chromium-review.googlesource.com/916625
Commit-Queue: Xianda Sun <sunxd@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#537794}(cherry picked from commit cf699d7fef4e3f03743cc916209c7ebff5dc7b7a)
Reviewed-on: https://chromium-review.googlesource.com/931903
Reviewed-by: Xianda Sun <sunxd@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#549}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/8b24864f6fb735764abf5e7f2cfd5d269a881b3b/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/8b24864f6fb735764abf5e7f2cfd5d269a881b3b/cc/layers/picture_layer_impl_unittest.cc

Comment 19 by sunxd@chromium.org, Feb 22 2018

Status: Fixed (was: Assigned)

Sign in to add a comment