Index: Source/web/tests/Canvas2DLayerBridgeTest.cpp |
diff --git a/Source/web/tests/Canvas2DLayerBridgeTest.cpp b/Source/web/tests/Canvas2DLayerBridgeTest.cpp |
deleted file mode 100644 |
index 382b97e1de4e9076febcd9cd12d9a1fe188447fd..0000000000000000000000000000000000000000 |
--- a/Source/web/tests/Canvas2DLayerBridgeTest.cpp |
+++ /dev/null |
@@ -1,166 +0,0 @@ |
-/* |
- * Copyright (C) 2011 Google Inc. All rights reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * |
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY |
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
- * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY |
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-#include "config.h" |
- |
-#include "platform/graphics/Canvas2DLayerBridge.h" |
- |
-#include "SkDeferredCanvas.h" |
-#include "SkSurface.h" |
-#include "platform/graphics/ImageBuffer.h" |
-#include "public/platform/Platform.h" |
-#include "public/platform/WebExternalBitmap.h" |
-#include "public/platform/WebGraphicsContext3DProvider.h" |
-#include "public/platform/WebThread.h" |
-#include "third_party/skia/include/core/SkDevice.h" |
-#include "web/tests/MockWebGraphicsContext3D.h" |
-#include "wtf/RefPtr.h" |
- |
-#include <gmock/gmock.h> |
-#include <gtest/gtest.h> |
- |
-using namespace WebCore; |
-using namespace blink; |
-using testing::InSequence; |
-using testing::Return; |
-using testing::Test; |
- |
-namespace { |
- |
-class MockCanvasContext : public MockWebGraphicsContext3D { |
-public: |
- MOCK_METHOD0(flush, void(void)); |
- MOCK_METHOD0(createTexture, unsigned(void)); |
- MOCK_METHOD1(deleteTexture, void(unsigned)); |
-}; |
- |
-class MockWebGraphicsContext3DProvider : public WebGraphicsContext3DProvider { |
-public: |
- MockWebGraphicsContext3DProvider(WebGraphicsContext3D* context3d) |
- : m_context3d(context3d) { } |
- |
- WebGraphicsContext3D* context3d() |
- { |
- return m_context3d; |
- } |
- |
- GrContext* grContext() |
- { |
- return 0; |
- } |
- |
-private: |
- WebGraphicsContext3D* m_context3d; |
-}; |
- |
-class Canvas2DLayerBridgePtr { |
-public: |
- Canvas2DLayerBridgePtr(PassRefPtr<Canvas2DLayerBridge> layerBridge) |
- : m_layerBridge(layerBridge) { } |
- |
- ~Canvas2DLayerBridgePtr() |
- { |
- m_layerBridge->beginDestruction(); |
- } |
- |
- Canvas2DLayerBridge* operator->() { return m_layerBridge.get(); } |
- Canvas2DLayerBridge* get() { return m_layerBridge.get(); } |
- |
-private: |
- RefPtr<Canvas2DLayerBridge> m_layerBridge; |
-}; |
- |
-class NullWebExternalBitmap : public WebExternalBitmap { |
-public: |
- virtual WebSize size() |
- { |
- return WebSize(); |
- } |
- |
- virtual void setSize(WebSize) |
- { |
- } |
- |
- virtual uint8* pixels() |
- { |
- return 0; |
- } |
-}; |
- |
-} // namespace |
- |
-class Canvas2DLayerBridgeTest : public Test { |
-protected: |
- void fullLifecycleTest() |
- { |
- MockCanvasContext mainMock; |
- OwnPtr<MockWebGraphicsContext3DProvider> mainMockProvider = adoptPtr(new MockWebGraphicsContext3DProvider(&mainMock)); |
- RefPtr<SkSurface> surface = adoptRef(SkSurface::NewRasterPMColor(300, 150)); |
- OwnPtr<SkDeferredCanvas> canvas = adoptPtr(SkDeferredCanvas::Create(surface.get())); |
- |
- ::testing::Mock::VerifyAndClearExpectations(&mainMock); |
- |
- { |
- Canvas2DLayerBridgePtr bridge(adoptRef(new Canvas2DLayerBridge(mainMockProvider.release(), canvas.release(), 0, NonOpaque))); |
- |
- ::testing::Mock::VerifyAndClearExpectations(&mainMock); |
- |
- EXPECT_CALL(mainMock, flush()); |
- unsigned textureId = bridge->getBackingTexture(); |
- EXPECT_EQ(textureId, 0u); |
- |
- ::testing::Mock::VerifyAndClearExpectations(&mainMock); |
- } // bridge goes out of scope here |
- |
- ::testing::Mock::VerifyAndClearExpectations(&mainMock); |
- } |
- |
- void prepareMailboxWithBitmapTest() |
- { |
- MockCanvasContext mainMock; |
- RefPtr<SkSurface> surface = adoptRef(SkSurface::NewRasterPMColor(300, 150)); |
- OwnPtr<SkDeferredCanvas> canvas = adoptPtr(SkDeferredCanvas::Create(surface.get())); |
- OwnPtr<MockWebGraphicsContext3DProvider> mainMockProvider = adoptPtr(new MockWebGraphicsContext3DProvider(&mainMock)); |
- Canvas2DLayerBridgePtr bridge(adoptRef(new Canvas2DLayerBridge(mainMockProvider.release(), canvas.release(), 0, NonOpaque))); |
- bridge->m_lastImageId = 1; |
- |
- NullWebExternalBitmap bitmap; |
- bridge->prepareMailbox(0, &bitmap); |
- EXPECT_EQ(0u, bridge->m_lastImageId); |
- } |
-}; |
- |
-namespace { |
- |
-TEST_F(Canvas2DLayerBridgeTest, testFullLifecycleSingleThreaded) |
-{ |
- fullLifecycleTest(); |
-} |
- |
-TEST_F(Canvas2DLayerBridgeTest, prepareMailboxWithBitmapTest) |
-{ |
- prepareMailboxWithBitmapTest(); |
-} |
- |
-} // namespace |