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

Unified Diff: Source/core/dom/ScriptRunnerTest.cpp

Issue 1303153005: Introduce WebTaskRunner Patch 3/5 (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add missing #include Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/ScriptRunner.cpp ('k') | Source/core/dom/ScriptedIdleTaskController.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
};
« no previous file with comments | « Source/core/dom/ScriptRunner.cpp ('k') | Source/core/dom/ScriptedIdleTaskController.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698