Index: content/test/test_blink_web_unit_test_support.cc |
diff --git a/content/test/test_blink_web_unit_test_support.cc b/content/test/test_blink_web_unit_test_support.cc |
index 05a6b9bcce2fec1c48d896fbe7d74c177ba377f5..4dbce4054cc94fd8bab1e053d94d3134c25e252a 100644 |
--- a/content/test/test_blink_web_unit_test_support.cc |
+++ b/content/test/test_blink_web_unit_test_support.cc |
@@ -12,9 +12,8 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "base/thread_task_runner_handle.h" |
#include "base/threading/platform_thread.h" |
-#include "components/scheduler/renderer/renderer_scheduler_impl.h" |
+#include "components/scheduler/renderer/renderer_scheduler.h" |
#include "components/scheduler/renderer/webthread_impl_for_renderer_scheduler.h" |
-#include "components/scheduler/test/lazy_scheduler_message_loop_delegate_for_tests.h" |
#include "content/test/mock_webclipboard_impl.h" |
#include "content/test/web_gesture_curve_mock.h" |
#include "content/test/web_layer_tree_view_impl_for_testing.h" |
@@ -25,6 +24,7 @@ |
#include "storage/browser/database/vfs_backend.h" |
#include "third_party/WebKit/public/platform/WebData.h" |
#include "third_party/WebKit/public/platform/WebFileSystem.h" |
+#include "third_party/WebKit/public/platform/WebScheduler.h" |
#include "third_party/WebKit/public/platform/WebStorageArea.h" |
#include "third_party/WebKit/public/platform/WebStorageNamespace.h" |
#include "third_party/WebKit/public/platform/WebString.h" |
@@ -77,6 +77,35 @@ |
DISALLOW_COPY_AND_ASSIGN(DummyTaskRunner); |
}; |
+class DummyWebThread : public blink::WebThread { |
+ public: |
+ DummyWebThread() |
+ : thread_id_(base::PlatformThread::CurrentId()), |
+ m_dummyScheduler(new blink::WebScheduler()) {} |
+ |
+ virtual void postTask(const blink::WebTraceLocation&, Task*) { NOTREACHED(); } |
+ |
+ virtual void postDelayedTask(const blink::WebTraceLocation&, |
+ Task*, |
+ long long delayMs) { |
+ NOTREACHED(); |
+ } |
+ |
+ virtual bool isCurrentThread() const { |
+ return thread_id_ == base::PlatformThread::CurrentId(); |
+ } |
+ |
+ virtual blink::WebScheduler* scheduler() const { |
+ return m_dummyScheduler.get(); |
+ } |
+ |
+ private: |
+ base::PlatformThreadId thread_id_; |
+ scoped_ptr<blink::WebScheduler> m_dummyScheduler; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(DummyWebThread); |
+}; |
+ |
} // namespace |
namespace content { |
@@ -95,7 +124,11 @@ |
scoped_refptr<base::SingleThreadTaskRunner> dummy_task_runner; |
scoped_ptr<base::ThreadTaskRunnerHandle> dummy_task_runner_handle; |
- if (!base::MessageLoopProxy::current()) { |
+ if (base::MessageLoopProxy::current()) { |
+ renderer_scheduler_ = scheduler::RendererScheduler::Create(); |
+ web_thread_.reset(new scheduler::WebThreadImplForRendererScheduler( |
+ renderer_scheduler_.get())); |
+ } else { |
// Dummy task runner is initialized here because the blink::initialize |
// creates IsolateHolder which needs the current task runner handle. There |
// should be no task posted to this task runner. The message loop is not |
@@ -106,11 +139,8 @@ |
dummy_task_runner = make_scoped_refptr(new DummyTaskRunner()); |
dummy_task_runner_handle.reset( |
new base::ThreadTaskRunnerHandle(dummy_task_runner)); |
- } |
- renderer_scheduler_ = make_scoped_ptr(new scheduler::RendererSchedulerImpl( |
- scheduler::LazySchedulerMessageLoopDelegateForTests::Create())); |
- web_thread_.reset(new scheduler::WebThreadImplForRendererScheduler( |
- renderer_scheduler_.get())); |
+ web_thread_.reset(new DummyWebThread()); |
+ } |
blink::initialize(this); |
blink::setLayoutTestMode(true); |