New issue
Advanced search Search tips

Issue 879107 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 1
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

AnimationWorklet doesn’t respect zoom

Project Member Reported by surma@chromium.org, Aug 30

Issue description

Chrome Version       : 70
OS Version: OS X 10.13.6
URLs (if applicable) : https://animation-worklet-article.glitch.me/

What steps will reproduce the problem?
1. Open https://animation-worklet-article.glitch.me/
2. Zoom in with Cmd+
3.

(code: https://glitch.com/edit/#!/animation-worklet-article?path=index.html:1:0)

What is the expected result?
Both animations remain synchronized

What happens instead of that?
Animations diverge


Please provide any additional information below. Attach a screenshot if
possible.

UserAgentString: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36



 
Labels: Needs-Triage-M70
Cc: phanindra.mandapaka@chromium.org
Components: UI
Labels: Triaged-ET Needs-Feedback
Tried to reproduce the issue on chrome version 68.0.3440.106 and latest 70.0.3537.0 using Mac 10.13.6. Attaching screen-cast for reference.
Steps: 
---------
1. Launched reported chrome 
2. Navigated to given URL "https://animation-worklet-article.glitch.me/ " and zooming the page by clicking c Cmd+ 
As we are observed that zoom is working normally 
@Reporter: Could you please review the attached screen-cast and confirm if anything being missed here.

Thanks..!
879107.mp4
989 KB View Download
Components: -UI Blink
Components: -Blink Blink>Animation
Status: Assigned (was: Unconfirmed)
I can reproduce the issue. This requires --enable-experimental-web-platform-feature flag to be on.
I think the difference here is that we have special logic to invalidate css animations and cause their composited animation keyframes to be recalculated. Currently this logic bypasses worklet animations.

See: CSSAnimations::CalculateCompositorAnimationUpdate

In particular how it checks the effective zoom and then invalidates any transform or translate animation.

I think a quick fix is to apply the same logic to worklet animations.  
Labels: Hotlist-Experimental
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 21

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

commit dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8
Author: Majid Valipour <majidvp@chromium.org>
Date: Fri Sep 21 14:03:47 2018

[animation-worklet] Transfrom related worklet animations should respond to zoom

Worklet animation compositing state should be updated when a zoom or viewport
resize changes css pixel to dip ratio.

The fix is to simply match what we already do for regular animations for worklet
animations.

TEST=virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom.html

Bug:  879107 
Change-Id: I0b74bd8297e83b18afd087247f09339aedcc618b
Reviewed-on: https://chromium-review.googlesource.com/1237133
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Commit-Queue: Majid Valipour <majidvp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593171}
[add] https://crrev.com/dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom-expected.html
[add] https://crrev.com/dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom.html
[modify] https://crrev.com/dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8/third_party/blink/renderer/core/animation/css/css_animations.cc
[modify] https://crrev.com/dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8/third_party/blink/renderer/core/animation/worklet_animation_base.h
[modify] https://crrev.com/dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8/third_party/blink/renderer/modules/animationworklet/worklet_animation.h

Status: Fixed (was: Assigned)
Project Member

Comment 10 by bugdroid1@chromium.org, Sep 22

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

commit 701add99979b973a34f26478d20372300ba45da8
Author: Matt Menke <mmenke@chromium.org>
Date: Sat Sep 22 02:07:59 2018

Revert "[animation-worklet] Transfrom related worklet animations should respond to zoom"

This reverts commit dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8.

Reason for revert:
virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom.html seems to be failing most of the time on all platforms.

Sample failures: 
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win7_chromium_rel_ng/91172
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/146546
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_rel_ng/193114

Original change's description:
> [animation-worklet] Transfrom related worklet animations should respond to zoom
> 
> Worklet animation compositing state should be updated when a zoom or viewport
> resize changes css pixel to dip ratio.
> 
> The fix is to simply match what we already do for regular animations for worklet
> animations.
> 
> TEST=virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom.html
> 
> Bug:  879107 
> Change-Id: I0b74bd8297e83b18afd087247f09339aedcc618b
> Reviewed-on: https://chromium-review.googlesource.com/1237133
> Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
> Reviewed-by: Majid Valipour <majidvp@chromium.org>
> Commit-Queue: Majid Valipour <majidvp@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593171}

TBR=majidvp@chromium.org,smcgruer@chromium.org

