| Index: cc/CCRenderSurfaceTest.cpp
|
| diff --git a/cc/CCRenderSurfaceTest.cpp b/cc/CCRenderSurfaceTest.cpp
|
| deleted file mode 100644
|
| index c0cb19d4ba0f3b5aced5953a58012f0e35dd1203..0000000000000000000000000000000000000000
|
| --- a/cc/CCRenderSurfaceTest.cpp
|
| +++ /dev/null
|
| @@ -1,165 +0,0 @@
|
| -// Copyright 2011 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "config.h"
|
| -
|
| -#include "CCRenderSurface.h"
|
| -
|
| -#include "CCAppendQuadsData.h"
|
| -#include "CCLayerImpl.h"
|
| -#include "CCRenderPassSink.h"
|
| -#include "CCSharedQuadState.h"
|
| -#include "CCSingleThreadProxy.h"
|
| -#include "MockCCQuadCuller.h"
|
| -#include "cc/own_ptr_vector.h"
|
| -#include "cc/scoped_ptr_vector.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -#include <public/WebTransformationMatrix.h>
|
| -
|
| -using namespace cc;
|
| -using WebKit::WebTransformationMatrix;
|
| -
|
| -namespace {
|
| -
|
| -#define EXECUTE_AND_VERIFY_SURFACE_CHANGED(codeToTest) \
|
| - renderSurface->resetPropertyChangedFlag(); \
|
| - codeToTest; \
|
| - EXPECT_TRUE(renderSurface->surfacePropertyChanged())
|
| -
|
| -#define EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(codeToTest) \
|
| - renderSurface->resetPropertyChangedFlag(); \
|
| - codeToTest; \
|
| - EXPECT_FALSE(renderSurface->surfacePropertyChanged())
|
| -
|
| -TEST(CCRenderSurfaceTest, verifySurfaceChangesAreTrackedProperly)
|
| -{
|
| - //
|
| - // This test checks that surfacePropertyChanged() has the correct behavior.
|
| - //
|
| -
|
| - // This will fake that we are on the correct thread for testing purposes.
|
| - DebugScopedSetImplThread setImplThread;
|
| -
|
| - scoped_ptr<CCLayerImpl> owningLayer = CCLayerImpl::create(1);
|
| - owningLayer->createRenderSurface();
|
| - ASSERT_TRUE(owningLayer->renderSurface());
|
| - CCRenderSurface* renderSurface = owningLayer->renderSurface();
|
| - IntRect testRect = IntRect(IntPoint(3, 4), IntSize(5, 6));
|
| - owningLayer->resetAllChangeTrackingForSubtree();
|
| -
|
| - // Currently, the contentRect, clipRect, and owningLayer->layerPropertyChanged() are
|
| - // the only sources of change.
|
| - EXECUTE_AND_VERIFY_SURFACE_CHANGED(renderSurface->setClipRect(testRect));
|
| - EXECUTE_AND_VERIFY_SURFACE_CHANGED(renderSurface->setContentRect(testRect));
|
| -
|
| - owningLayer->setOpacity(0.5f);
|
| - EXPECT_TRUE(renderSurface->surfacePropertyChanged());
|
| - owningLayer->resetAllChangeTrackingForSubtree();
|
| -
|
| - // Setting the surface properties to the same values again should not be considered "change".
|
| - EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(renderSurface->setClipRect(testRect));
|
| - EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(renderSurface->setContentRect(testRect));
|
| -
|
| - scoped_ptr<CCLayerImpl> dummyMask = CCLayerImpl::create(1);
|
| - WebTransformationMatrix dummyMatrix;
|
| - dummyMatrix.translate(1.0, 2.0);
|
| -
|
| - // The rest of the surface properties are either internal and should not cause change,
|
| - // or they are already accounted for by the owninglayer->layerPropertyChanged().
|
| - EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(renderSurface->setDrawOpacity(0.5));
|
| - EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(renderSurface->setDrawTransform(dummyMatrix));
|
| - EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(renderSurface->setReplicaDrawTransform(dummyMatrix));
|
| - EXECUTE_AND_VERIFY_SURFACE_DID_NOT_CHANGE(renderSurface->clearLayerLists());
|
| -}
|
| -
|
| -TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
|
| -{
|
| - // This will fake that we are on the correct thread for testing purposes.
|
| - DebugScopedSetImplThread setImplThread;
|
| -
|
| - scoped_ptr<CCLayerImpl> rootLayer = CCLayerImpl::create(1);
|
| -
|
| - scoped_ptr<CCLayerImpl> owningLayer = CCLayerImpl::create(2);
|
| - owningLayer->createRenderSurface();
|
| - ASSERT_TRUE(owningLayer->renderSurface());
|
| - owningLayer->setRenderTarget(owningLayer.get());
|
| - CCRenderSurface* renderSurface = owningLayer->renderSurface();
|
| -
|
| - rootLayer->addChild(owningLayer.Pass());
|
| -
|
| - IntRect contentRect = IntRect(IntPoint::zero(), IntSize(50, 50));
|
| - IntRect clipRect = IntRect(IntPoint(5, 5), IntSize(40, 40));
|
| - WebTransformationMatrix origin;
|
| -
|
| - origin.translate(30, 40);
|
| -
|
| - renderSurface->setDrawTransform(origin);
|
| - renderSurface->setContentRect(contentRect);
|
| - renderSurface->setClipRect(clipRect);
|
| - renderSurface->setDrawOpacity(1);
|
| -
|
| - CCQuadList quadList;
|
| - CCSharedQuadStateList sharedStateList;
|
| - MockCCQuadCuller mockQuadCuller(quadList, sharedStateList);
|
| - CCAppendQuadsData appendQuadsData;
|
| -
|
| - bool forReplica = false;
|
| - renderSurface->appendQuads(mockQuadCuller, appendQuadsData, forReplica, CCRenderPass::Id(2, 0));
|
| -
|
| - ASSERT_EQ(1u, sharedStateList.size());
|
| - CCSharedQuadState* sharedQuadState = sharedStateList[0];
|
| -
|
| - EXPECT_EQ(30, sharedQuadState->quadTransform.m41());
|
| - EXPECT_EQ(40, sharedQuadState->quadTransform.m42());
|
| - EXPECT_EQ(contentRect, IntRect(sharedQuadState->visibleContentRect));
|
| - EXPECT_EQ(1, sharedQuadState->opacity);
|
| - EXPECT_FALSE(sharedQuadState->opaque);
|
| -}
|
| -
|
| -class TestCCRenderPassSink : public CCRenderPassSink {
|
| -public:
|
| - virtual void appendRenderPass(scoped_ptr<CCRenderPass> renderPass) OVERRIDE { m_renderPasses.append(renderPass.Pass()); }
|
| -
|
| - const ScopedPtrVector<CCRenderPass>& renderPasses() const { return m_renderPasses; }
|
| -
|
| -private:
|
| - ScopedPtrVector<CCRenderPass> m_renderPasses;
|
| -};
|
| -
|
| -TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectRenderPass)
|
| -{
|
| - // This will fake that we are on the correct thread for testing purposes.
|
| - DebugScopedSetImplThread setImplThread;
|
| -
|
| - scoped_ptr<CCLayerImpl> rootLayer = CCLayerImpl::create(1);
|
| -
|
| - scoped_ptr<CCLayerImpl> owningLayer = CCLayerImpl::create(2);
|
| - owningLayer->createRenderSurface();
|
| - ASSERT_TRUE(owningLayer->renderSurface());
|
| - owningLayer->setRenderTarget(owningLayer.get());
|
| - CCRenderSurface* renderSurface = owningLayer->renderSurface();
|
| -
|
| - rootLayer->addChild(owningLayer.Pass());
|
| -
|
| - IntRect contentRect = IntRect(IntPoint::zero(), IntSize(50, 50));
|
| - WebTransformationMatrix origin;
|
| - origin.translate(30, 40);
|
| -
|
| - renderSurface->setScreenSpaceTransform(origin);
|
| - renderSurface->setContentRect(contentRect);
|
| -
|
| - TestCCRenderPassSink passSink;
|
| -
|
| - renderSurface->appendRenderPasses(passSink);
|
| -
|
| - ASSERT_EQ(1u, passSink.renderPasses().size());
|
| - CCRenderPass* pass = passSink.renderPasses()[0];
|
| -
|
| - EXPECT_EQ(CCRenderPass::Id(2, 0), pass->id());
|
| - EXPECT_EQ(contentRect, pass->outputRect());
|
| - EXPECT_EQ(origin, pass->transformToRootTarget());
|
| -}
|
| -
|
| -} // namespace
|
|
|