Index: Source/core/platform/graphics/chromium/Canvas2DLayerBridgeTestHelper.h |
diff --git a/Source/core/platform/graphics/gpu/DrawingBufferTest.cpp b/Source/core/platform/graphics/chromium/Canvas2DLayerBridgeTestHelper.h |
similarity index 54% |
copy from Source/core/platform/graphics/gpu/DrawingBufferTest.cpp |
copy to Source/core/platform/graphics/chromium/Canvas2DLayerBridgeTestHelper.h |
index 7b393101989d5d5ce9aa0ec7e59a7c5d58330214..c748141111c54c16c44cc055a568dde357dc0255 100644 |
--- a/Source/core/platform/graphics/gpu/DrawingBufferTest.cpp |
+++ b/Source/core/platform/graphics/chromium/Canvas2DLayerBridgeTestHelper.h |
@@ -28,56 +28,55 @@ |
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
-#include "config.h" |
- |
-#include "core/platform/graphics/gpu/DrawingBuffer.h" |
+#ifndef Canvas2DLayerBridgeTestHelper_h |
+#define Canvas2DLayerBridgeTestHelper_h |
+#include "SkSurface.h" |
#include "core/platform/graphics/GraphicsContext3D.h" |
+#include "core/platform/graphics/chromium/Canvas2DLayerBridge.h" |
#include "core/tests/FakeWebGraphicsContext3D.h" |
-#include "public/platform/Platform.h" |
-#include "wtf/RefPtr.h" |
#include <gmock/gmock.h> |
-#include <gtest/gtest.h> |
- |
-using namespace WebCore; |
-using namespace WebKit; |
-using testing::Test; |
-using testing::_; |
-namespace { |
- |
-class FakeContextEvictionManager : public ContextEvictionManager { |
+class MockCanvasContext : public WebKit::FakeWebGraphicsContext3D { |
public: |
- void forciblyLoseOldestContext(const String& reason) { } |
- IntSize oldestContextSize() { return IntSize(); } |
+ MOCK_METHOD0(flush, void(void)); |
+ |
+ virtual GrGLInterface* onCreateGrGLInterface() OVERRIDE { return 0; } |
}; |
-} // namespace |
+class Canvas2DLayerBridgeTestHelper : public WebCore::Canvas2DLayerBridge::Helper { |
+public: |
+ Canvas2DLayerBridgeTestHelper() : m_context(WebCore::GraphicsContext3D::createGraphicsContextFromWebContext(adoptPtr(new MockCanvasContext))) |
+ { } |
-class DrawingBufferTest : public Test { |
-protected: |
- virtual void SetUp() |
+ virtual WTF::PassRefPtr<WebCore::GraphicsContext3D> getContext() OVERRIDE |
jamesr
2013/08/05 22:56:36
You don't need WTF:: here (you basically never do,
|
{ |
- RefPtr<FakeContextEvictionManager> contextEvictionManager = adoptRef(new FakeContextEvictionManager()); |
- RefPtr<GraphicsContext3D> context = GraphicsContext3D::createGraphicsContextFromWebContext(adoptPtr(new FakeWebGraphicsContext3D)); |
- const IntSize size(100, 100); |
- m_drawingBuffer = DrawingBuffer::create(context.get(), size, DrawingBuffer::Discard, contextEvictionManager.release()); |
+ return m_context; |
} |
- RefPtr<DrawingBuffer> m_drawingBuffer; |
-}; |
+ virtual SkSurface* createSurface(WebCore::GraphicsContext3D* context3D, const WebCore::IntSize& size) OVERRIDE |
+ { |
+ SkImage::Info info; |
+ info.fWidth = size.width(); |
+ info.fHeight = size.height(); |
+ info.fColorType = SkImage::kPMColor_ColorType; |
+ info.fAlphaType = SkImage::kPremul_AlphaType; |
+ return SkSurface::NewRaster(info); |
+ } |
-namespace { |
+ void regenerateContext() |
+ { |
+ m_context = WebCore::GraphicsContext3D::createGraphicsContextFromWebContext(adoptPtr(new MockCanvasContext)); |
+ } |
-TEST_F(DrawingBufferTest, verifyNoNewBuffersAfterContextLostWithMailboxes) |
-{ |
- // Tell the buffer its contents changed and context was lost. |
- m_drawingBuffer->markContentsChanged(); |
- m_drawingBuffer->releaseResources(); |
+ MockCanvasContext& mock() |
+ { |
+ return *static_cast<MockCanvasContext*>(m_context->webContext()); |
+ } |
- WebKit::WebExternalTextureMailbox mailbox; |
- EXPECT_FALSE(m_drawingBuffer->prepareMailbox(&mailbox, 0)); |
-} |
+private: |
+ RefPtr<WebCore::GraphicsContext3D> m_context; |
+}; |
-} // namespace |
+#endif |