Chromium Code Reviews| Index: content/child/webthread_impl.cc |
| diff --git a/content/child/webthread_impl.cc b/content/child/webthread_impl.cc |
| index 9b697def31ab4d1f84e3002bc3a5e36bb8244722..2e30a648b80f8a4e5ea38aad65c61c36ea026500 100644 |
| --- a/content/child/webthread_impl.cc |
| +++ b/content/child/webthread_impl.cc |
| @@ -43,7 +43,7 @@ void WebThreadBase::addTaskObserver(TaskObserver* observer) { |
| std::make_pair(observer, static_cast<TaskObserverAdapter*>(NULL))); |
| if (result.second) |
| result.first->second = new TaskObserverAdapter(observer); |
| - base::MessageLoop::current()->AddTaskObserver(result.first->second); |
| + AddTaskObserverInternal(result.first->second); |
| } |
| void WebThreadBase::removeTaskObserver(TaskObserver* observer) { |
| @@ -51,11 +51,21 @@ void WebThreadBase::removeTaskObserver(TaskObserver* observer) { |
| TaskObserverMap::iterator iter = task_observer_map_.find(observer); |
| if (iter == task_observer_map_.end()) |
| return; |
| - base::MessageLoop::current()->RemoveTaskObserver(iter->second); |
| + RemoveTaskObserverInternal(iter->second); |
| delete iter->second; |
| task_observer_map_.erase(iter); |
| } |
| +void WebThreadBase::AddTaskObserverInternal( |
| + base::MessageLoop::TaskObserver* observer) { |
| + base::MessageLoop::current()->AddTaskObserver(observer); |
|
alex clarke (OOO till 29th)
2015/02/13 11:02:07
Do we need DCHECK(main_thread_checker_.CalledOnVal
|
| +} |
| + |
| +void WebThreadBase::RemoveTaskObserverInternal( |
| + base::MessageLoop::TaskObserver* observer) { |
| + base::MessageLoop::current()->RemoveTaskObserver(observer); |
| +} |
| + |
| WebThreadImpl::WebThreadImpl(const char* name) |
| : thread_(new base::Thread(name)) { |
| thread_->Start(); |
| @@ -84,7 +94,9 @@ WebThreadImpl::WebThreadImpl(const char* name) |
| // are no reference counter modification like [A] (because task->run() is not |
| // executed), so there are no race conditions. |
| // See https://crbug.com/390851 for more details. |
| -static void RunWebThreadTask(scoped_ptr<blink::WebThread::Task> task) { |
| +// |
| +// static |
| +void WebThreadBase::RunWebThreadTask(scoped_ptr<blink::WebThread::Task> task) { |
| task->run(); |
| } |