 Chromium Code Reviews
 Chromium Code Reviews Issue 1120003002:
  [Oilpan] Migrate most classes under core/animations to Oilpan heap.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master
    
  
    Issue 1120003002:
  [Oilpan] Migrate most classes under core/animations to Oilpan heap.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master| OLD | NEW | 
|---|---|
| 1 /* | 1 /* | 
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 
| 3 * | 3 * | 
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without | 
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are | 
| 6 * met: | 6 * met: | 
| 7 * | 7 * | 
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright | 
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. | 
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 44 #include "public/platform/WebCompositorAnimationPlayerClient.h" | 44 #include "public/platform/WebCompositorAnimationPlayerClient.h" | 
| 45 #include "wtf/RefPtr.h" | 45 #include "wtf/RefPtr.h" | 
| 46 | 46 | 
| 47 namespace blink { | 47 namespace blink { | 
| 48 | 48 | 
| 49 class AnimationTimeline; | 49 class AnimationTimeline; | 
| 50 class Element; | 50 class Element; | 
| 51 class ExceptionState; | 51 class ExceptionState; | 
| 52 class WebCompositorAnimationPlayer; | 52 class WebCompositorAnimationPlayer; | 
| 53 | 53 | 
| 54 class CORE_EXPORT Animation final | 54 class CORE_EXPORT Animation final : public RefCountedGarbageCollectedEventTarget WithInlineData<Animation>, public ActiveDOMObject, public WebCompositorAnimation Delegate, public WebCompositorAnimationPlayerClient { | 
| 55 : public EventTargetWithInlineData | |
| 56 , public RefCountedWillBeNoBase<Animation> | |
| 57 , public ActiveDOMObject | |
| 58 , public WebCompositorAnimationDelegate | |
| 59 , public WebCompositorAnimationPlayerClient { | |
| 60 DEFINE_WRAPPERTYPEINFO(); | 55 DEFINE_WRAPPERTYPEINFO(); | 
| 61 REFCOUNTED_EVENT_TARGET(Animation); | 56 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<A nimation>); | 
| 62 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(Animation); | 57 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(Animation); | 
| 58 USING_PRE_FINALIZER(Animation, disposeAnimation); | |
| 
sof
2015/05/30 11:34:04
No need to add a TODO, but eagerly finalizing Anim
 
peria
2015/06/01 04:43:01
Done.
 | |
| 63 public: | 59 public: | 
| 64 enum AnimationPlayState { | 60 enum AnimationPlayState { | 
| 65 Idle, | 61 Idle, | 
| 66 Pending, | 62 Pending, | 
| 67 Running, | 63 Running, | 
| 68 Paused, | 64 Paused, | 
| 69 Finished | 65 Finished | 
| 70 }; | 66 }; | 
| 71 | 67 | 
| 72 ~Animation(); | 68 ~Animation(); | 
| 73 static PassRefPtrWillBeRawPtr<Animation> create(AnimationEffect*, AnimationT imeline*); | 69 void disposeAnimation(); | 
| 70 static Animation* create(AnimationEffect*, AnimationTimeline*); | |
| 74 | 71 | 
| 75 // Returns whether the animation is finished. | 72 // Returns whether the animation is finished. | 
| 76 bool update(TimingUpdateReason); | 73 bool update(TimingUpdateReason); | 
| 77 | 74 | 
| 78 // timeToEffectChange returns: | 75 // timeToEffectChange returns: | 
| 79 // infinity - if this animation is no longer in effect | 76 // infinity - if this animation is no longer in effect | 
| 80 // 0 - if this animation requires an update on the next frame | 77 // 0 - if this animation requires an update on the next frame | 
| 81 // n - if this animation requires an update after 'n' units of time | 78 // n - if this animation requires an update after 'n' units of time | 
| 82 double timeToEffectChange(); | 79 double timeToEffectChange(); | 
| 83 | 80 | 
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 202 void notifyAnimationStarted(double monotonicTime, int group) override; | 199 void notifyAnimationStarted(double monotonicTime, int group) override; | 
| 203 void notifyAnimationFinished(double monotonicTime, int group) override { } | 200 void notifyAnimationFinished(double monotonicTime, int group) override { } | 
| 204 | 201 | 
| 205 AnimationPlayState m_playState; | 202 AnimationPlayState m_playState; | 
| 206 double m_playbackRate; | 203 double m_playbackRate; | 
| 207 double m_startTime; | 204 double m_startTime; | 
| 208 double m_holdTime; | 205 double m_holdTime; | 
| 209 | 206 | 
| 210 unsigned m_sequenceNumber; | 207 unsigned m_sequenceNumber; | 
| 211 | 208 | 
| 212 typedef ScriptPromiseProperty<RawPtrWillBeMember<Animation>, RawPtrWillBeMem ber<Animation>, Member<DOMException>> AnimationPromise; | 209 typedef ScriptPromiseProperty<Member<Animation>, Member<Animation>, Member<D OMException>> AnimationPromise; | 
| 213 PersistentWillBeMember<AnimationPromise> m_finishedPromise; | 210 Member<AnimationPromise> m_finishedPromise; | 
| 214 PersistentWillBeMember<AnimationPromise> m_readyPromise; | 211 Member<AnimationPromise> m_readyPromise; | 
| 215 | 212 | 
| 216 RefPtrWillBeMember<AnimationEffect> m_content; | 213 Member<AnimationEffect> m_content; | 
| 217 RawPtrWillBeMember<AnimationTimeline> m_timeline; | 214 Member<AnimationTimeline> m_timeline; | 
| 218 // Reflects all pausing, including via pauseForTesting(). | 215 // Reflects all pausing, including via pauseForTesting(). | 
| 219 bool m_paused; | 216 bool m_paused; | 
| 220 bool m_held; | 217 bool m_held; | 
| 221 bool m_isPausedForTesting; | 218 bool m_isPausedForTesting; | 
| 222 | 219 | 
| 223 // This indicates timing information relevant to the animation's effect | 220 // This indicates timing information relevant to the animation's effect | 
| 224 // has changed by means other than the ordinary progression of time | 221 // has changed by means other than the ordinary progression of time | 
| 225 bool m_outdated; | 222 bool m_outdated; | 
| 226 | 223 | 
| 227 bool m_finished; | 224 bool m_finished; | 
| (...skipping 30 matching lines...) Expand all Loading... | |
| 258 SetCompositorPendingWithSourceChanged, | 255 SetCompositorPendingWithSourceChanged, | 
| 259 DoNotSetCompositorPending, | 256 DoNotSetCompositorPending, | 
| 260 }; | 257 }; | 
| 261 | 258 | 
| 262 class PlayStateUpdateScope { | 259 class PlayStateUpdateScope { | 
| 263 STACK_ALLOCATED(); | 260 STACK_ALLOCATED(); | 
| 264 public: | 261 public: | 
| 265 PlayStateUpdateScope(Animation&, TimingUpdateReason, CompositorPendingCh ange = SetCompositorPending); | 262 PlayStateUpdateScope(Animation&, TimingUpdateReason, CompositorPendingCh ange = SetCompositorPending); | 
| 266 ~PlayStateUpdateScope(); | 263 ~PlayStateUpdateScope(); | 
| 267 private: | 264 private: | 
| 268 RawPtrWillBeMember<Animation> m_animation; | 265 Member<Animation> m_animation; | 
| 269 AnimationPlayState m_initialPlayState; | 266 AnimationPlayState m_initialPlayState; | 
| 270 CompositorPendingChange m_compositorPendingChange; | 267 CompositorPendingChange m_compositorPendingChange; | 
| 271 }; | 268 }; | 
| 272 | 269 | 
| 273 // This mirrors the known compositor state. It is created when a compositor | 270 // This mirrors the known compositor state. It is created when a compositor | 
| 274 // animation is started. Updated once the start time is known and each time | 271 // animation is started. Updated once the start time is known and each time | 
| 275 // modifications are pushed to the compositor. | 272 // modifications are pushed to the compositor. | 
| 276 OwnPtr<CompositorState> m_compositorState; | 273 OwnPtr<CompositorState> m_compositorState; | 
| 277 bool m_compositorPending; | 274 bool m_compositorPending; | 
| 278 int m_compositorGroup; | 275 int m_compositorGroup; | 
| 279 | 276 | 
| 280 OwnPtr<WebCompositorAnimationPlayer> m_compositorPlayer; | 277 OwnPtr<WebCompositorAnimationPlayer> m_compositorPlayer; | 
| 281 | 278 | 
| 282 bool m_currentTimePending; | 279 bool m_currentTimePending; | 
| 283 bool m_stateIsBeingUpdated; | 280 bool m_stateIsBeingUpdated; | 
| 284 }; | 281 }; | 
| 285 | 282 | 
| 286 } // namespace blink | 283 } // namespace blink | 
| 287 | 284 | 
| 288 #endif // Animation_h | 285 #endif // Animation_h | 
| OLD | NEW |