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

Issue 622655 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression: Grey lines are observed while scrolling the webpage.

Reported by lpa...@etouch.net, Jun 23 2016

Issue description

Chrome Version: 53.0.2777.0 (Official Build) cd5f1c60daa702f416e719edf13358571e0bf084-refs/heads/master@{#401526} 32/64 Bit.
OS: Windows (7,8,8.1,10)

Steps:
1.Launch chrome and navigate to https://play.google.com/store/books?hl=en
2.Drag the scrollbar to bottom of the page and the drag towards top of the page,observe.

Actual: Grey lines are observed while scrolling the page.

Expected: No such grey lines should be seen.

This is a regression issue broken in M-52.

Manual Regression range:
Good Build:52.0.2731.0
Bad Build:52.0.2732.0

Narrow Bisect:
https://chromium.googlesource.com/chromium/src/+log/a69b588abf1afd1e37e58463a07df4da722ded02..6958c09a512167e272ba30c3d1caeea283a803da?pretty=fuller&n=1000

Suspecting: r392652
 

Comment 1 by lpa...@etouch.net, Jun 23 2016

Components: Blink>Paint>Invalidation
Note: Issue is not seen in Mac and Linux OS.
Labels: ReleaseBlock-Stable
Adding RB label as this is a recent regression

Comment 3 Deleted

Comment 4 by gov...@chromium.org, Jun 27 2016

** IMPORTANT change in M52 merge date due to first 2 weeks of July no release weeks **
M52 Stable is launching very soon! Your bug is labelled as Stable ReleaseBlock, pls make sure to land the fix and get it merged ASAP. All changes MUST be merged into the release branch by 5pm on July 1 to make into the desktop Stable final build cut. Thank you!

Cc: trchen@chromium.org
Labels: -OS-Windows OS-All
This is an old overflow recalc bug exposed by my CL. The problem is in LayoutBlock::recalcChildOverflowAfterStyleChange() when iterating the positioned children. The positionedChildren() is only updated after laying out children, so during recalc overflow we are using stale information in it.

We should either mark the object needs (simplified) layout when it becomes out-of-flow-positioned or non-(out-of-flow-positioned), or we should update positionedChildren() during or after style change, but that requires correct layout tree insertion/deletion order.
Cc: e...@chromium.org
https://codereview.chromium.org/2103843003/

Update containing block's positioned descendants list when an object becomes out-of-flow-positioned

This is required when there are descendants needing overflow recalc.
Otherwise during overflow recalc because the containing block's
positioned descendant list didn't contain the new out-of-flow-positioned
object we would not reach the descendants needing overflow recalc.

BUG=623867 <== The bug number was wrong. Should be 622655 (this bug).
TEST=fast/overflow/add-visual-overflow-and-change-container-position.html

Committed: https://crrev.com/fd08a658d68598dce7886abf88fbc71ed6659f41
Cr-Commit-Position: refs/heads/master@{#402550}
Labels: Merge-Request-52

Comment 9 by dimu@google.com, Jun 29 2016

Labels: -Merge-Request-52 Merge-Approved-52 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M52 (branch: 2743)
Labels: merge-merged-2743
Status: Fixed (was: Assigned)
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ea9c8c0ffffe09bb297ed9c5c619f411e06f7250

commit ea9c8c0ffffe09bb297ed9c5c619f411e06f7250
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Wed Jun 29 20:53:08 2016

Update containing block's positioned descendants list when an object becomes out-of-flow-positioned

This is required when there are descendants needing overflow recalc.
Otherwise during overflow recalc because the containing block's
positioned descendant list didn't contain the new out-of-flow-positioned
object we would not reach the descendants needing overflow recalc.

BUG= 623867 
TEST=fast/overflow/add-visual-overflow-and-change-container-position.html

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

Review-Url: https://codereview.chromium.org/2103843003
Cr-Original-Commit-Position: refs/heads/master@{#402550}
Cr-Commit-Position: refs/branch-heads/2743@{#531}
Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939}

[add] https://crrev.com/ea9c8c0ffffe09bb297ed9c5c619f411e06f7250/third_party/WebKit/LayoutTests/fast/overflow/add-visual-overflow-and-change-container-position-expected.html
[add] https://crrev.com/ea9c8c0ffffe09bb297ed9c5c619f411e06f7250/third_party/WebKit/LayoutTests/fast/overflow/add-visual-overflow-and-change-container-position.html
[modify] https://crrev.com/ea9c8c0ffffe09bb297ed9c5c619f411e06f7250/third_party/WebKit/Source/core/layout/LayoutBlock.cpp

Labels: TE-Verified-52.0.2743.60
The fix is working fine on Win7/64 bit, Mac OSX 10.11.5 & Linux/Ubuntu 14.04 - Version 52.0.2743.60 (64-bit) Beta build.

No gray line is observed while scrolling the page.  
Labels: Needs-Feedback
wangxianzhu@, can you please remove the Merge-Approved-52 label if nothing is pending on this bug ?
Labels: -Merge-Approved-52
Status: Verified (was: Fixed)

Sign in to add a comment