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

Unified Diff: cc/CCRenderSurfaceTest.cpp

Issue 10879109: Update libcc / bindings snapshot to WebKit r126830 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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/CCRenderSurfaceFilters.cpp ('k') | cc/CCSchedulerStateMachine.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/CCRenderSurfaceTest.cpp
diff --git a/cc/CCRenderSurfaceTest.cpp b/cc/CCRenderSurfaceTest.cpp
index c044993ed331ab29bad95437f0457005a9abbfed..38fb967ef40b5a7c129323e22eb3e72a7e666379 100644
--- a/cc/CCRenderSurfaceTest.cpp
+++ b/cc/CCRenderSurfaceTest.cpp
@@ -7,6 +7,7 @@
#include "CCRenderSurface.h"
#include "CCLayerImpl.h"
+#include "CCRenderPassSink.h"
#include "CCSharedQuadState.h"
#include "CCSingleThreadProxy.h"
#include "MockCCQuadCuller.h"
@@ -113,4 +114,49 @@ TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
EXPECT_FALSE(sharedQuadState->opaque);
}
+class TestCCRenderPassSink : public CCRenderPassSink {
+public:
+ virtual void appendRenderPass(PassOwnPtr<CCRenderPass> renderPass) OVERRIDE { m_renderPasses.append(renderPass); }
+
+ const Vector<OwnPtr<CCRenderPass> >& renderPasses() const { return m_renderPasses; }
+
+private:
+ Vector<OwnPtr<CCRenderPass> > m_renderPasses;
+
+};
+
+TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectRenderPass)
+{
+ // This will fake that we are on the correct thread for testing purposes.
+ DebugScopedSetImplThread setImplThread;
+
+ OwnPtr<CCLayerImpl> rootLayer = CCLayerImpl::create(1);
+
+ OwnPtr<CCLayerImpl> owningLayer = CCLayerImpl::create(2);
+ owningLayer->createRenderSurface();
+ ASSERT_TRUE(owningLayer->renderSurface());
+ owningLayer->setRenderTarget(owningLayer.get());
+ CCRenderSurface* renderSurface = owningLayer->renderSurface();
+
+ rootLayer->addChild(owningLayer.release());
+
+ 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].get();
+
+ EXPECT_EQ(2, pass->id());
+ EXPECT_EQ(contentRect, pass->outputRect());
+ EXPECT_EQ(origin, pass->transformToRootTarget());
+}
+
} // namespace
« no previous file with comments | « cc/CCRenderSurfaceFilters.cpp ('k') | cc/CCSchedulerStateMachine.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698