summaryrefslogtreecommitdiff
path: root/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-05-07 11:21:11 +0200
commit2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch)
tree988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
parentdd91e772430dc294e3bf478c119ef8d43c0a3358 (diff)
downloadqtwebkit-2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47.tar.gz
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
Diffstat (limited to 'Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp')
-rw-r--r--Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp b/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
index 1201587c7..7dac005d2 100644
--- a/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
+++ b/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
@@ -26,7 +26,9 @@
#include "cc/CCRenderSurface.h"
+#include "TransformationMatrix.h"
#include "cc/CCLayerImpl.h"
+#include "cc/CCSharedQuadState.h"
#include "cc/CCSingleThreadProxy.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
@@ -89,4 +91,38 @@ TEST(CCRenderSurfaceTest, verifySurfaceChangesAreTrackedProperly)
EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(renderSurface->setMaskLayer(dummyMask.get()));
}
+TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
+{
+ // This will fake that we are on the correct thread for testing purposes.
+ DebugScopedSetImplThread setImplThread;
+
+ OwnPtr<CCLayerImpl> owningLayer = CCLayerImpl::create(0);
+ owningLayer->createRenderSurface();
+ ASSERT_TRUE(owningLayer->renderSurface());
+ CCRenderSurface* renderSurface = owningLayer->renderSurface();
+
+ IntRect contentRect = IntRect(IntPoint::zero(), IntSize(50, 50));
+ IntRect clipRect = IntRect(IntPoint(5, 5), IntSize(40, 40));
+ TransformationMatrix draw;
+ TransformationMatrix origin;
+
+ draw.translate(30, 40);
+
+ renderSurface->setDrawTransform(draw);
+ renderSurface->setOriginTransform(origin);
+ renderSurface->setContentRect(contentRect);
+ renderSurface->setClipRect(clipRect);
+ renderSurface->setDrawOpacity(1);
+
+ OwnPtr<CCSharedQuadState> sharedQuadState = renderSurface->createSharedQuadState();
+
+ EXPECT_TRUE(sharedQuadState->quadTransform().isIdentity());
+ EXPECT_EQ(30, sharedQuadState->layerTransform().m41());
+ EXPECT_EQ(40, sharedQuadState->layerTransform().m42());
+ EXPECT_EQ(contentRect, sharedQuadState->layerRect());
+ EXPECT_EQ(clipRect, sharedQuadState->clipRect());
+ EXPECT_EQ(1, sharedQuadState->opacity());
+ EXPECT_FALSE(sharedQuadState->isOpaque());
+}
+
} // namespace