diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
commit | 2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch) | |
tree | 988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp | |
parent | dd91e772430dc294e3bf478c119ef8d43c0a3358 (diff) | |
download | qtwebkit-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.cpp | 36 |
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 |