Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Unified Diff: third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.cpp

Issue 1950243005: Communicate MT changes to impl-only scroll offset animations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.cpp
diff --git a/third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.cpp b/third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.cpp
index 4b2199c36ac216551d86ecfae72c4559a58016de..4e39e6e98827eb8e1bdd311c72b6cefa5a4f36f3 100644
--- a/third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.cpp
+++ b/third_party/WebKit/Source/platform/animation/CompositorAnimationTimeline.cpp
@@ -6,13 +6,15 @@
#include "cc/animation/animation_host.h"
#include "cc/animation/animation_id_provider.h"
+#include "platform/animation/CompositorAnimationHost.h"
#include "platform/animation/CompositorAnimationPlayer.h"
#include "platform/animation/CompositorAnimationPlayerClient.h"
namespace blink {
CompositorAnimationTimeline::CompositorAnimationTimeline()
- : m_animationTimeline(cc::AnimationTimeline::Create(cc::AnimationIdProvider::NextTimelineId()))
+ : m_compositorAnimationHost(nullptr)
+ , m_animationTimeline(cc::AnimationTimeline::Create(cc::AnimationIdProvider::NextTimelineId()))
{
}
@@ -29,6 +31,19 @@ cc::AnimationTimeline* CompositorAnimationTimeline::animationTimeline() const
return m_animationTimeline.get();
}
+CompositorAnimationHost* CompositorAnimationTimeline::compositorAnimationHost()
+{
+ if (!m_animationTimeline->animation_host())
+ return nullptr;
+
+ if (m_compositorAnimationHost && m_animationTimeline->animation_host() == m_compositorAnimationHost->animationHost())
+ return m_compositorAnimationHost.get();
+
+ m_compositorAnimationHost = base::WrapUnique(
+ new CompositorAnimationHost(m_animationTimeline->animation_host()));
+ return m_compositorAnimationHost.get();
+}
+
void CompositorAnimationTimeline::playerAttached(const blink::CompositorAnimationPlayerClient& client)
{
if (client.compositorPlayer())

Powered by Google App Engine
This is Rietveld 408576698