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

Unified Diff: Source/web/tests/Canvas2DLayerBridgeTest.cpp

Issue 104023007: Refactoring ImageBuffer to decouple it from Canvas2DLayerBridge (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase mayhem Created 7 years 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 | « Source/web/WebMediaPlayerClientImpl.cpp ('k') | Source/web/tests/Canvas2DLayerManagerTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/web/tests/Canvas2DLayerBridgeTest.cpp
diff --git a/Source/web/tests/Canvas2DLayerBridgeTest.cpp b/Source/web/tests/Canvas2DLayerBridgeTest.cpp
index 393c8c0d07aba3a2e6a5a6777670553a31a60d57..83db780914d5d964fb146e5191208dfff3975bcc 100644
--- a/Source/web/tests/Canvas2DLayerBridgeTest.cpp
+++ b/Source/web/tests/Canvas2DLayerBridgeTest.cpp
@@ -53,16 +53,21 @@ public:
MOCK_METHOD1(deleteTexture, void(unsigned));
};
-class FakeCanvas2DLayerBridge : public Canvas2DLayerBridge {
+class Canvas2DLayerBridgePtr {
public:
- static PassRefPtr<Canvas2DLayerBridge> create(PassRefPtr<GraphicsContext3D> context, PassRefPtr<SkDeferredCanvas> canvas, OpacityMode opacityMode)
+ Canvas2DLayerBridgePtr(PassRefPtr<Canvas2DLayerBridge> layerBridge)
+ : m_layerBridge(layerBridge) { }
+
+ ~Canvas2DLayerBridgePtr()
{
- return adoptRef(static_cast<Canvas2DLayerBridge*>(new FakeCanvas2DLayerBridge(context, canvas, opacityMode)));
+ m_layerBridge->beginDestruction();
}
-protected:
- FakeCanvas2DLayerBridge(PassRefPtr<GraphicsContext3D> context, PassRefPtr<SkDeferredCanvas> canvas, OpacityMode opacityMode) :
- Canvas2DLayerBridge(context, canvas, 0, opacityMode)
- { }
+
+ Canvas2DLayerBridge* operator->() { return m_layerBridge.get(); }
+ Canvas2DLayerBridge* get() { return m_layerBridge.get(); }
+
+private:
+ RefPtr<Canvas2DLayerBridge> m_layerBridge;
};
} // namespace
@@ -75,21 +80,21 @@ protected:
MockCanvasContext& mainMock = *static_cast<MockCanvasContext*>(mainContext->webContext());
- RefPtr<SkDeferredCanvas> canvas = adoptRef(SkDeferredCanvas::Create(SkSurface::NewRasterPMColor(300, 150)));
+ OwnPtr<SkDeferredCanvas> canvas = adoptPtr(SkDeferredCanvas::Create(SkSurface::NewRasterPMColor(300, 150)));
::testing::Mock::VerifyAndClearExpectations(&mainMock);
- Canvas2DLayerBridgePtr bridge = FakeCanvas2DLayerBridge::create(mainContext.release(), canvas.release(), Canvas2DLayerBridge::NonOpaque);
+ {
+ Canvas2DLayerBridgePtr bridge(adoptRef(new Canvas2DLayerBridge(mainContext.release(), canvas.release(), 0, NonOpaque)));
- ::testing::Mock::VerifyAndClearExpectations(&mainMock);
-
- EXPECT_CALL(mainMock, flush());
- unsigned textureId = bridge->backBufferTexture();
- EXPECT_EQ(textureId, 0u);
+ ::testing::Mock::VerifyAndClearExpectations(&mainMock);
- ::testing::Mock::VerifyAndClearExpectations(&mainMock);
+ EXPECT_CALL(mainMock, flush());
+ unsigned textureId = bridge->getBackingTexture();
+ EXPECT_EQ(textureId, 0u);
- bridge.clear();
+ ::testing::Mock::VerifyAndClearExpectations(&mainMock);
+ } // bridge goes out of scope here
::testing::Mock::VerifyAndClearExpectations(&mainMock);
}
« no previous file with comments | « Source/web/WebMediaPlayerClientImpl.cpp ('k') | Source/web/tests/Canvas2DLayerManagerTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698