Index: Source/core/dom/ScriptRunnerTest.cpp |
diff --git a/Source/core/dom/ScriptRunnerTest.cpp b/Source/core/dom/ScriptRunnerTest.cpp |
index 3b9d430bbc0df4e2b8361b6690d372cb6d988170..615568b6bc4c0ec0571e5e3e8de26ae35e5141bf 100644 |
--- a/Source/core/dom/ScriptRunnerTest.cpp |
+++ b/Source/core/dom/ScriptRunnerTest.cpp |
@@ -39,9 +39,6 @@ public: |
explicit MockWebThread(WebScheduler* webScheduler) : m_webScheduler(webScheduler) { } |
~MockWebThread() override { } |
- void postTask(const WebTraceLocation&, Task*) override { ASSERT_NOT_REACHED(); } |
- void postDelayedTask(const WebTraceLocation&, Task*, long long) override { ASSERT_NOT_REACHED(); } |
- |
bool isCurrentThread() const override |
{ |
ASSERT_NOT_REACHED(); |
@@ -54,6 +51,12 @@ public: |
return 0; |
} |
+ WebTaskRunner* taskRunner() override |
+ { |
+ ASSERT_NOT_REACHED(); |
+ return nullptr; |
+ } |
+ |
void addTaskObserver(TaskObserver*) override { ASSERT_NOT_REACHED(); } |
void removeTaskObserver(TaskObserver*) override { ASSERT_NOT_REACHED(); } |
@@ -63,19 +66,47 @@ private: |
WebScheduler* m_webScheduler; |
}; |
-class MockPlatform : public Platform, private WebScheduler { |
+class MockWebTaskRunner : public WebTaskRunner { |
public: |
- MockPlatform() : m_mockWebThread(this), m_shouldYield(false), m_shouldYieldEveryOtherTime(false) { } |
+ explicit MockWebTaskRunner(Deque<OwnPtr<WebTaskRunner::Task>>* tasks) : m_tasks(tasks) { } |
+ ~MockWebTaskRunner() override { } |
- void postLoadingTask(const WebTraceLocation&, WebThread::Task* task) override |
+ virtual void postTask(const WebTraceLocation&, Task* task) |
{ |
- m_tasks.append(adoptPtr(task)); |
+ m_tasks->append(adoptPtr(task)); |
} |
+ void postDelayedTask(const WebTraceLocation&, Task* task, long long delayMs) override |
+ { |
+ ASSERT_NOT_REACHED(); |
+ } |
+ |
+ Deque<OwnPtr<WebTaskRunner::Task>>* m_tasks; // NOT OWNED |
+}; |
+ |
+class MockPlatform : public Platform, private WebScheduler { |
+public: |
+ MockPlatform() |
+ : m_mockWebThread(this) |
+ , m_mockWebTaskRunner(&m_tasks) |
+ , m_shouldYield(false) |
+ , m_shouldYieldEveryOtherTime(false) { } |
+ |
void cryptographicallyRandomValues(unsigned char* buffer, size_t length) override { } |
WebThread* currentThread() override { return &m_mockWebThread; } |
+ WebTaskRunner* loadingTaskRunner() override |
+ { |
+ return &m_mockWebTaskRunner; |
+ } |
+ |
+ WebTaskRunner* timerTaskRunner() override |
+ { |
+ ASSERT_NOT_REACHED(); |
+ return nullptr; |
+ } |
+ |
void runSingleTask() |
{ |
if (m_tasks.isEmpty()) |
@@ -109,7 +140,8 @@ public: |
private: |
MockWebThread m_mockWebThread; |
- Deque<OwnPtr<WebThread::Task>> m_tasks; |
+ Deque<OwnPtr<WebTaskRunner::Task>> m_tasks; |
+ MockWebTaskRunner m_mockWebTaskRunner; |
bool m_shouldYield; |
bool m_shouldYieldEveryOtherTime; |
}; |