| 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 27 matching lines...) Expand all  Loading... | 
|  38 namespace WebCore { |  38 namespace WebCore { | 
|  39  |  39  | 
|  40 class Element; |  40 class Element; | 
|  41  |  41  | 
|  42 class Animation FINAL : public TimedItem { |  42 class Animation FINAL : public TimedItem { | 
|  43  |  43  | 
|  44 public: |  44 public: | 
|  45     enum Priority { DefaultPriority, TransitionPriority }; |  45     enum Priority { DefaultPriority, TransitionPriority }; | 
|  46  |  46  | 
|  47     static PassRefPtr<Animation> create(PassRefPtr<Element>, PassRefPtr<Animatio
    nEffect>, const Timing&, Priority = DefaultPriority, PassOwnPtr<EventDelegate> =
     nullptr); |  47     static PassRefPtr<Animation> create(PassRefPtr<Element>, PassRefPtr<Animatio
    nEffect>, const Timing&, Priority = DefaultPriority, PassOwnPtr<EventDelegate> =
     nullptr); | 
 |  48     virtual bool isAnimation() const OVERRIDE FINAL { return true; } | 
|  48  |  49  | 
|  49     const AnimationEffect::CompositableValueMap* compositableValues() const |  50     const AnimationEffect::CompositableValueMap* compositableValues() const | 
|  50     { |  51     { | 
|  51         ASSERT(m_compositableValues); |  52         ASSERT(m_compositableValues); | 
|  52         return m_compositableValues.get(); |  53         return m_compositableValues.get(); | 
|  53     } |  54     } | 
|  54  |  55  | 
 |  56     bool affects(CSSPropertyID) const; | 
|  55     const AnimationEffect* effect() const { return m_effect.get(); } |  57     const AnimationEffect* effect() const { return m_effect.get(); } | 
|  56     Priority priority() const { return m_priority; } |  58     Priority priority() const { return m_priority; } | 
|  57  |  59  | 
 |  60     bool isCandidateForAnimationOnCompositor() const; | 
 |  61     // Must only be called once and assumes to be part of a player without a sta
    rt time. | 
 |  62     bool maybeStartAnimationOnCompositor(); | 
 |  63     bool hasActiveAnimationsOnCompositor() const; | 
 |  64     bool hasActiveAnimationsOnCompositor(CSSPropertyID) const; | 
 |  65     void cancelAnimationOnCompositor(); | 
 |  66  | 
|  58 protected: |  67 protected: | 
|  59     // Returns whether style recalc was triggered. |  68     // Returns whether style recalc was triggered. | 
|  60     virtual bool applyEffects(bool previouslyInEffect); |  69     virtual bool applyEffects(bool previouslyInEffect); | 
|  61     virtual void clearEffects(); |  70     virtual void clearEffects(); | 
|  62     virtual bool updateChildrenAndEffects() const OVERRIDE FINAL; |  71     virtual bool updateChildrenAndEffects() const OVERRIDE FINAL; | 
|  63     virtual void didAttach() OVERRIDE FINAL; |  72     virtual void didAttach() OVERRIDE FINAL; | 
|  64     virtual void willDetach() OVERRIDE FINAL; |  73     virtual void willDetach() OVERRIDE FINAL; | 
|  65     virtual double calculateTimeToEffectChange(double inheritedTime, double time
    ToNextIteration) const OVERRIDE FINAL; |  74     virtual double calculateTimeToEffectChange(double inheritedTime, double time
    ToNextIteration) const OVERRIDE FINAL; | 
|  66  |  75  | 
|  67 private: |  76 private: | 
|  68     Animation(PassRefPtr<Element>, PassRefPtr<AnimationEffect>, const Timing&, P
    riority, PassOwnPtr<EventDelegate>); |  77     Animation(PassRefPtr<Element>, PassRefPtr<AnimationEffect>, const Timing&, P
    riority, PassOwnPtr<EventDelegate>); | 
|  69  |  78  | 
|  70     RefPtr<Element> m_target; |  79     RefPtr<Element> m_target; | 
|  71     RefPtr<AnimationEffect> m_effect; |  80     RefPtr<AnimationEffect> m_effect; | 
|  72  |  81  | 
|  73     bool m_activeInAnimationStack; |  82     bool m_activeInAnimationStack; | 
|  74     OwnPtr<AnimationEffect::CompositableValueMap> m_compositableValues; |  83     OwnPtr<AnimationEffect::CompositableValueMap> m_compositableValues; | 
|  75  |  84  | 
|  76     Priority m_priority; |  85     Priority m_priority; | 
 |  86  | 
 |  87     Vector<int> m_compositorAnimationIds; | 
|  77 }; |  88 }; | 
|  78  |  89  | 
 |  90 DEFINE_TYPE_CASTS(Animation, TimedItem, timedItem, timedItem->isAnimation(), tim
    edItem.isAnimation()); | 
 |  91  | 
|  79 } // namespace WebCore |  92 } // namespace WebCore | 
|  80  |  93  | 
|  81 #endif |  94 #endif | 
| OLD | NEW |