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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp

Issue 2640983002: Rename paint data structures (Closed)
Patch Set: Rebase Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/graphics/RecordingImageBufferSurface.h" 5 #include "platform/graphics/RecordingImageBufferSurface.h"
6 6
7 #include "platform/WebTaskRunner.h" 7 #include "platform/WebTaskRunner.h"
8 #include "platform/graphics/GraphicsContext.h" 8 #include "platform/graphics/GraphicsContext.h"
9 #include "platform/graphics/ImageBuffer.h" 9 #include "platform/graphics/ImageBuffer.h"
10 #include "platform/graphics/ImageBufferClient.h" 10 #include "platform/graphics/ImageBufferClient.h"
11 #include "platform/graphics/UnacceleratedImageBufferSurface.h" 11 #include "platform/graphics/UnacceleratedImageBufferSurface.h"
12 #include "platform/graphics/paint/PaintCanvas.h"
13 #include "platform/graphics/paint/PaintRecord.h"
12 #include "platform/testing/TestingPlatformSupport.h" 14 #include "platform/testing/TestingPlatformSupport.h"
13 #include "public/platform/Platform.h" 15 #include "public/platform/Platform.h"
14 #include "public/platform/WebThread.h" 16 #include "public/platform/WebThread.h"
15 #include "public/platform/WebTraceLocation.h" 17 #include "public/platform/WebTraceLocation.h"
16 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
17 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
18 #include "third_party/skia/include/core/SkCanvas.h"
19 #include "third_party/skia/include/core/SkPictureRecorder.h"
20 #include "wtf/PtrUtil.h" 20 #include "wtf/PtrUtil.h"
21 #include "wtf/RefPtr.h" 21 #include "wtf/RefPtr.h"
22 #include <memory> 22 #include <memory>
23 23
24 using testing::Test; 24 using testing::Test;
25 25
26 namespace blink { 26 namespace blink {
27 27
28 class FakeImageBufferClient : public ImageBufferClient, 28 class FakeImageBufferClient : public ImageBufferClient,
29 public WebThread::TaskObserver { 29 public WebThread::TaskObserver {
(...skipping 16 matching lines...) Expand all
46 } 46 }
47 47
48 // TaskObserver implementation 48 // TaskObserver implementation
49 void willProcessTask() override { NOTREACHED(); } 49 void willProcessTask() override { NOTREACHED(); }
50 void didProcessTask() override { 50 void didProcessTask() override {
51 ASSERT_TRUE(m_isDirty); 51 ASSERT_TRUE(m_isDirty);
52 FloatRect dirtyRect(0, 0, 1, 1); 52 FloatRect dirtyRect(0, 0, 1, 1);
53 m_imageBuffer->finalizeFrame(dirtyRect); 53 m_imageBuffer->finalizeFrame(dirtyRect);
54 ASSERT_FALSE(m_isDirty); 54 ASSERT_FALSE(m_isDirty);
55 } 55 }
56 void restoreCanvasMatrixClipStack(SkCanvas*) const override {} 56 void restoreCanvasMatrixClipStack(PaintCanvas*) const override {}
57 57
58 void fakeDraw() { 58 void fakeDraw() {
59 if (m_isDirty) 59 if (m_isDirty)
60 return; 60 return;
61 m_isDirty = true; 61 m_isDirty = true;
62 Platform::current()->currentThread()->addTaskObserver(this); 62 Platform::current()->currentThread()->addTaskObserver(this);
63 } 63 }
64 64
65 int frameCount() { return m_frameCount; } 65 int frameCount() { return m_frameCount; }
66 66
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 m_imageBuffer = ImageBuffer::create(std::move(testSurface)); 108 m_imageBuffer = ImageBuffer::create(std::move(testSurface));
109 EXPECT_FALSE(!m_imageBuffer); 109 EXPECT_FALSE(!m_imageBuffer);
110 m_fakeImageBufferClient = 110 m_fakeImageBufferClient =
111 WTF::wrapUnique(new FakeImageBufferClient(m_imageBuffer.get())); 111 WTF::wrapUnique(new FakeImageBufferClient(m_imageBuffer.get()));
112 m_imageBuffer->setClient(m_fakeImageBufferClient.get()); 112 m_imageBuffer->setClient(m_fakeImageBufferClient.get());
113 } 113 }
114 114
115 public: 115 public:
116 void testEmptyPicture() { 116 void testEmptyPicture() {
117 m_testSurface->initializeCurrentFrame(); 117 m_testSurface->initializeCurrentFrame();
118 sk_sp<SkPicture> picture = m_testSurface->getPicture(); 118 sk_sp<PaintRecord> picture = m_testSurface->getPicture();
119 EXPECT_TRUE((bool)picture.get()); 119 EXPECT_TRUE((bool)picture.get());
120 EXPECT_EQ(1, m_fakeImageBufferClient->frameCount()); 120 EXPECT_EQ(1, m_fakeImageBufferClient->frameCount());
121 expectDisplayListEnabled(true); 121 expectDisplayListEnabled(true);
122 } 122 }
123 123
124 void testNoFallbackWithClear() { 124 void testNoFallbackWithClear() {
125 m_testSurface->initializeCurrentFrame(); 125 m_testSurface->initializeCurrentFrame();
126 m_testSurface->willOverwriteCanvas(); 126 m_testSurface->willOverwriteCanvas();
127 m_testSurface->getPicture(); 127 m_testSurface->getPicture();
128 EXPECT_EQ(1, m_fakeImageBufferClient->frameCount()); 128 EXPECT_EQ(1, m_fakeImageBufferClient->frameCount());
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 m_testSurface->willOverwriteCanvas(); 195 m_testSurface->willOverwriteCanvas();
196 EXPECT_EQ(2, m_fakeImageBufferClient->frameCount()); 196 EXPECT_EQ(2, m_fakeImageBufferClient->frameCount());
197 m_testSurface->getPicture(); 197 m_testSurface->getPicture();
198 EXPECT_EQ(3, m_fakeImageBufferClient->frameCount()); 198 EXPECT_EQ(3, m_fakeImageBufferClient->frameCount());
199 expectDisplayListEnabled(true); 199 expectDisplayListEnabled(true);
200 } 200 }
201 201
202 void testClearRect() { 202 void testClearRect() {
203 m_testSurface->initializeCurrentFrame(); 203 m_testSurface->initializeCurrentFrame();
204 m_testSurface->getPicture(); 204 m_testSurface->getPicture();
205 SkPaint clearPaint; 205 PaintFlags clearPaint;
206 clearPaint.setBlendMode(SkBlendMode::kClear); 206 clearPaint.setBlendMode(SkBlendMode::kClear);
207 m_imageBuffer->canvas()->drawRect( 207 m_imageBuffer->canvas()->drawRect(
208 SkRect::MakeWH(m_testSurface->size().width(), 208 SkRect::MakeWH(m_testSurface->size().width(),
209 m_testSurface->size().height()), 209 m_testSurface->size().height()),
210 clearPaint); 210 clearPaint);
211 m_fakeImageBufferClient->fakeDraw(); 211 m_fakeImageBufferClient->fakeDraw();
212 EXPECT_EQ(1, m_fakeImageBufferClient->frameCount()); 212 EXPECT_EQ(1, m_fakeImageBufferClient->frameCount());
213 m_testSurface->getPicture(); 213 m_testSurface->getPicture();
214 EXPECT_EQ(2, m_fakeImageBufferClient->frameCount()); 214 EXPECT_EQ(2, m_fakeImageBufferClient->frameCount());
215 expectDisplayListEnabled(true); 215 expectDisplayListEnabled(true);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 CALL_TEST_TASK_WRAPPER(testAnimatedWithClear) 271 CALL_TEST_TASK_WRAPPER(testAnimatedWithClear)
272 expectDisplayListEnabled(true); 272 expectDisplayListEnabled(true);
273 } 273 }
274 274
275 TEST_F(RecordingImageBufferSurfaceTest, testClearRect) { 275 TEST_F(RecordingImageBufferSurfaceTest, testClearRect) {
276 CALL_TEST_TASK_WRAPPER(testClearRect); 276 CALL_TEST_TASK_WRAPPER(testClearRect);
277 expectDisplayListEnabled(true); 277 expectDisplayListEnabled(true);
278 } 278 }
279 279
280 } // namespace blink 280 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698