Change-Id: I9eaf621c931ad9003fd7413aeea9f2ec3a7824a4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  879107 
Reviewed-on: https://chromium-review.googlesource.com/1239773
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593414}
[delete] https://crrev.com/c67aedd807bf101b829499608b3b3f9ab7064524/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom-expected.html
[delete] https://crrev.com/c67aedd807bf101b829499608b3b3f9ab7064524/third_party/WebKit/LayoutTests/virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom.html
[modify] https://crrev.com/701add99979b973a34f26478d20372300ba45da8/third_party/blink/renderer/core/animation/css/css_animations.cc
[modify] https://crrev.com/701add99979b973a34f26478d20372300ba45da8/third_party/blink/renderer/core/animation/worklet_animation_base.h
[modify] https://crrev.com/701add99979b973a34f26478d20372300ba45da8/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/701add99979b973a34f26478d20372300ba45da8/third_party/blink/renderer/modules/animationworklet/worklet_animation.h

Status: Assigned (was: Fixed)
-> Assigned as it was reverted
Project Member

Comment 12 by bugdroid1@chromium.org, Sep 26

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

commit 881881a522261bcb2d1598c26b26f439f0821ffb
Author: Majid Valipour <majidvp@chromium.org>
Date: Wed Sep 26 20:15:27 2018

Reland "[animation-worklet] Transfrom related worklet animations should respond to zoom"

This reverts commit 701add99979b973a34f26478d20372300ba45da8.

Reason for revert:  The tests introduced in original CL was failing because it was not
being run with the right flags. This happened because CL landed at the same time
as another CL which migrated all the tests. Moving test and updating expectations
accordingly.

https://chromium-review.googlesource.com/c/chromium/src/+/1237235

Original change's description:
> Revert "[animation-worklet] Transfrom related worklet animations should respond to zoom"
>
> This reverts commit dec72e86b3c1d8dd4de2bb033fc551cc25b63ce8.
>
> Reason for revert:
> virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom.html seems to be failing most of the time on all platforms.
>
> Sample failures:
> https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win7_chromium_rel_ng/91172
> https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng/146546
> https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_rel_ng/193114
>
> Original change's description:
> > [animation-worklet] Transfrom related worklet animations should respond to zoom
> >
> > Worklet animation compositing state should be updated when a zoom or viewport
> > resize changes css pixel to dip ratio.
> >
> > The fix is to simply match what we already do for regular animations for worklet
> > animations.
> >
> > TEST=virtual/threaded/fast/animationworklet/worklet-animation-responsive-to-zoom.html
> >
> > Bug:  879107 
> > Change-Id: I0b74bd8297e83b18afd087247f09339aedcc618b
> > Reviewed-on: https://chromium-review.googlesource.com/1237133
> > Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
> > Reviewed-by: Majid Valipour <majidvp@chromium.org>
> > Commit-Queue: Majid Valipour <majidvp@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#593171}
>
> TBR=majidvp@chromium.org,smcgruer@chromium.org
>
> Change-Id: I9eaf621c931ad9003fd7413aeea9f2ec3a7824a4
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  879107 
> Reviewed-on: https://chromium-review.googlesource.com/1239773
> Reviewed-by: Matt Menke <mmenke@chromium.org>
> Commit-Queue: Matt Menke <mmenke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593414}

TBR=mmenke@chromium.org,majidvp@chromium.org,smcgruer@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  879107 
Change-Id: Ib174c0e257c893d9cd5df3d1e6c5157b04603f44
Reviewed-on: https://chromium-review.googlesource.com/1243572
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Commit-Queue: Majid Valipour <majidvp@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594454}
[modify] https://crrev.com/881881a522261bcb2d1598c26b26f439f0821ffb/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/881881a522261bcb2d1598c26b26f439f0821ffb/third_party/WebKit/LayoutTests/animations/animationworklet/worklet-animation-responsive-to-zoom-expected.html
[add] https://crrev.com/881881a522261bcb2d1598c26b26f439f0821ffb/third_party/WebKit/LayoutTests/animations/animationworklet/worklet-animation-responsive-to-zoom.html
[modify] https://crrev.com/881881a522261bcb2d1598c26b26f439f0821ffb/third_party/blink/renderer/core/animation/css/css_animations.cc
[modify] https://crrev.com/881881a522261bcb2d1598c26b26f439f0821ffb/third_party/blink/renderer/core/animation/worklet_animation_base.h
[modify] https://crrev.com/881881a522261bcb2d1598c26b26f439f0821ffb/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc
[modify] https://crrev.com/881881a522261bcb2d1598c26b26f439f0821ffb/third_party/blink/renderer/modules/animationworklet/worklet_animation.h

Status: Fixed (was: Assigned)

Sign in to add a comment