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

Issue 610763 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature

Blocking:
issue 584551
issue 656462



Sign in to add a comment

Correctly introduce CompositorAnimationHost to Blink.

Project Member Reported by ymalik@chromium.org, May 10 2016

Issue description

crrev.com/1950243005 adds CompositorAnimationHost as a simple wrapper that is created from CompositorAnimationTimeline::compositorAnimationHost. This is fundamentally wrong because an AnimationHost attaches/contains AnimationTimelines and not the other way around.

See loyso's doc on Project Heaviside:
https://docs.google.com/document/d/11cVwkPIYuelD_k_SNEeRmLYKuvNkqjCG84fzJHZpzW4/edit

The idea is to expose cc::AnimationHost API for blink properly: It should be
small and simple 1:1 wrapper with all the methods gathered in one class.

This involves: 
1) Renaming ScrollableArea::compositorAnimationTimeline() to
ScrollableArea::compositorAnimationHost()
2) Move attachCompositorAnimationTimeline / detachCompositorAnimationTimeline
methods from WebLayerTreeView to CompositorAnimationHost (so they become non
virtual).
It requires a couple of rewrites for other callers (Document.cpp
timeline attachment and LinkHighlightsImpl.cpp timeline attachment. It should be
obvious, though).
Having CompositorAnimationHost introduced properly is a critical impact which
opens a road to extend it easily.

See loyso's comments on https://crrev.com/1950243005 for more info.
 

Comment 1 by loyso@chromium.org, May 11 2016

Blocking: 584551

Comment 2 by loyso@chromium.org, May 26 2016

Components: -Blink>Animation
Removing Blink>Animation label since the initial work is in Blink>Scroll.

Comment 3 by loyso@chromium.org, Sep 30 2016

Cc: -loyso@chromium.org ymalik@chromium.org
Components: -Blink>Scroll Blink>Animation
Labels: -Type-Bug -Hotlist-Input-Dev Update-Quarterly OS-All Type-Feature
Owner: loyso@chromium.org
Status: Assigned (was: Available)

Comment 4 by loyso@chromium.org, Oct 18 2016

Blocking: 656462
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 19 2016

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

commit ffcf86ca01510297c45f67c09de79859d541d98f
Author: loyso <loyso@chromium.org>
Date: Mon Dec 19 07:14:39 2016

Blink Compositor Animation: Introduce CompositorAnimationHost correctly.

So we get it from WebLayerTreeView (RenderWidgetCompositor), not from
timeline.

BUG= 610763 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/content/renderer/gpu/render_widget_compositor.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/frame/VisualViewport.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/frame/VisualViewport.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/animation/CompositorAnimationHost.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/animation/CompositorAnimationHost.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/animation/CompositorAnimationHostTest.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/animation/CompositorAnimationTimelineTest.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/graphics/GraphicsLayerTest.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/scroll/ScrollAnimatorCompositorCoordinator.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/testing/WebLayerTreeViewImplForTesting.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/platform/testing/WebLayerTreeViewImplForTesting.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/web/WebFrameWidgetImpl.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/web/WebPagePopupImpl.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/ffcf86ca01510297c45f67c09de79859d541d98f/third_party/WebKit/public/platform/WebLayerTreeView.h

Comment 6 by loyso@chromium.org, Dec 20 2016

Status: Fixed (was: Assigned)

Sign in to add a comment