OLD | NEW |
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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "platform/graphics/RecordingImageBufferSurface.h" | 7 #include "platform/graphics/RecordingImageBufferSurface.h" |
8 | 8 |
9 #include "platform/graphics/GraphicsContext.h" | 9 #include "platform/graphics/GraphicsContext.h" |
10 #include "platform/graphics/ImageBuffer.h" | 10 #include "platform/graphics/ImageBuffer.h" |
(...skipping 30 matching lines...) Expand all Loading... |
41 virtual void didFinalizeFrame() | 41 virtual void didFinalizeFrame() |
42 { | 42 { |
43 if (m_isDirty) { | 43 if (m_isDirty) { |
44 Platform::current()->currentThread()->removeTaskObserver(this); | 44 Platform::current()->currentThread()->removeTaskObserver(this); |
45 m_isDirty = false; | 45 m_isDirty = false; |
46 } | 46 } |
47 ++m_frameCount; | 47 ++m_frameCount; |
48 } | 48 } |
49 | 49 |
50 // TaskObserver implementation | 50 // TaskObserver implementation |
51 virtual void willProcessTask() OVERRIDE { ASSERT_NOT_REACHED(); } | 51 virtual void willProcessTask() override { ASSERT_NOT_REACHED(); } |
52 virtual void didProcessTask() OVERRIDE | 52 virtual void didProcessTask() override |
53 { | 53 { |
54 ASSERT_TRUE(m_isDirty); | 54 ASSERT_TRUE(m_isDirty); |
55 FloatRect dirtyRect(0, 0, 1, 1); | 55 FloatRect dirtyRect(0, 0, 1, 1); |
56 m_imageBuffer->finalizeFrame(dirtyRect); | 56 m_imageBuffer->finalizeFrame(dirtyRect); |
57 ASSERT_FALSE(m_isDirty); | 57 ASSERT_FALSE(m_isDirty); |
58 } | 58 } |
59 | 59 |
60 void fakeDraw() | 60 void fakeDraw() |
61 { | 61 { |
62 if (m_isDirty) | 62 if (m_isDirty) |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 { | 233 { |
234 EXPECT_EQ((Task*)0, m_task); | 234 EXPECT_EQ((Task*)0, m_task); |
235 } | 235 } |
236 | 236 |
237 virtual void postTask(Task* task) | 237 virtual void postTask(Task* task) |
238 { | 238 { |
239 EXPECT_EQ((Task*)0, m_task); | 239 EXPECT_EQ((Task*)0, m_task); |
240 m_task = task; | 240 m_task = task; |
241 } | 241 } |
242 | 242 |
243 virtual void postDelayedTask(Task*, long long delayMs) OVERRIDE { ASSERT
_NOT_REACHED(); }; | 243 virtual void postDelayedTask(Task*, long long delayMs) override { ASSERT
_NOT_REACHED(); }; |
244 | 244 |
245 virtual bool isCurrentThread() const OVERRIDE { return true; } | 245 virtual bool isCurrentThread() const override { return true; } |
246 virtual PlatformThreadId threadId() const OVERRIDE | 246 virtual PlatformThreadId threadId() const override |
247 { | 247 { |
248 ASSERT_NOT_REACHED(); | 248 ASSERT_NOT_REACHED(); |
249 return 0; | 249 return 0; |
250 } | 250 } |
251 | 251 |
252 virtual void addTaskObserver(TaskObserver* taskObserver) OVERRIDE | 252 virtual void addTaskObserver(TaskObserver* taskObserver) override |
253 { | 253 { |
254 EXPECT_EQ((TaskObserver*)0, m_taskObserver); | 254 EXPECT_EQ((TaskObserver*)0, m_taskObserver); |
255 m_taskObserver = taskObserver; | 255 m_taskObserver = taskObserver; |
256 } | 256 } |
257 | 257 |
258 virtual void removeTaskObserver(TaskObserver* taskObserver) OVERRIDE | 258 virtual void removeTaskObserver(TaskObserver* taskObserver) override |
259 { | 259 { |
260 EXPECT_EQ(m_taskObserver, taskObserver); | 260 EXPECT_EQ(m_taskObserver, taskObserver); |
261 m_taskObserver = 0; | 261 m_taskObserver = 0; |
262 } | 262 } |
263 | 263 |
264 virtual void enterRunLoop() OVERRIDE | 264 virtual void enterRunLoop() override |
265 { | 265 { |
266 if (m_taskObserver) | 266 if (m_taskObserver) |
267 m_taskObserver->willProcessTask(); | 267 m_taskObserver->willProcessTask(); |
268 if (m_task) { | 268 if (m_task) { |
269 m_task->run(); | 269 m_task->run(); |
270 delete m_task; | 270 delete m_task; |
271 m_task = 0; | 271 m_task = 0; |
272 } | 272 } |
273 if (m_taskObserver) | 273 if (m_taskObserver) |
274 m_taskObserver->didProcessTask(); | 274 m_taskObserver->didProcessTask(); |
275 } | 275 } |
276 | 276 |
277 virtual void exitRunLoop() OVERRIDE { ASSERT_NOT_REACHED(); } | 277 virtual void exitRunLoop() override { ASSERT_NOT_REACHED(); } |
278 | 278 |
279 private: | 279 private: |
280 TaskObserver* m_taskObserver; | 280 TaskObserver* m_taskObserver; |
281 Task* m_task; | 281 Task* m_task; |
282 }; | 282 }; |
283 | 283 |
284 class CurrentThreadPlatformMock : public Platform { | 284 class CurrentThreadPlatformMock : public Platform { |
285 public: | 285 public: |
286 CurrentThreadPlatformMock() { } | 286 CurrentThreadPlatformMock() { } |
287 virtual void cryptographicallyRandomValues(unsigned char* buffer, size_t
length) { ASSERT_NOT_REACHED(); } | 287 virtual void cryptographicallyRandomValues(unsigned char* buffer, size_t
length) { ASSERT_NOT_REACHED(); } |
288 virtual WebThread* currentThread() OVERRIDE { return &m_currentThread; } | 288 virtual WebThread* currentThread() override { return &m_currentThread; } |
289 private: | 289 private: |
290 CurrentThreadMock m_currentThread; | 290 CurrentThreadMock m_currentThread; |
291 }; | 291 }; |
292 | 292 |
293 CurrentThreadPlatformMock m_mockPlatform; | 293 CurrentThreadPlatformMock m_mockPlatform; |
294 Platform* m_oldPlatform; | 294 Platform* m_oldPlatform; |
295 }; | 295 }; |
296 | 296 |
297 | 297 |
298 #define DEFINE_TEST_TASK_WRAPPER_CLASS(TEST_METHOD)
\ | 298 #define DEFINE_TEST_TASK_WRAPPER_CLASS(TEST_METHOD)
\ |
299 class TestWrapperTask_ ## TEST_METHOD : public WebThread::Task {
\ | 299 class TestWrapperTask_ ## TEST_METHOD : public WebThread::Task {
\ |
300 public:
\ | 300 public:
\ |
301 TestWrapperTask_ ## TEST_METHOD(RecordingImageBufferSurfaceTest* test) :
m_test(test) { } \ | 301 TestWrapperTask_ ## TEST_METHOD(RecordingImageBufferSurfaceTest* test) :
m_test(test) { } \ |
302 virtual void run() OVERRIDE { m_test->TEST_METHOD(); }
\ | 302 virtual void run() override { m_test->TEST_METHOD(); }
\ |
303 private:
\ | 303 private:
\ |
304 RecordingImageBufferSurfaceTest* m_test;
\ | 304 RecordingImageBufferSurfaceTest* m_test;
\ |
305 }; | 305 }; |
306 | 306 |
307 #define CALL_TEST_TASK_WRAPPER(TEST_METHOD)
\ | 307 #define CALL_TEST_TASK_WRAPPER(TEST_METHOD)
\ |
308 {
\ | 308 {
\ |
309 AutoInstallCurrentThreadPlatformMock ctpm;
\ | 309 AutoInstallCurrentThreadPlatformMock ctpm;
\ |
310 Platform::current()->currentThread()->postTask(new TestWrapperTask_ ## T
EST_METHOD(this)); \ | 310 Platform::current()->currentThread()->postTask(new TestWrapperTask_ ## T
EST_METHOD(this)); \ |
311 Platform::current()->currentThread()->enterRunLoop();
\ | 311 Platform::current()->currentThread()->enterRunLoop();
\ |
312 } | 312 } |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 } | 353 } |
354 | 354 |
355 DEFINE_TEST_TASK_WRAPPER_CLASS(testClearRect) | 355 DEFINE_TEST_TASK_WRAPPER_CLASS(testClearRect) |
356 TEST_F(RecordingImageBufferSurfaceTest, testClearRect) | 356 TEST_F(RecordingImageBufferSurfaceTest, testClearRect) |
357 { | 357 { |
358 CALL_TEST_TASK_WRAPPER(testClearRect); | 358 CALL_TEST_TASK_WRAPPER(testClearRect); |
359 expectDisplayListEnabled(true); | 359 expectDisplayListEnabled(true); |
360 } | 360 } |
361 | 361 |
362 } // namespace | 362 } // namespace |
OLD | NEW |