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

Unified Diff: webkit/compositor_bindings/web_transform_animation_curve_unittest.cc

Issue 11876016: Define cc::TransformOperations and webkit::WebTransformOperationsImpl (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Put TransformOperation into its own header Created 7 years, 11 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: webkit/compositor_bindings/web_transform_animation_curve_unittest.cc
diff --git a/webkit/compositor_bindings/web_transform_animation_curve_unittest.cc b/webkit/compositor_bindings/web_transform_animation_curve_unittest.cc
index a267c359d41cd3e759e1b64911a2f6519206fd4b..6712f784732d48c3a8809a18fb9800177cfce0b5 100644
--- a/webkit/compositor_bindings/web_transform_animation_curve_unittest.cc
+++ b/webkit/compositor_bindings/web_transform_animation_curve_unittest.cc
@@ -8,18 +8,29 @@
#include "third_party/WebKit/Source/Platform/chromium/public/WebTransformationMatrix.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebTransformOperations.h"
#include "webkit/compositor_bindings/web_transform_animation_curve_impl.h"
+#include "webkit/compositor_bindings/web_transform_operations_impl.h"
using namespace WebKit;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+using webkit::WebTransformOperationsImpl;
+#endif
+
namespace {
// Tests that a transform animation with one keyframe works as expected.
TEST(WebTransformAnimationCurveTest, OneTransformKeyframe)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations(new WebTransformOperationsImpl());
+ operations->appendTranslate(2, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations;
operations.appendTranslate(2, 0, 0);
curve->add(WebTransformKeyframe(0, operations), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
EXPECT_FLOAT_EQ(2, curve->getValue(-1).m41());
EXPECT_FLOAT_EQ(2, curve->getValue(0).m41());
@@ -32,12 +43,21 @@ TEST(WebTransformAnimationCurveTest, OneTransformKeyframe)
TEST(WebTransformAnimationCurveTest, TwoTransformKeyframe)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(2, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(4, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(2, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(4, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
EXPECT_FLOAT_EQ(2, curve->getValue(-1).m41());
EXPECT_FLOAT_EQ(2, curve->getValue(0).m41());
EXPECT_FLOAT_EQ(3, curve->getValue(0.5).m41());
@@ -49,15 +69,27 @@ TEST(WebTransformAnimationCurveTest, TwoTransformKeyframe)
TEST(WebTransformAnimationCurveTest, ThreeTransformKeyframe)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(2, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(4, 0, 0);
+ scoped_ptr<WebTransformOperations> operations3(new WebTransformOperationsImpl());
+ operations3->appendTranslate(8, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(2, operations3.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(2, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(4, 0, 0);
- WebKit::WebTransformOperations operations3;
+ WebTransformOperations operations3;
operations3.appendTranslate(8, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(2, operations3), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
EXPECT_FLOAT_EQ(2, curve->getValue(-1).m41());
EXPECT_FLOAT_EQ(2, curve->getValue(0).m41());
EXPECT_FLOAT_EQ(3, curve->getValue(0.5).m41());
@@ -72,18 +104,33 @@ TEST(WebTransformAnimationCurveTest, RepeatedTransformKeyTimes)
{
// A step function.
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(4, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(4, 0, 0);
+ scoped_ptr<WebTransformOperations> operations3(new WebTransformOperationsImpl());
+ operations3->appendTranslate(6, 0, 0);
+ scoped_ptr<WebTransformOperations> operations4(new WebTransformOperationsImpl());
+ operations4->appendTranslate(6, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(1, operations3.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(2, operations4.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(4, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(4, 0, 0);
- WebKit::WebTransformOperations operations3;
+ WebTransformOperations operations3;
operations3.appendTranslate(6, 0, 0);
- WebKit::WebTransformOperations operations4;
+ WebTransformOperations operations4;
operations4.appendTranslate(6, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(1, operations3), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(2, operations4), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
EXPECT_FLOAT_EQ(4, curve->getValue(-1).m41());
EXPECT_FLOAT_EQ(4, curve->getValue(0).m41());
@@ -102,15 +149,27 @@ TEST(WebTransformAnimationCurveTest, RepeatedTransformKeyTimes)
TEST(WebTransformAnimationCurveTest, UnsortedKeyframes)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(2, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(4, 0, 0);
+ scoped_ptr<WebTransformOperations> operations3(new WebTransformOperationsImpl());
+ operations3->appendTranslate(8, 0, 0);
+ curve->add(WebTransformKeyframe(2, operations3.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(2, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(4, 0, 0);
- WebKit::WebTransformOperations operations3;
+ WebTransformOperations operations3;
operations3.appendTranslate(8, 0, 0);
curve->add(WebTransformKeyframe(2, operations3), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
EXPECT_FLOAT_EQ(2, curve->getValue(-1).m41());
EXPECT_FLOAT_EQ(2, curve->getValue(0).m41());
@@ -125,12 +184,21 @@ TEST(WebTransformAnimationCurveTest, UnsortedKeyframes)
TEST(WebTransformAnimationCurveTest, CubicBezierTimingFunction)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), 0.25, 0, 0.75, 1);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), 0.25, 0, 0.75, 1);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
EXPECT_FLOAT_EQ(0, curve->getValue(0).m41());
EXPECT_LT(0, curve->getValue(0.25).m41());
EXPECT_GT(0.25, curve->getValue(0.25).m41());
@@ -144,12 +212,21 @@ TEST(WebTransformAnimationCurveTest, CubicBezierTimingFunction)
TEST(WebTransformAnimationCurveTest, EaseTimingFunction)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeEase);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEase);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseTimingFunction::create());
for (int i = 0; i <= 4; ++i) {
@@ -162,12 +239,21 @@ TEST(WebTransformAnimationCurveTest, EaseTimingFunction)
TEST(WebTransformAnimationCurveTest, LinearTimingFunction)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeLinear);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
for (int i = 0; i <= 4; ++i) {
const double time = i * 0.25;
@@ -179,12 +265,21 @@ TEST(WebTransformAnimationCurveTest, LinearTimingFunction)
TEST(WebTransformAnimationCurveTest, EaseInTimingFunction)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeEaseIn);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEaseIn);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseInTimingFunction::create());
for (int i = 0; i <= 4; ++i) {
@@ -197,12 +292,21 @@ TEST(WebTransformAnimationCurveTest, EaseInTimingFunction)
TEST(WebTransformAnimationCurveTest, EaseOutTimingFunction)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeEaseOut);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEaseOut);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseOutTimingFunction::create());
for (int i = 0; i <= 4; ++i) {
@@ -215,12 +319,21 @@ TEST(WebTransformAnimationCurveTest, EaseOutTimingFunction)
TEST(WebTransformAnimationCurveTest, EaseInOutTimingFunction)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), WebAnimationCurve::TimingFunctionTypeEaseInOut);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), WebAnimationCurve::TimingFunctionTypeEaseInOut);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseInOutTimingFunction::create());
for (int i = 0; i <= 4; ++i) {
@@ -237,12 +350,21 @@ TEST(WebTransformAnimationCurveTest, CustomBezierTimingFunction)
double y1 = 0.2;
double x2 = 0.8;
double y2 = 0.7;
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()), x1, y1, x2, y2);
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1), x1, y1, x2, y2);
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
scoped_ptr<cc::TimingFunction> timingFunction(cc::CubicBezierTimingFunction::create(x1, y1, x2, y2));
for (int i = 0; i <= 4; ++i) {
@@ -255,12 +377,21 @@ TEST(WebTransformAnimationCurveTest, CustomBezierTimingFunction)
TEST(WebTransformAnimationCurveTest, DefaultTimingFunction)
{
scoped_ptr<WebTransformAnimationCurve> curve(new WebTransformAnimationCurveImpl);
- WebKit::WebTransformOperations operations1;
+#if WEB_TRANSFORM_OPERATIONS_IS_VIRTUAL
+ scoped_ptr<WebTransformOperations> operations1(new WebTransformOperationsImpl());
+ operations1->appendTranslate(0, 0, 0);
+ scoped_ptr<WebTransformOperations> operations2(new WebTransformOperationsImpl());
+ operations2->appendTranslate(1, 0, 0);
+ curve->add(WebTransformKeyframe(0, operations1.release()));
+ curve->add(WebTransformKeyframe(1, operations2.release()), WebAnimationCurve::TimingFunctionTypeLinear);
+#else
+ WebTransformOperations operations1;
operations1.appendTranslate(0, 0, 0);
- WebKit::WebTransformOperations operations2;
+ WebTransformOperations operations2;
operations2.appendTranslate(1, 0, 0);
curve->add(WebTransformKeyframe(0, operations1));
curve->add(WebTransformKeyframe(1, operations2), WebAnimationCurve::TimingFunctionTypeLinear);
+#endif
scoped_ptr<cc::TimingFunction> timingFunction(cc::EaseTimingFunction::create());
for (int i = 0; i <= 4; ++i) {

Powered by Google App Engine
This is Rietveld 408576698