| 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);
|
| +}
|
| +
|
| +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();
|
| }
|
|
|
|
|