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
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Stopping the rendering of off-screen gifs breaks with transforms

Project Member Reported by surma@chromium.org, Mar 7 2017

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 https://jsbin.com/zimumu/2/edit?html,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 flackr@chromium.org, Mar 22 2017

Cc: flackr@chromium.org suzyh@chromium.org
Components: Blink>Animation
Owner: vmp...@chromium.org
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 vmp...@chromium.org, Mar 22 2017

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

Comment 3 by surma@chromium.org, Mar 22 2017

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

Comment 4 by surma@chromium.org, Mar 22 2017

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

1.) Go here: https://googlechrome.github.io/ui-element-samples/custom-scrollbar/
2.) Scroll down
Labels: Needs-Bisect
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 ajha@chromium.org, Mar 23 2017

Cc: ajha@chromium.org vmp...@chromium.org
Labels: -Type-Bug -Pri-3 -Needs-Bisect hasbisect-per-revision M-57 OS-Linux OS-Mac OS-Windows Pri-1 Type-Bug-Regression
Owner: chrishtr@chromium.org
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. https://jsbin.com/zimumu/2/edit?html,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

Changelog:
==========
https://chromium.googlesource.com/chromium/src/+log/1e2e898c6c8c2e603085654a6256dc581c74c67c..3a2c4663e5be244f263af1a7824bae449a927524

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


Comment 8 by ajha@chromium.org, Mar 23 2017

Just to update the behavior regarding the https://googlechrome.github.io/ui-element-samples/custom-scrollbar/ 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 vmp...@chromium.org, Mar 23 2017

Note that clicking the area where the cat would be progresses the animation 1 frame it seems.
My best guess is that this was fixed by this commit:

https://chromium.googlesource.com/chromium/src/+/3a2c4663e5be244f263af1a7824bae449a927524

Comment 11 by surma@chromium.org, 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).
Labels: PaintTeamTriaged-20170329 BugSource-Chromium
Status: Started (was: Assigned)
The bug is that we are applying scroll offset after perspective transform,
whereas we should be doing the reverse.
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 10 2017

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

commit 2a2f87ba99ef135283c6cf81a173189e78357965
Author: chrishtr <chrishtr@chromium.org>
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
this).

BUG= 699140 

Review-Url: https://codereview.chromium.org/2808613002
Cr-Commit-Position: refs/heads/master@{#463436}

[modify] https://crrev.com/2a2f87ba99ef135283c6cf81a173189e78357965/third_party/WebKit/Source/core/layout/LayoutBox.cpp
[modify] https://crrev.com/2a2f87ba99ef135283c6cf81a173189e78357965/third_party/WebKit/Source/core/layout/LayoutBox.h
[modify] https://crrev.com/2a2f87ba99ef135283c6cf81a173189e78357965/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/2a2f87ba99ef135283c6cf81a173189e78357965/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp

Status: Fixed (was: Started)

Sign in to add a comment