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

Issue metadata

Status: Fixed
Closed: Apr 2017
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression

Sign in to add a comment

Issue 699140: Stopping the rendering of off-screen gifs breaks with transforms

Reported by, Mar 7 2017 Project Member

Issue description

Chrome Version: 56.0.2924.87 (Official Build) (64-bit))
OS: MacOS 10.12.3

What steps will reproduce the problem?
(1) Open,css,output
(2) Scroll down

What is the expected result?
The gif should be animated whenever visible.

What happens instead?
Except for the lower part of the screen, the gif is not animated.

Please use labels and text to provide additional information.

For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

Comment 1 by, Mar 22 2017

Components: Blink>Animation
Looks like we stop playing the animation when the layout position (not accounting for the transform) leaves the frame.

+vmpstr is this potentially due to the work you did in  issue 254320 ?

Comment 2 by, Mar 22 2017

This seems to be fixed on ToT (although I can repro on stable). Can someone verify?

Comment 3 by, Mar 22 2017

Yes, it is fixed in Canary for me. It wasn’t when I opened this. I swear ;)

Comment 4 by, Mar 22 2017

Correction, there seems to be still a constellation where the animation is stopped.

1.) Go here:
2.) Scroll down

Comment 5 by, Mar 23 2017

Labels: Needs-Bisect

Comment 6 by, Mar 23 2017

Components: -Blink>Animation Blink>Paint
Blink>Animation covers CSS Animations/Transitions rather than animated GIFs.
Able to repro #4 on Linux Chrome 58. Cat stops animating after scrolling ~100px down.

Comment 7 by, Mar 23 2017

Labels: -Type-Bug -Pri-3 -Needs-Bisect hasbisect-per-revision M-57 OS-Linux OS-Mac OS-Windows Pri-1 Type-Bug-Regression
Status: Assigned (was: Untriaged)
This is fixed on the latest canary(59.0.3048.0) and the latest Beta(58.0.3029.33). Able to reproduce the issue on the latest stable(57.0.2987.110) with the jsbin from C#0.,css,output

Reverse bisected this to find the CL that fixed this.

Last bad build:   58.0.3029.5
First good build: 58.0.3029.6


chrishtr@: If this is safe merge, shall we get this merged to M-57 as well.

Comment 8 by, Mar 23 2017

Just to update the behavior regarding the from C#4. Tested on Windows-10 and below are the observations.

This is non regressed behavior:
50.0.2624.0: no cat
54.0.2786.0: no cat
55.0.2883.87: no cat
56.0.2884.0: no cat
56.0.2924.87: cat there but no animation

Comment 9 by, Mar 23 2017

Note that clicking the area where the cat would be progresses the animation 1 frame it seems.

Comment 10 by, Mar 27 2017

Comment 11 by, Mar 28 2017

Re C#10: The demo I link to in C#4 is still broken in today’s Canary (59.0.3054.0).

Comment 12 by, Mar 29 2017

Labels: PaintTeamTriaged-20170329 BugSource-Chromium

Comment 13 by, Apr 7 2017

Status: Started (was: Assigned)
The bug is that we are applying scroll offset after perspective transform,
whereas we should be doing the reverse.

Comment 14 by, Apr 10 2017

Project Member
The following revision refers to this bug:

commit 2a2f87ba99ef135283c6cf81a173189e78357965
Author: chrishtr <>
Date: Mon Apr 10 23:10:28 2017

Apply container offset and scroll between transform and containerperspective.

Previously, we mapped a visual rect from a child box to its container like this:

1. Apply layout offset from child to container.
2. Apply transform of child.
3. Apply perspective of container.
4. Apply scroll offset of container.
5. Apply clip of container.

This is incorrect. It should do steps 1 and 4 after step 2 and before step 3.

GeometryMapper already did this correctly. (And VisualRectMappingTest verifies

BUG= 699140 

Cr-Commit-Position: refs/heads/master@{#463436}


Comment 15 by, Apr 10 2017

Status: Fixed (was: Started)

Sign in to add a comment