1 // Copyright 2013 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 "webkit/renderer/compositor_bindings/web_to_cc_animation_delegate_adapter.h"
7 #include "third_party/WebKit/public/platform/WebAnimationDelegate.h"
11 WebToCCAnimationDelegateAdapter::WebToCCAnimationDelegateAdapter(
12 blink::WebAnimationDelegate
* delegate
)
13 : delegate_(delegate
) {}
15 void WebToCCAnimationDelegateAdapter::NotifyAnimationStarted(
16 double wall_clock_time
,
17 base::TimeTicks monotonic_time
,
18 cc::Animation::TargetProperty target_property
) {
19 #if WEB_ANIMATION_DELEGATE_TAKES_MONOTONIC_TIME
20 delegate_
->notifyAnimationStarted(
22 (monotonic_time
- base::TimeTicks()).InSecondsF(),
23 static_cast<blink::WebAnimation::TargetProperty
>(target_property
));
25 delegate_
->notifyAnimationStarted(wall_clock_time
);
29 void WebToCCAnimationDelegateAdapter::NotifyAnimationFinished(
30 double wall_clock_time
,
31 base::TimeTicks monotonic_time
,
32 cc::Animation::TargetProperty target_property
) {
33 #if WEB_ANIMATION_DELEGATE_TAKES_MONOTONIC_TIME
34 delegate_
->notifyAnimationFinished(
36 (monotonic_time
- base::TimeTicks()).InSecondsF(),
37 static_cast<blink::WebAnimation::TargetProperty
>(target_property
));
39 delegate_
->notifyAnimationFinished(wall_clock_time
);