Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / cc / blink / web_compositor_animation_timeline_impl.cc
bloba87778331bbbc3c6c3b89fb3d1bc98d56944112a
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/blink/web_compositor_animation_timeline_impl.h"
7 #include "cc/animation/animation_id_provider.h"
8 #include "cc/animation/animation_player.h"
9 #include "cc/animation/animation_timeline.h"
10 #include "cc/blink/web_compositor_animation_player_impl.h"
11 #include "third_party/WebKit/public/platform/WebCompositorAnimationPlayerClient.h"
13 using cc::AnimationTimeline;
15 namespace cc_blink {
17 WebCompositorAnimationTimelineImpl::WebCompositorAnimationTimelineImpl()
18 : animation_timeline_(AnimationTimeline::Create(
19 cc::AnimationIdProvider::NextTimelineId())) {
22 WebCompositorAnimationTimelineImpl::~WebCompositorAnimationTimelineImpl() {
25 cc::AnimationTimeline* WebCompositorAnimationTimelineImpl::animation_timeline()
26 const {
27 return animation_timeline_.get();
30 void WebCompositorAnimationTimelineImpl::playerAttached(
31 const blink::WebCompositorAnimationPlayerClient& client) {
32 if (client.compositorPlayer())
33 animation_timeline_->AttachPlayer(
34 static_cast<WebCompositorAnimationPlayerImpl*>(
35 client.compositorPlayer())->animation_player());
38 void WebCompositorAnimationTimelineImpl::playerDestroyed(
39 const blink::WebCompositorAnimationPlayerClient& client) {
40 if (client.compositorPlayer())
41 animation_timeline_->DetachPlayer(
42 static_cast<WebCompositorAnimationPlayerImpl*>(
43 client.compositorPlayer())->animation_player());
46 } // namespace cc_blink