Shrink CompositeAnimation and AnimationBase
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jul 2018 07:02:02 +0000 (07:02 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jul 2018 07:02:02 +0000 (07:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=187683

Reviewed by Daniel Bates.

Reduce the size of CompositeAnimation and AnimationBase.

* page/animation/AnimationBase.h:
* page/animation/CompositeAnimation.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233908 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/page/animation/AnimationBase.h
Source/WebCore/page/animation/CompositeAnimation.h

index 31766a8..647ce19 100644 (file)
@@ -1,3 +1,15 @@
+2018-07-18  Simon Fraser  <simon.fraser@apple.com>
+
+        Shrink CompositeAnimation and AnimationBase
+        https://bugs.webkit.org/show_bug.cgi?id=187683
+
+        Reviewed by Daniel Bates.
+
+        Reduce the size of CompositeAnimation and AnimationBase.
+
+        * page/animation/AnimationBase.h:
+        * page/animation/CompositeAnimation.h:
+
 2018-07-17  Antoine Quint  <graouts@apple.com>
 
         Ensure timingFunctionForKeyframeAtIndex() can be used from setAnimatedPropertiesInStyle().
index c07b8b5..52966af 100644 (file)
@@ -66,7 +66,7 @@ public:
     // If so, we stay in this state until that response is received (and it returns the start time).
     // Otherwise, we use the current time as the start time and go immediately to AnimationState::Looping
     // or AnimationState::Ending.
-    enum class AnimationState {
+    enum class AnimationState : uint8_t {
         New,                        // animation just created, animation not running yet
         StartWaitTimer,             // start timer running, waiting for fire
         StartWaitStyleAvailable,    // waiting for style setup so we can start animations
@@ -82,7 +82,7 @@ public:
         FillingForwards             // animation has ended and is retaining its final value
     };
 
-    enum class AnimationStateInput {
+    enum class AnimationStateInput : uint8_t {
         MakeNew,           // reset back to new from any state
         StartAnimation,    // animation requests a start
         RestartAnimation,  // force a restart from any state
@@ -241,6 +241,14 @@ protected:
     bool computeTransformedExtentViaTransformList(const FloatRect& rendererBox, const RenderStyle&, LayoutRect& bounds) const;
     bool computeTransformedExtentViaMatrix(const FloatRect& rendererBox, const RenderStyle&, LayoutRect& bounds) const;
 
+protected:
+    bool m_isAccelerated { false };
+    bool m_transformFunctionListsMatch { false };
+    bool m_filterFunctionListsMatch { false };
+#if ENABLE(FILTERS_LEVEL_2)
+    bool m_backdropFilterFunctionListsMatch { false };
+#endif
+
 private:
     RefPtr<Element> m_element;
 
@@ -255,12 +263,6 @@ protected:
     std::optional<double> m_nextIterationDuration;
 
     AnimationState m_animationState { AnimationState::New };
-    bool m_isAccelerated { false };
-    bool m_transformFunctionListsMatch { false };
-    bool m_filterFunctionListsMatch { false };
-#if ENABLE(FILTERS_LEVEL_2)
-    bool m_backdropFilterFunctionListsMatch { false };
-#endif
     bool m_colorFilterFunctionListsMatch { false };
 };
 
index fb8aa1e..633759d 100644 (file)
@@ -95,15 +95,16 @@ private:
     typedef HashMap<int, RefPtr<ImplicitAnimation>> CSSPropertyTransitionsMap;
     typedef HashMap<AtomicStringImpl*, RefPtr<KeyframeAnimation>> AnimationNameMap;
 
-    CSSAnimationControllerPrivate& m_animationController;
-    CSSPropertyTransitionsMap m_transitions;
-    AnimationNameMap m_keyframeAnimations;
-    Vector<AtomicStringImpl*> m_keyframeAnimationOrderMap;
-    bool m_suspended;
+    bool m_suspended { false };
     bool m_hasAnimationThatDependsOnLayout { false };
 #if ENABLE(CSS_ANIMATIONS_LEVEL_2)
     bool m_hasScrollTriggeredAnimation { false };
 #endif
+
+    CSSAnimationControllerPrivate& m_animationController;
+    CSSPropertyTransitionsMap m_transitions;
+    AnimationNameMap m_keyframeAnimations;
+    Vector<AtomicStringImpl*> m_keyframeAnimationOrderMap;
 };
 
 } // namespace WebCore