OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "platform/scroll/ProgrammaticScrollAnimator.h" | 6 #include "platform/scroll/ProgrammaticScrollAnimator.h" |
7 | 7 |
8 #include "platform/RuntimeEnabledFeatures.h" | 8 #include "platform/RuntimeEnabledFeatures.h" |
9 #include "platform/geometry/IntPoint.h" | 9 #include "platform/geometry/IntPoint.h" |
10 #include "platform/graphics/GraphicsLayer.h" | 10 #include "platform/graphics/GraphicsLayer.h" |
11 #include "platform/scroll/ScrollableArea.h" | 11 #include "platform/scroll/ScrollableArea.h" |
12 #include "public/platform/Platform.h" | 12 #include "public/platform/Platform.h" |
13 #include "public/platform/WebCompositorAnimation.h" | 13 #include "public/platform/WebCompositorAnimation.h" |
14 #include "public/platform/WebCompositorAnimationPlayer.h" | 14 #include "public/platform/WebCompositorAnimationPlayer.h" |
15 #include "public/platform/WebCompositorAnimationTimeline.h" | 15 #include "public/platform/WebCompositorAnimationTimeline.h" |
16 #include "public/platform/WebCompositorSupport.h" | 16 #include "public/platform/WebCompositorSupport.h" |
17 #include "public/platform/WebScrollOffsetAnimationCurve.h" | 17 #include "public/platform/WebScrollOffsetAnimationCurve.h" |
18 | 18 |
19 namespace blink { | 19 namespace blink { |
20 | 20 |
21 PassOwnPtr<ProgrammaticScrollAnimator> ProgrammaticScrollAnimator::create(Scroll ableArea* scrollableArea) | 21 ProgrammaticScrollAnimator* ProgrammaticScrollAnimator::create(ScrollableArea* s crollableArea) |
22 { | 22 { |
23 return adoptPtr(new ProgrammaticScrollAnimator(scrollableArea)); | 23 return new ProgrammaticScrollAnimator(scrollableArea); |
24 } | 24 } |
25 | 25 |
26 ProgrammaticScrollAnimator::ProgrammaticScrollAnimator(ScrollableArea* scrollabl eArea) | 26 ProgrammaticScrollAnimator::ProgrammaticScrollAnimator(ScrollableArea* scrollabl eArea) |
27 : m_compositorAnimationAttachedToLayerId(0) | 27 : m_compositorAnimationAttachedToLayerId(0) |
28 , m_scrollableArea(scrollableArea) | 28 , m_scrollableArea(scrollableArea) |
29 , m_startTime(0.0) | 29 , m_startTime(0.0) |
30 , m_runState(RunState::Idle) | 30 , m_runState(RunState::Idle) |
31 , m_compositorAnimationId(0) | 31 , m_compositorAnimationId(0) |
32 , m_compositorAnimationGroupId(0) | 32 , m_compositorAnimationGroupId(0) |
33 { | 33 { |
34 if (RuntimeEnabledFeatures::compositorAnimationTimelinesEnabled()) { | 34 if (RuntimeEnabledFeatures::compositorAnimationTimelinesEnabled()) { |
35 ASSERT(Platform::current()->compositorSupport()); | 35 ASSERT(Platform::current()->compositorSupport()); |
36 m_compositorPlayer = adoptPtr(Platform::current()->compositorSupport()-> createAnimationPlayer()); | 36 m_compositorPlayer = adoptPtr(Platform::current()->compositorSupport()-> createAnimationPlayer()); |
37 ASSERT(m_compositorPlayer); | 37 ASSERT(m_compositorPlayer); |
38 m_compositorPlayer->setAnimationDelegate(this); | 38 m_compositorPlayer->setAnimationDelegate(this); |
39 } | 39 } |
40 } | 40 } |
41 | 41 |
42 ProgrammaticScrollAnimator::~ProgrammaticScrollAnimator() | 42 ProgrammaticScrollAnimator::~ProgrammaticScrollAnimator() |
43 { | 43 { |
44 if (m_compositorPlayer) { | 44 if (m_compositorPlayer) { |
45 m_compositorPlayer->setAnimationDelegate(nullptr); | 45 m_compositorPlayer->setAnimationDelegate(nullptr); |
haraken
2015/11/27 05:10:14
Not related to your CL, this is not nice... This s
peria
2015/11/27 05:23:48
Acknowledged.
| |
46 m_compositorPlayer.clear(); | 46 m_compositorPlayer.clear(); |
47 } | 47 } |
48 } | 48 } |
49 | 49 |
50 void ProgrammaticScrollAnimator::resetAnimationState() | 50 void ProgrammaticScrollAnimator::resetAnimationState() |
51 { | 51 { |
52 m_animationCurve.clear(); | 52 m_animationCurve.clear(); |
53 m_startTime = 0.0; | 53 m_startTime = 0.0; |
54 m_runState = RunState::Idle; | 54 m_runState = RunState::Idle; |
55 m_compositorAnimationId = 0; | 55 m_compositorAnimationId = 0; |
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
282 void ProgrammaticScrollAnimator::notifyAnimationFinished(double monotonicTime, i nt group) | 282 void ProgrammaticScrollAnimator::notifyAnimationFinished(double monotonicTime, i nt group) |
283 { | 283 { |
284 notifyCompositorAnimationFinished(group); | 284 notifyCompositorAnimationFinished(group); |
285 } | 285 } |
286 | 286 |
287 WebCompositorAnimationPlayer* ProgrammaticScrollAnimator::compositorPlayer() con st | 287 WebCompositorAnimationPlayer* ProgrammaticScrollAnimator::compositorPlayer() con st |
288 { | 288 { |
289 return m_compositorPlayer.get(); | 289 return m_compositorPlayer.get(); |
290 } | 290 } |
291 | 291 |
292 DEFINE_TRACE(ProgrammaticScrollAnimator) | |
293 { | |
294 visitor->trace(m_scrollableArea); | |
295 } | |
296 | |
292 } // namespace blink | 297 } // namespace blink |
OLD | NEW |