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; }