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

Unified Diff: cc/render_surface_unittest.cc

Issue 12603013: Part 10 of cc/ directory shuffles: layers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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
« no previous file with comments | « cc/render_surface_impl.cc ('k') | cc/resources/picture.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/render_surface_unittest.cc
diff --git a/cc/render_surface_unittest.cc b/cc/render_surface_unittest.cc
deleted file mode 100644
index df7baeb8405cd30e678595d789c88696cb4b70f1..0000000000000000000000000000000000000000
--- a/cc/render_surface_unittest.cc
+++ /dev/null
@@ -1,160 +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 "cc/render_surface_impl.h"
-
-#include "cc/append_quads_data.h"
-#include "cc/base/scoped_ptr_vector.h"
-#include "cc/layer_impl.h"
-#include "cc/quads/shared_quad_state.h"
-#include "cc/render_pass_sink.h"
-#include "cc/test/fake_impl_proxy.h"
-#include "cc/test/fake_layer_tree_host_impl.h"
-#include "cc/test/geometry_test_utils.h"
-#include "cc/test/mock_quad_culler.h"
-#include "cc/trees/single_thread_proxy.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "ui/gfx/transform.h"
-
-namespace cc {
-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(RenderSurfaceTest, verifySurfaceChangesAreTrackedProperly)
-{
- //
- // This test checks that SurfacePropertyChanged() has the correct behavior.
- //
-
- FakeImplProxy proxy;
- FakeLayerTreeHostImpl hostImpl(&proxy);
- scoped_ptr<LayerImpl> owningLayer = LayerImpl::Create(hostImpl.active_tree(), 1);
- owningLayer->CreateRenderSurface();
- ASSERT_TRUE(owningLayer->render_surface());
- RenderSurfaceImpl* renderSurface = owningLayer->render_surface();
- gfx::Rect testRect = gfx::Rect(gfx::Point(3, 4), gfx::Size(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<LayerImpl> dummyMask = LayerImpl::Create(hostImpl.active_tree(), 2);
- gfx::Transform 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.5f));
- 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(RenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
-{
- FakeImplProxy proxy;
- FakeLayerTreeHostImpl hostImpl(&proxy);
- scoped_ptr<LayerImpl> rootLayer = LayerImpl::Create(hostImpl.active_tree(), 1);
-
- scoped_ptr<LayerImpl> owningLayer = LayerImpl::Create(hostImpl.active_tree(), 2);
- owningLayer->CreateRenderSurface();
- ASSERT_TRUE(owningLayer->render_surface());
- owningLayer->draw_properties().render_target = owningLayer.get();
- RenderSurfaceImpl* renderSurface = owningLayer->render_surface();
-
- rootLayer->AddChild(owningLayer.Pass());
-
- gfx::Rect contentRect = gfx::Rect(gfx::Point(), gfx::Size(50, 50));
- gfx::Rect clipRect = gfx::Rect(gfx::Point(5, 5), gfx::Size(40, 40));
- gfx::Transform origin;
-
- origin.Translate(30, 40);
-
- renderSurface->SetDrawTransform(origin);
- renderSurface->SetContentRect(contentRect);
- renderSurface->SetClipRect(clipRect);
- renderSurface->SetDrawOpacity(1.f);
-
- QuadList quadList;
- SharedQuadStateList sharedStateList;
- MockQuadCuller mockQuadCuller(quadList, sharedStateList);
- AppendQuadsData appendQuadsData;
-
- bool forReplica = false;
- renderSurface->AppendQuads(&mockQuadCuller, &appendQuadsData, forReplica, RenderPass::Id(2, 0));
-
- ASSERT_EQ(1u, sharedStateList.size());
- SharedQuadState* sharedQuadState = sharedStateList[0];
-
- EXPECT_EQ(30, sharedQuadState->content_to_target_transform.matrix().getDouble(0, 3));
- EXPECT_EQ(40, sharedQuadState->content_to_target_transform.matrix().getDouble(1, 3));
- EXPECT_RECT_EQ(contentRect, gfx::Rect(sharedQuadState->visible_content_rect));
- EXPECT_EQ(1, sharedQuadState->opacity);
-}
-
-class TestRenderPassSink : public RenderPassSink {
-public:
- virtual void AppendRenderPass(scoped_ptr<RenderPass> renderPass) OVERRIDE { m_renderPasses.push_back(renderPass.Pass()); }
-
- const ScopedPtrVector<RenderPass>& renderPasses() const { return m_renderPasses; }
-
-private:
- ScopedPtrVector<RenderPass> m_renderPasses;
-};
-
-TEST(RenderSurfaceTest, sanityCheckSurfaceCreatesCorrectRenderPass)
-{
- FakeImplProxy proxy;
- FakeLayerTreeHostImpl hostImpl(&proxy);
- scoped_ptr<LayerImpl> rootLayer = LayerImpl::Create(hostImpl.active_tree(), 1);
-
- scoped_ptr<LayerImpl> owningLayer = LayerImpl::Create(hostImpl.active_tree(), 2);
- owningLayer->CreateRenderSurface();
- ASSERT_TRUE(owningLayer->render_surface());
- owningLayer->draw_properties().render_target = owningLayer.get();
- RenderSurfaceImpl* renderSurface = owningLayer->render_surface();
-
- rootLayer->AddChild(owningLayer.Pass());
-
- gfx::Rect contentRect = gfx::Rect(gfx::Point(), gfx::Size(50, 50));
- gfx::Transform origin;
- origin.Translate(30, 40);
-
- renderSurface->SetScreenSpaceTransform(origin);
- renderSurface->SetContentRect(contentRect);
-
- TestRenderPassSink passSink;
-
- renderSurface->AppendRenderPasses(&passSink);
-
- ASSERT_EQ(1u, passSink.renderPasses().size());
- RenderPass* pass = passSink.renderPasses()[0];
-
- EXPECT_EQ(RenderPass::Id(2, 0), pass->id);
- EXPECT_RECT_EQ(contentRect, pass->output_rect);
- EXPECT_EQ(origin, pass->transform_to_root_target);
-}
-
-} // namespace
-} // namespace cc
« no previous file with comments | « cc/render_surface_impl.cc ('k') | cc/resources/picture.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698