| Index: cc/trees/proxy.cc
|
| diff --git a/cc/trees/proxy.cc b/cc/trees/proxy.cc
|
| index 3136c65713f962c6049154c47ec98d61221f9e02..1d3c175dfddea0991e2032a96cb0b15f223ff6f8 100644
|
| --- a/cc/trees/proxy.cc
|
| +++ b/cc/trees/proxy.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "base/message_loop/message_loop_proxy.h"
|
| #include "base/single_thread_task_runner.h"
|
| +#include "cc/trees/blocking_task_runner.h"
|
|
|
| namespace cc {
|
|
|
| @@ -69,18 +70,24 @@ void Proxy::SetMainThreadBlocked(bool is_main_thread_blocked) {
|
| Proxy::Proxy(scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner)
|
| #if !DCHECK_IS_ON
|
| - : main_task_runner_(main_task_runner), impl_task_runner_(impl_task_runner) {
|
| + : main_task_runner_(main_task_runner),
|
| + impl_task_runner_(impl_task_runner),
|
| + blocking_main_thread_task_runner_(BlockingTaskRunner::current()) {
|
| #else
|
| : main_task_runner_(main_task_runner),
|
| impl_task_runner_(impl_task_runner),
|
| + blocking_main_thread_task_runner_(BlockingTaskRunner::current()),
|
| main_thread_id_(base::PlatformThread::CurrentId()),
|
| impl_thread_is_overridden_(false),
|
| is_main_thread_blocked_(false) {
|
| #endif
|
| + blocking_main_thread_task_runner_->SetTaskRunner(main_task_runner_);
|
| }
|
|
|
| Proxy::~Proxy() {
|
| DCHECK(IsMainThread());
|
| + blocking_main_thread_task_runner_->SetTaskRunner(
|
| + base::MessageLoopProxy::current());
|
| }
|
|
|
| } // namespace cc
|
|
|