| Index: Source/core/animation/CompositorAnimationsImpl.h
|
| diff --git a/Source/core/animation/CompositorAnimationsImpl.h b/Source/core/animation/CompositorAnimationsImpl.h
|
| index 165efddf41b82156f4fd4a1b046908254af08e86..1f0c904d3b09c87ec044dafc59a52e1c80ff0fb8 100644
|
| --- a/Source/core/animation/CompositorAnimationsImpl.h
|
| +++ b/Source/core/animation/CompositorAnimationsImpl.h
|
| @@ -28,6 +28,12 @@
|
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| */
|
|
|
| +#include "core/animation/AnimationEffect.h"
|
| +#include "core/animation/KeyframeAnimationEffect.h"
|
| +#include "core/animation/Timing.h"
|
| +#include "core/platform/animation/TimingFunction.h"
|
| +#include "public/platform/WebAnimation.h"
|
| +
|
| namespace WebCore {
|
|
|
| class CompositorAnimationsKeyframeEffectHelper {
|
| @@ -35,20 +41,28 @@ private:
|
| typedef Vector<std::pair<double, const AnimationEffect::CompositableValue*> > KeyframeValues;
|
|
|
| static PassOwnPtr<Vector<CSSPropertyID> > getProperties(const KeyframeAnimationEffect*);
|
| - static PassOwnPtr<KeyframeValues> getKeyframeValuesForProperty(const KeyframeAnimationEffect*, CSSPropertyID, double zero, double scale, bool reverse = false);
|
| - static PassOwnPtr<KeyframeValues> getKeyframeValuesForProperty(const KeyframeAnimationEffect::PropertySpecificKeyframeGroup*, double zero, double scale, bool reverse);
|
| + static PassOwnPtr<KeyframeValues> getKeyframeValuesForProperty(const KeyframeAnimationEffect*, CSSPropertyID, double scale, bool reverse = false);
|
| + static PassOwnPtr<KeyframeValues> getKeyframeValuesForProperty(const KeyframeAnimationEffect::PropertySpecificKeyframeGroup*, double scale, bool reverse);
|
|
|
| friend class CompositorAnimationsImpl;
|
| };
|
|
|
| class CompositorAnimationsImpl {
|
| private:
|
| + struct CompositorTiming {
|
| + bool reverse;
|
| + bool alternate;
|
| + double scaledDuration;
|
| + double scaledTimeOffset;
|
| + int adjustedIterationCount;
|
| + };
|
|
|
| + static bool convertTimingForCompositor(const Timing&, CompositorTiming& out);
|
|
|
| static bool isCandidateForCompositor(const Keyframe&);
|
| static bool isCandidateForCompositor(const KeyframeAnimationEffect&);
|
| static bool isCandidateForCompositor(const Timing&, const KeyframeAnimationEffect::KeyframeVector&);
|
| - static bool isCandidateForCompositor(const TimingFunction&, const KeyframeAnimationEffect::KeyframeVector&, double frameOffset = 0);
|
| + static bool isCandidateForCompositor(const TimingFunction&, const KeyframeAnimationEffect::KeyframeVector*, bool isNestedCall = false);
|
| static void getCompositorAnimations(const Timing&, const KeyframeAnimationEffect&, Vector<OwnPtr<blink::WebAnimation> >& animations);
|
|
|
| template<typename PlatformAnimationCurveType, typename PlatformAnimationKeyframeType>
|
|
|