| Index: third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
|
| diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
|
| index dd38e5a4959fc449c6f7316a89a0ce02c6c07062..a33dbafaf9f050c81c5701da5a5fabc42039a45d 100644
|
| --- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
|
| +++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
|
| @@ -23,6 +23,8 @@
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| #include "third_party/skia/include/core/SkSurface.h"
|
| +#include "wtf/PtrUtil.h"
|
| +#include <memory>
|
|
|
| using ::testing::Mock;
|
|
|
| @@ -88,7 +90,7 @@ protected:
|
| void unrefCanvas();
|
|
|
| private:
|
| - OwnPtr<DummyPageHolder> m_dummyPageHolder;
|
| + std::unique_ptr<DummyPageHolder> m_dummyPageHolder;
|
| Persistent<HTMLDocument> m_document;
|
| Persistent<HTMLCanvasElement> m_canvasElement;
|
| Persistent<MemoryCache> m_globalMemoryCache;
|
| @@ -209,7 +211,7 @@ public:
|
| //============================================================================
|
|
|
| #define TEST_OVERDRAW_SETUP(EXPECTED_OVERDRAWS) \
|
| - OwnPtr<MockImageBufferSurfaceForOverwriteTesting> mockSurface = adoptPtr(new MockImageBufferSurfaceForOverwriteTesting(IntSize(10, 10), NonOpaque)); \
|
| + std::unique_ptr<MockImageBufferSurfaceForOverwriteTesting> mockSurface = wrapUnique(new MockImageBufferSurfaceForOverwriteTesting(IntSize(10, 10), NonOpaque)); \
|
| MockImageBufferSurfaceForOverwriteTesting* surfacePtr = mockSurface.get(); \
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(mockSurface)); \
|
| EXPECT_CALL(*surfacePtr, willOverwriteCanvas()).Times(EXPECTED_OVERDRAWS); \
|
| @@ -261,13 +263,13 @@ public:
|
| ExpectFallback,
|
| ExpectNoFallback
|
| };
|
| - static PassOwnPtr<MockSurfaceFactory> create(FallbackExpectation expectation) { return adoptPtr(new MockSurfaceFactory(expectation)); }
|
| + static std::unique_ptr<MockSurfaceFactory> create(FallbackExpectation expectation) { return wrapUnique(new MockSurfaceFactory(expectation)); }
|
|
|
| - PassOwnPtr<ImageBufferSurface> createSurface(const IntSize& size, OpacityMode mode) override
|
| + std::unique_ptr<ImageBufferSurface> createSurface(const IntSize& size, OpacityMode mode) override
|
| {
|
| EXPECT_EQ(ExpectFallback, m_expectation);
|
| m_didFallback = true;
|
| - return adoptPtr(new UnacceleratedImageBufferSurface(size, mode));
|
| + return wrapUnique(new UnacceleratedImageBufferSurface(size, mode));
|
| }
|
|
|
| ~MockSurfaceFactory() override
|
| @@ -407,7 +409,7 @@ TEST_F(CanvasRenderingContext2DTest, detectOverdrawWithCompositeOperations)
|
| TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionByDefault)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| EXPECT_FALSE(canvasElement().shouldBeDirectComposited());
|
| @@ -416,7 +418,7 @@ TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionByDefault)
|
| TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionUnderOverdrawLimit)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->setGlobalAlpha(0.5f); // To prevent overdraw optimization
|
| @@ -430,7 +432,7 @@ TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionUnderOverdrawLimit)
|
| TEST_F(CanvasRenderingContext2DTest, LayerPromotionOverOverdrawLimit)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->setGlobalAlpha(0.5f); // To prevent overdraw optimization
|
| @@ -444,7 +446,7 @@ TEST_F(CanvasRenderingContext2DTest, LayerPromotionOverOverdrawLimit)
|
| TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionUnderImageSizeRatioLimit)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| NonThrowableExceptionState exceptionState;
|
| @@ -452,7 +454,7 @@ TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionUnderImageSizeRatioLimit)
|
| EXPECT_FALSE(exceptionState.hadException());
|
| HTMLCanvasElement* sourceCanvas = static_cast<HTMLCanvasElement*>(sourceCanvasElement);
|
| IntSize sourceSize(10, 10 * ExpensiveCanvasHeuristicParameters::ExpensiveImageSizeRatio);
|
| - OwnPtr<UnacceleratedImageBufferSurface> sourceSurface = adoptPtr(new UnacceleratedImageBufferSurface(sourceSize, NonOpaque));
|
| + std::unique_ptr<UnacceleratedImageBufferSurface> sourceSurface = wrapUnique(new UnacceleratedImageBufferSurface(sourceSize, NonOpaque));
|
| sourceCanvas->createImageBufferUsingSurfaceForTesting(std::move(sourceSurface));
|
|
|
| const ImageBitmapOptions defaultOptions;
|
| @@ -468,7 +470,7 @@ TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionUnderImageSizeRatioLimit)
|
| TEST_F(CanvasRenderingContext2DTest, LayerPromotionOverImageSizeRatioLimit)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| NonThrowableExceptionState exceptionState;
|
| @@ -476,7 +478,7 @@ TEST_F(CanvasRenderingContext2DTest, LayerPromotionOverImageSizeRatioLimit)
|
| EXPECT_FALSE(exceptionState.hadException());
|
| HTMLCanvasElement* sourceCanvas = static_cast<HTMLCanvasElement*>(sourceCanvasElement);
|
| IntSize sourceSize(10, 10 * ExpensiveCanvasHeuristicParameters::ExpensiveImageSizeRatio + 1);
|
| - OwnPtr<UnacceleratedImageBufferSurface> sourceSurface = adoptPtr(new UnacceleratedImageBufferSurface(sourceSize, NonOpaque));
|
| + std::unique_ptr<UnacceleratedImageBufferSurface> sourceSurface = wrapUnique(new UnacceleratedImageBufferSurface(sourceSize, NonOpaque));
|
| sourceCanvas->createImageBufferUsingSurfaceForTesting(std::move(sourceSurface));
|
|
|
| const ImageBitmapOptions defaultOptions;
|
| @@ -492,7 +494,7 @@ TEST_F(CanvasRenderingContext2DTest, LayerPromotionOverImageSizeRatioLimit)
|
| TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionUnderExpensivePathPointCount)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->beginPath();
|
| @@ -509,7 +511,7 @@ TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionUnderExpensivePathPointCoun
|
| TEST_F(CanvasRenderingContext2DTest, LayerPromotionOverExpensivePathPointCount)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->beginPath();
|
| @@ -526,7 +528,7 @@ TEST_F(CanvasRenderingContext2DTest, LayerPromotionOverExpensivePathPointCount)
|
| TEST_F(CanvasRenderingContext2DTest, LayerPromotionWhenPathIsConcave)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->beginPath();
|
| @@ -546,7 +548,7 @@ TEST_F(CanvasRenderingContext2DTest, LayerPromotionWhenPathIsConcave)
|
| TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionWithRectangleClip)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->beginPath();
|
| @@ -560,7 +562,7 @@ TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionWithRectangleClip)
|
| TEST_F(CanvasRenderingContext2DTest, LayerPromotionWithComplexClip)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->beginPath();
|
| @@ -581,7 +583,7 @@ TEST_F(CanvasRenderingContext2DTest, LayerPromotionWithComplexClip)
|
| TEST_F(CanvasRenderingContext2DTest, LayerPromotionWithBlurredShadow)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->setShadowColor(String("red"));
|
| @@ -598,7 +600,7 @@ TEST_F(CanvasRenderingContext2DTest, LayerPromotionWithBlurredShadow)
|
| TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionWithSharpShadow)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->setShadowColor(String("red"));
|
| @@ -611,7 +613,7 @@ TEST_F(CanvasRenderingContext2DTest, NoLayerPromotionWithSharpShadow)
|
| TEST_F(CanvasRenderingContext2DTest, NoFallbackWithSmallState)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
|
| @@ -625,7 +627,7 @@ TEST_F(CanvasRenderingContext2DTest, NoFallbackWithSmallState)
|
| TEST_F(CanvasRenderingContext2DTest, FallbackWithLargeState)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
|
| @@ -644,7 +646,7 @@ TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText)
|
| // does not support pixel geometry settings.
|
| // See: crbug.com/583809
|
| createContext(Opaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback), Opaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback), Opaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->fillText("Text", 0, 5);
|
| @@ -653,7 +655,7 @@ TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText)
|
| TEST_F(CanvasRenderingContext2DTest, NonOpaqueDisplayListDoesNotFallBackForText)
|
| {
|
| createContext(NonOpaque);
|
| - OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| + std::unique_ptr<RecordingImageBufferSurface> surface = wrapUnique(new RecordingImageBufferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::ExpectNoFallback), NonOpaque));
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
|
|
|
| context2d()->fillText("Text", 0, 5);
|
| @@ -685,7 +687,7 @@ TEST_F(CanvasRenderingContext2DTest, GPUMemoryUpdateForAcceleratedCanvas)
|
| {
|
| createContext(NonOpaque);
|
|
|
| - OwnPtr<FakeAcceleratedImageBufferSurfaceForTesting> fakeAccelerateSurface = adoptPtr(new FakeAcceleratedImageBufferSurfaceForTesting(IntSize(10, 10), NonOpaque));
|
| + std::unique_ptr<FakeAcceleratedImageBufferSurfaceForTesting> fakeAccelerateSurface = wrapUnique(new FakeAcceleratedImageBufferSurfaceForTesting(IntSize(10, 10), NonOpaque));
|
| FakeAcceleratedImageBufferSurfaceForTesting* fakeAccelerateSurfacePtr = fakeAccelerateSurface.get();
|
| canvasElement().createImageBufferUsingSurfaceForTesting(std::move(fakeAccelerateSurface));
|
| // 800 = 10 * 10 * 4 * 2 where 10*10 is canvas size, 4 is num of bytes per pixel per buffer,
|
| @@ -709,8 +711,8 @@ TEST_F(CanvasRenderingContext2DTest, GPUMemoryUpdateForAcceleratedCanvas)
|
| EXPECT_EQ(1u, getGlobalAcceleratedImageBufferCount());
|
|
|
| // Creating a different accelerated image buffer
|
| - OwnPtr<FakeAcceleratedImageBufferSurfaceForTesting> fakeAccelerateSurface2 = adoptPtr(new FakeAcceleratedImageBufferSurfaceForTesting(IntSize(10, 5), NonOpaque));
|
| - OwnPtr<ImageBuffer> imageBuffer2 = ImageBuffer::create(std::move(fakeAccelerateSurface2));
|
| + std::unique_ptr<FakeAcceleratedImageBufferSurfaceForTesting> fakeAccelerateSurface2 = wrapUnique(new FakeAcceleratedImageBufferSurfaceForTesting(IntSize(10, 5), NonOpaque));
|
| + std::unique_ptr<ImageBuffer> imageBuffer2 = ImageBuffer::create(std::move(fakeAccelerateSurface2));
|
| EXPECT_EQ(800, getCurrentGPUMemoryUsage());
|
| EXPECT_EQ(1200, getGlobalGPUMemoryUsage());
|
| EXPECT_EQ(2u, getGlobalAcceleratedImageBufferCount());
|
|
|