[Web Animations] Add an ASSERT() to check the contract that a CSSTransition has a...
authorgraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Jul 2018 19:35:36 +0000 (19:35 +0000)
committergraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Jul 2018 19:35:36 +0000 (19:35 +0000)
https://bugs.webkit.org/show_bug.cgi?id=187954

Reviewed by Dean Jackson.

* animation/CSSTransition.cpp:
(WebCore::CSSTransition::setTimingProperties):

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

Source/WebCore/ChangeLog
Source/WebCore/animation/CSSTransition.cpp

index 63a1ccd..d1cf207 100644 (file)
@@ -1,5 +1,15 @@
 2018-07-24  Antoine Quint  <graouts@apple.com>
 
+        [Web Animations] Add an ASSERT() to check the contract that a CSSTransition has a valid effect in setTimingProperties()
+        https://bugs.webkit.org/show_bug.cgi?id=187954
+
+        Reviewed by Dean Jackson.
+
+        * animation/CSSTransition.cpp:
+        (WebCore::CSSTransition::setTimingProperties):
+
+2018-07-24  Antoine Quint  <graouts@apple.com>
+
         [Web Animations] Crash when setting an animation style on an existing animation that had its effect set to null
         https://bugs.webkit.org/show_bug.cgi?id=187953
 
index 509c578..acdfa0c 100644 (file)
@@ -60,10 +60,13 @@ void CSSTransition::setTimingProperties(Seconds delay, Seconds duration)
 {
     suspendEffectInvalidation();
 
+    // This method is only called from CSSTransition::create() where we're guaranteed to have an effect.
+    ASSERT(effect());
+
     auto* timing = effect()->timing();
+
     // In order for CSS Transitions to be seeked backwards, they need to have their fill mode set to backwards
     // such that the original CSS value applied prior to the transition is used for a negative current time.
-    
     timing->setFill(FillMode::Backwards);
     timing->setDelay(delay);
     timing->setIterationDuration(duration);