Index: cc/animation/timing_function.cc |
diff --git a/cc/animation/timing_function.cc b/cc/animation/timing_function.cc |
index e33943cbdf711e1d81a3d078e93cd17ca05fc4d7..8e3069d054e5848d59ca482fd52cc72fda7b6bc7 100644 |
--- a/cc/animation/timing_function.cc |
+++ b/cc/animation/timing_function.cc |
@@ -20,29 +20,34 @@ std::unique_ptr<TimingFunction> CubicBezierTimingFunction::CreatePreset( |
EaseType ease_type) { |
switch (ease_type) { |
case EaseType::EASE: |
- return EaseTimingFunction::Create(); |
+ return base::WrapUnique( |
+ new CubicBezierTimingFunction(EaseType::EASE, 0.25, 0.1, 0.25, 1.0)); |
case EaseType::EASE_IN: |
- return EaseInTimingFunction::Create(); |
+ return base::WrapUnique(new CubicBezierTimingFunction( |
+ EaseType::EASE_IN, 0.42, 0.0, 1.0, 1.0)); |
case EaseType::EASE_OUT: |
- return EaseOutTimingFunction::Create(); |
+ return base::WrapUnique(new CubicBezierTimingFunction( |
+ EaseType::EASE_OUT, 0.0, 0.0, 0.58, 1.0)); |
case EaseType::EASE_IN_OUT: |
- return EaseInOutTimingFunction::Create(); |
+ return base::WrapUnique(new CubicBezierTimingFunction( |
+ EaseType::EASE_IN_OUT, 0.42, 0.0, 0.58, 1)); |
default: |
NOTREACHED(); |
return nullptr; |
} |
} |
- |
std::unique_ptr<CubicBezierTimingFunction> |
CubicBezierTimingFunction::Create(double x1, double y1, double x2, double y2) { |
- return base::WrapUnique(new CubicBezierTimingFunction(x1, y1, x2, y2)); |
+ return base::WrapUnique( |
+ new CubicBezierTimingFunction(EaseType::CUSTOM, x1, y1, x2, y2)); |
} |
-CubicBezierTimingFunction::CubicBezierTimingFunction(double x1, |
+CubicBezierTimingFunction::CubicBezierTimingFunction(EaseType ease_type, |
+ double x1, |
double y1, |
double x2, |
double y2) |
- : bezier_(x1, y1, x2, y2) {} |
+ : bezier_(x1, y1, x2, y2), ease_type_(ease_type) {} |
CubicBezierTimingFunction::~CubicBezierTimingFunction() {} |
@@ -66,19 +71,23 @@ std::unique_ptr<TimingFunction> CubicBezierTimingFunction::Clone() const { |
// These numbers come from |
// http://www.w3.org/TR/css3-transitions/#transition-timing-function_tag. |
std::unique_ptr<TimingFunction> EaseTimingFunction::Create() { |
- return CubicBezierTimingFunction::Create(0.25, 0.1, 0.25, 1.0); |
+ return CubicBezierTimingFunction::CreatePreset( |
+ CubicBezierTimingFunction::EaseType::EASE); |
} |
std::unique_ptr<TimingFunction> EaseInTimingFunction::Create() { |
- return CubicBezierTimingFunction::Create(0.42, 0.0, 1.0, 1.0); |
+ return CubicBezierTimingFunction::CreatePreset( |
+ CubicBezierTimingFunction::EaseType::EASE_IN); |
} |
std::unique_ptr<TimingFunction> EaseOutTimingFunction::Create() { |
- return CubicBezierTimingFunction::Create(0.0, 0.0, 0.58, 1.0); |
+ return CubicBezierTimingFunction::CreatePreset( |
+ CubicBezierTimingFunction::EaseType::EASE_OUT); |
} |
std::unique_ptr<TimingFunction> EaseInOutTimingFunction::Create() { |
- return CubicBezierTimingFunction::Create(0.42, 0.0, 0.58, 1); |
+ return CubicBezierTimingFunction::CreatePreset( |
+ CubicBezierTimingFunction::EaseType::EASE_IN_OUT); |
} |
std::unique_ptr<StepsTimingFunction> StepsTimingFunction::Create( |