Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1907)

Unified Diff: Source/platform/animation/TimingFunction.h

Issue 149363002: Web Animations API: Implement step-middle and steps(x, middle) timing functions. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix TimingFunctionTestHelperTest Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/platform/animation/TimingFunction.h
diff --git a/Source/platform/animation/TimingFunction.h b/Source/platform/animation/TimingFunction.h
index c5c6c0620d38ae1f762554604c571b8f5a132474..31f980687279324bf74e009c8e4a29976b625f7e 100644
--- a/Source/platform/animation/TimingFunction.h
+++ b/Source/platform/animation/TimingFunction.h
@@ -172,12 +172,19 @@ public:
enum SubType {
Start,
End,
+ Middle,
Custom
};
- static PassRefPtr<StepsTimingFunction> create(int steps, bool stepAtStart)
+ enum StepAtPosition {
+ StepAtStart,
+ StepAtMiddle,
+ StepAtEnd
+ };
+
+ static PassRefPtr<StepsTimingFunction> create(int steps, StepAtPosition stepAtPosition)
{
- return adoptRef(new StepsTimingFunction(Custom, steps, stepAtStart));
+ return adoptRef(new StepsTimingFunction(Custom, steps, stepAtPosition));
}
static StepsTimingFunction* preset(SubType subType)
@@ -185,12 +192,17 @@ public:
switch (subType) {
case Start:
{
- DEFINE_STATIC_REF(StepsTimingFunction, start, (adoptRef(new StepsTimingFunction(Start, 1, true))));
+ DEFINE_STATIC_REF(StepsTimingFunction, start, (adoptRef(new StepsTimingFunction(Start, 1, StepAtStart))));
return start;
}
+ case Middle:
+ {
+ DEFINE_STATIC_REF(StepsTimingFunction, middle, (adoptRef(new StepsTimingFunction(Middle, 1, StepAtMiddle))));
+ return middle;
+ }
case End:
{
- DEFINE_STATIC_REF(StepsTimingFunction, end, (adoptRef(new StepsTimingFunction(End, 1, false))));
+ DEFINE_STATIC_REF(StepsTimingFunction, end, (adoptRef(new StepsTimingFunction(End, 1, StepAtEnd))));
return end;
}
default:
@@ -207,21 +219,21 @@ public:
virtual double evaluate(double fraction, double) const OVERRIDE;
int numberOfSteps() const { return m_steps; }
- bool stepAtStart() const { return m_stepAtStart; }
+ StepAtPosition stepAtPosition() const { return m_stepAtPosition; }
SubType subType() const { return m_subType; }
private:
- StepsTimingFunction(SubType subType, int steps, bool stepAtStart)
+ StepsTimingFunction(SubType subType, int steps, StepAtPosition stepAtPosition)
: TimingFunction(StepsFunction)
, m_steps(steps)
- , m_stepAtStart(stepAtStart)
+ , m_stepAtPosition(stepAtPosition)
, m_subType(subType)
{
}
int m_steps;
- bool m_stepAtStart;
+ StepAtPosition m_stepAtPosition;
SubType m_subType;
};

Powered by Google App Engine
This is Rietveld 408576698