Title: [112730] trunk/Source/WebCore
Revision
112730
Author
[email protected]
Date
2012-03-30 15:21:43 -0700 (Fri, 30 Mar 2012)

Log Message

Kill CSSTimingFunctionValue.
<http://webkit.org/b/82787>

Reviewed by Antti Koivisto.

Remove CSSTimingFunctionValue and let the 3 subclasses inherit directly from CSSValue.
CSSTimingFunctionValue is a pointless middle-man class that adds nothing.

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::collectMatchingRulesForList):
* css/CSSTimingFunctionValue.h:
(WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
(WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
(WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
* css/CSSValue.h:
(WebCore::CSSValue::isCubicBezierTimingFunctionValue):
(WebCore::CSSValue::isLinearTimingFunctionValue):
(WebCore::CSSValue::isStepsTimingFunctionValue):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (112729 => 112730)


--- trunk/Source/WebCore/ChangeLog	2012-03-30 21:44:56 UTC (rev 112729)
+++ trunk/Source/WebCore/ChangeLog	2012-03-30 22:21:43 UTC (rev 112730)
@@ -1,3 +1,24 @@
+2012-03-30  Andreas Kling  <[email protected]>
+
+        Kill CSSTimingFunctionValue.
+        <http://webkit.org/b/82787>
+
+        Reviewed by Antti Koivisto.
+
+        Remove CSSTimingFunctionValue and let the 3 subclasses inherit directly from CSSValue.
+        CSSTimingFunctionValue is a pointless middle-man class that adds nothing.
+
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
+        * css/CSSTimingFunctionValue.h:
+        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
+        (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
+        (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
+        * css/CSSValue.h:
+        (WebCore::CSSValue::isCubicBezierTimingFunctionValue):
+        (WebCore::CSSValue::isLinearTimingFunctionValue):
+        (WebCore::CSSValue::isStepsTimingFunctionValue):
+
 2012-03-30  Nat Duca  <[email protected]>
 
         [chromium] Bump max texture updates per frame to 48

Modified: trunk/Source/WebCore/css/CSSStyleSelector.cpp (112729 => 112730)


--- trunk/Source/WebCore/css/CSSStyleSelector.cpp	2012-03-30 21:44:56 UTC (rev 112729)
+++ trunk/Source/WebCore/css/CSSStyleSelector.cpp	2012-03-30 22:21:43 UTC (rev 112730)
@@ -4516,17 +4516,14 @@
         return;
     }
 
-    if (value->isTimingFunctionValue()) {
-        CSSTimingFunctionValue* timingFunction = static_cast<CSSTimingFunctionValue*>(value);
-        if (timingFunction->isCubicBezierTimingFunctionValue()) {
-            CSSCubicBezierTimingFunctionValue* cubicTimingFunction = static_cast<CSSCubicBezierTimingFunctionValue*>(value);
-            animation->setTimingFunction(CubicBezierTimingFunction::create(cubicTimingFunction->x1(), cubicTimingFunction->y1(), cubicTimingFunction->x2(), cubicTimingFunction->y2()));
-        } else if (timingFunction->isStepsTimingFunctionValue()) {
-            CSSStepsTimingFunctionValue* stepsTimingFunction = static_cast<CSSStepsTimingFunctionValue*>(value);
-            animation->setTimingFunction(StepsTimingFunction::create(stepsTimingFunction->numberOfSteps(), stepsTimingFunction->stepAtStart()));
-        } else
-            animation->setTimingFunction(LinearTimingFunction::create());
-    }
+    if (value->isCubicBezierTimingFunctionValue()) {
+        CSSCubicBezierTimingFunctionValue* cubicTimingFunction = static_cast<CSSCubicBezierTimingFunctionValue*>(value);
+        animation->setTimingFunction(CubicBezierTimingFunction::create(cubicTimingFunction->x1(), cubicTimingFunction->y1(), cubicTimingFunction->x2(), cubicTimingFunction->y2()));
+    } else if (value->isStepsTimingFunctionValue()) {
+        CSSStepsTimingFunctionValue* stepsTimingFunction = static_cast<CSSStepsTimingFunctionValue*>(value);
+        animation->setTimingFunction(StepsTimingFunction::create(stepsTimingFunction->numberOfSteps(), stepsTimingFunction->stepAtStart()));
+    } else if (value->isLinearTimingFunctionValue())
+        animation->setTimingFunction(LinearTimingFunction::create());
 }
 
 void CSSStyleSelector::mapNinePieceImage(CSSPropertyID property, CSSValue* value, NinePieceImage& image)

Modified: trunk/Source/WebCore/css/CSSTimingFunctionValue.h (112729 => 112730)


--- trunk/Source/WebCore/css/CSSTimingFunctionValue.h	2012-03-30 21:44:56 UTC (rev 112729)
+++ trunk/Source/WebCore/css/CSSTimingFunctionValue.h	2012-03-30 22:21:43 UTC (rev 112730)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -31,21 +31,8 @@
 
 namespace WebCore {
 
-class CSSTimingFunctionValue : public CSSValue {
+class CSSLinearTimingFunctionValue : public CSSValue {
 public:
-    bool isLinearTimingFunctionValue() const { return classType() == LinearTimingFunctionClass; }
-    bool isCubicBezierTimingFunctionValue() const { return classType() == CubicBezierTimingFunctionClass; }
-    bool isStepsTimingFunctionValue() const { return classType() == StepsTimingFunctionClass; }
-
-protected:
-    CSSTimingFunctionValue(ClassType classType)
-        : CSSValue(classType)
-    {
-    }
-};
-
-class CSSLinearTimingFunctionValue : public CSSTimingFunctionValue {
-public:
     static PassRefPtr<CSSLinearTimingFunctionValue> create()
     {
         return adoptRef(new CSSLinearTimingFunctionValue);
@@ -55,12 +42,12 @@
 
 private:
     CSSLinearTimingFunctionValue()
-        : CSSTimingFunctionValue(LinearTimingFunctionClass)
+        : CSSValue(LinearTimingFunctionClass)
     {
     }
 };
 
-class CSSCubicBezierTimingFunctionValue : public CSSTimingFunctionValue {
+class CSSCubicBezierTimingFunctionValue : public CSSValue {
 public:
     static PassRefPtr<CSSCubicBezierTimingFunctionValue> create(double x1, double y1, double x2, double y2)
     {
@@ -76,7 +63,7 @@
 
 private:
     CSSCubicBezierTimingFunctionValue(double x1, double y1, double x2, double y2)
-        : CSSTimingFunctionValue(CubicBezierTimingFunctionClass)
+        : CSSValue(CubicBezierTimingFunctionClass)
         , m_x1(x1)
         , m_y1(y1)
         , m_x2(x2)
@@ -90,7 +77,7 @@
     double m_y2;
 };
 
-class CSSStepsTimingFunctionValue : public CSSTimingFunctionValue {
+class CSSStepsTimingFunctionValue : public CSSValue {
 public:
     static PassRefPtr<CSSStepsTimingFunctionValue> create(int steps, bool stepAtStart)
     {
@@ -104,7 +91,7 @@
 
 private:
     CSSStepsTimingFunctionValue(int steps, bool stepAtStart)
-        : CSSTimingFunctionValue(StepsTimingFunctionClass)
+        : CSSValue(StepsTimingFunctionClass)
         , m_steps(steps)
         , m_stepAtStart(stepAtStart)
     {

Modified: trunk/Source/WebCore/css/CSSValue.h (112729 => 112730)


--- trunk/Source/WebCore/css/CSSValue.h	2012-03-30 21:44:56 UTC (rev 112729)
+++ trunk/Source/WebCore/css/CSSValue.h	2012-03-30 22:21:43 UTC (rev 112730)
@@ -74,7 +74,9 @@
     bool isInitialValue() const { return m_classType == InitialClass; }
     bool isReflectValue() const { return m_classType == ReflectClass; }
     bool isShadowValue() const { return m_classType == ShadowClass; }
-    bool isTimingFunctionValue() const { return m_classType >= CubicBezierTimingFunctionClass && m_classType <= StepsTimingFunctionClass; }
+    bool isCubicBezierTimingFunctionValue() const { return m_classType == CubicBezierTimingFunctionClass; }
+    bool isLinearTimingFunctionValue() const { return m_classType == LinearTimingFunctionClass; }
+    bool isStepsTimingFunctionValue() const { return m_classType == StepsTimingFunctionClass; }
     bool isWebKitCSSTransformValue() const { return m_classType == WebKitCSSTransformClass; }
     bool isCSSLineBoxContainValue() const { return m_classType == LineBoxContainClass; }
     bool isFlexValue() const { return m_classType == FlexClass; }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to