| 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 |