New issue
Advanced search Search tips

Issue 853047 link

Starred by 5 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

transform:scale animations do not work if they start at 0%

Reported by jonat...@tumultco.com, Jun 14 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

Example URL:
see attachment

Steps to reproduce the problem:
1. Open the attached Chrome67ScaleBug.html file

This animates a box from transform:scaleX(0) scaleY(0) to scaleX(1) scaleY(1)

What is the expected behavior?
The box should be scaling (zooming) in.

What went wrong?
The box does not zoom - it only shows the final state when the animation is at 100%.

The animation is in fact running; if you do something like resize the window during the animation you'll see the intermediate steps. It looks like the screen is just not painting.

Other browsers like Safari have no problem with this and it worked in Chrome 66.

Note that sometimes it will work correctly; quitting and relaunching generally helps it reproduce.  I found it runs more often in the latest Chrome Canary (69) but can still reproduce there as well.

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes Chrome 66

Does this work in other browsers? Yes

Chrome version: 67.0.3396.87  Channel: stable
OS Version: OS X 10.13.5
Flash Version: 

This affects content produced with Tumult Hype: https://tumult.com/hype/

I tried making a simplified repro case but couldn't get it to trigger with that.  So there might be a larger interaction with the Hype javascript runtime, but it animates in a pretty vanilla way.
 
Chrome67ScaleBug.zip
63.0 KB Download
Labels: Needs-Bisect Needs-Triage-M67
Labels: -Needs-Bisect ReleaseBlock-Stable Triaged-ET M-67 Target-67 FoundIn-67 OS-Windows
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue on Mac 10.13.3 and Win-10 using chrome reported version #67.0.3396.87 but the same is not reproducible in the latest canary #69.0.3457.2. Issue is not seen in OS-Linux.

Tried finding out the good and bad build range but the good and bad build behaviour seems to be inconsistent. Hence, marking it as untriaged and requesting someone from the Blink team to please help us in assigning it to the right owner.

Thanks...!! 

Comment 3 Deleted

Comment 4 by gov...@chromium.org, Jun 15 2018

Cc: pbomm...@chromium.org
M67 has been out at 100%, we're not planning M67 respin unless critical issue arise. Let's target fix for M68 once we find exact culprit.

pbommana@,could you ptal and assign to appropriate dev?
Cc: e...@chromium.org
Components: -Blink Blink>CSS

Comment 6 by e...@chromium.org, Jun 18 2018

Cc: futhark@chromium.org
Components: Blink>Animation
Labels: -Pri-2 Pri-1
This seems pretty bad but likely not severe enough for an emergency M67 push. Upping priority to P1 and targeting M68.

Do we have a regression range?

Comment 7 by e...@chromium.org, Jun 18 2018

Cc: chrishtr@chromium.org
Components: Internals>Compositing>Animation
Chris, where there any painting or invalidation changes in 67 that might have triggered this change in behavior?
Cc: piman@chromium.org
Labels: -Type-Bug RegressedIn-67 Type-Bug-Regression
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)
You are probably looking for a change made after 543290 (known good), but no later than 543291 (first known bad).
CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
  https://chromium.googlesource.com/chromium/src/+log/63667eca2a1d86f5de61f29c7c5c6417cc351757..3a3c78a924a686ed0d3f90d765b00cdd78453e11
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 19 2018

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

commit 8b3bc88c89de7ff4382e5cd62eb5368ccb0803dd
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Tue Jun 19 00:55:25 2018

[PE] Invalidate painting layer when transform invertibility changes

PaintLayerPainter::PaintLayerWithAdjustedRoot skips painting of a layer
whose transform is not invertible, so we need to repaint the layer when
invertible status changes.

Bug:  853047 
Change-Id: Ie24af4de933336e888065e993e473ab8ed4711a4
Reviewed-on: https://chromium-review.googlesource.com/1105298
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Commit-Queue: Tien-Ren Chen <trchen@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568269}
[add] https://crrev.com/8b3bc88c89de7ff4382e5cd62eb5368ccb0803dd/third_party/WebKit/LayoutTests/paint/invalidation/transform/scale-zero-to-non-zero-expected.html
[add] https://crrev.com/8b3bc88c89de7ff4382e5cd62eb5368ccb0803dd/third_party/WebKit/LayoutTests/paint/invalidation/transform/scale-zero-to-non-zero.html
[modify] https://crrev.com/8b3bc88c89de7ff4382e5cd62eb5368ccb0803dd/third_party/blink/renderer/core/layout/layout_box_model_object.cc

Able to reproduce the issue on win-10 using chrome reported version #67.0.3396.87

Verified the fix on Win-10 using latest chrome version #69.0.3465.0 as per the comment #0.
Note: Unable to verify the issue on mac 10.13.3 due to issue id: 854114.
Attaching screen cast for reference.
Observed that box scaled (zooming) in as expected.
Hence, the fix is working as expected on win-10.

Thanks...!!
853047.mp4
296 KB View Download
Labels: -M-67 -Target-67 Merge-Request-68
Components: -Blink>CSS -Internals>Compositing>Animation Blink>Paint
how safe is this merge overall? Has this been verified in canary first?
It's safe to merge. Please see #c10 for verification.
Project Member

Comment 15 by sheriffbot@chromium.org, Jun 20 2018

Labels: -Merge-Request-68 Hotlist-Merge-Review Merge-Review-68
This bug requires manual review: M68 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: TE-Verified-M69 TE-Verified-69.0.3466.0
Verified the fix on Mac 10.13.3 using latest chrome version #69.0.3466.0 as per the comment #0.
Observed that box scaled (zooming) in as expected.
Hence, the fix is working as expected also on OS-mac.

Adding the verified labels.

Thanks...!!
Status: Verified (was: Assigned)
Labels: -Merge-Review-68 Merge-Approved-68
Approved - branch:3440
Project Member

Comment 19 by bugdroid1@chromium.org, Jun 21 2018

Labels: -merge-approved-68 merge-merged-3440
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4108d6e8a93f39ca2bc0ec73b18fe6c2c21365dd

commit 4108d6e8a93f39ca2bc0ec73b18fe6c2c21365dd
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Thu Jun 21 15:56:55 2018

[PE] Invalidate painting layer when transform invertibility changes

PaintLayerPainter::PaintLayerWithAdjustedRoot skips painting of a layer
whose transform is not invertible, so we need to repaint the layer when
invertible status changes.

TBR=wangxianzhu@chromium.org

(cherry picked from commit 8b3bc88c89de7ff4382e5cd62eb5368ccb0803dd)

Bug:  853047 
Change-Id: Ie24af4de933336e888065e993e473ab8ed4711a4
Reviewed-on: https://chromium-review.googlesource.com/1105298
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Commit-Queue: Tien-Ren Chen <trchen@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#568269}
Reviewed-on: https://chromium-review.googlesource.com/1110258
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/branch-heads/3440@{#471}
Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733}
[add] https://crrev.com/4108d6e8a93f39ca2bc0ec73b18fe6c2c21365dd/third_party/WebKit/LayoutTests/paint/invalidation/transform/scale-zero-to-non-zero-expected.html
[add] https://crrev.com/4108d6e8a93f39ca2bc0ec73b18fe6c2c21365dd/third_party/WebKit/LayoutTests/paint/invalidation/transform/scale-zero-to-non-zero.html
[modify] https://crrev.com/4108d6e8a93f39ca2bc0ec73b18fe6c2c21365dd/third_party/blink/renderer/core/layout/layout_box_model_object.cc

Sign in to add a comment