| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // An implementation of WebThread in terms of base::MessageLoop and | 5 // An implementation of WebThread in terms of base::MessageLoop and |
| 6 // base::Thread | 6 // base::Thread |
| 7 | 7 |
| 8 #include "public/platform/scheduler/child/webthread_base.h" | 8 #include "public/platform/scheduler/child/webthread_base.h" |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 void WebThreadBase::removeTaskObserver(TaskObserver* observer) { | 56 void WebThreadBase::removeTaskObserver(TaskObserver* observer) { |
| 57 CHECK(isCurrentThread()); | 57 CHECK(isCurrentThread()); |
| 58 TaskObserverMap::iterator iter = task_observer_map_.find(observer); | 58 TaskObserverMap::iterator iter = task_observer_map_.find(observer); |
| 59 if (iter == task_observer_map_.end()) | 59 if (iter == task_observer_map_.end()) |
| 60 return; | 60 return; |
| 61 RemoveTaskObserverInternal(iter->second); | 61 RemoveTaskObserverInternal(iter->second); |
| 62 delete iter->second; | 62 delete iter->second; |
| 63 task_observer_map_.erase(iter); | 63 task_observer_map_.erase(iter); |
| 64 } | 64 } |
| 65 | 65 |
| 66 void WebThreadBase::addTaskTimeTracker(TaskTimeTracker* task_time_tracker) { |
| 67 AddTaskTimeTrackerInternal(task_time_tracker); |
| 68 } |
| 69 |
| 70 void WebThreadBase::removeTaskTimeTracker(TaskTimeTracker* task_time_tracker) { |
| 71 RemoveTaskTimeTrackerInternal(task_time_tracker); |
| 72 } |
| 73 |
| 66 void WebThreadBase::AddTaskObserverInternal( | 74 void WebThreadBase::AddTaskObserverInternal( |
| 67 base::MessageLoop::TaskObserver* observer) { | 75 base::MessageLoop::TaskObserver* observer) { |
| 68 base::MessageLoop::current()->AddTaskObserver(observer); | 76 base::MessageLoop::current()->AddTaskObserver(observer); |
| 69 } | 77 } |
| 70 | 78 |
| 71 void WebThreadBase::RemoveTaskObserverInternal( | 79 void WebThreadBase::RemoveTaskObserverInternal( |
| 72 base::MessageLoop::TaskObserver* observer) { | 80 base::MessageLoop::TaskObserver* observer) { |
| 73 base::MessageLoop::current()->RemoveTaskObserver(observer); | 81 base::MessageLoop::current()->RemoveTaskObserver(observer); |
| 74 } | 82 } |
| 75 | 83 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 94 location, base::Bind(&WebThreadBase::RunWebThreadIdleTask, | 102 location, base::Bind(&WebThreadBase::RunWebThreadIdleTask, |
| 95 base::Passed(base::WrapUnique(idle_task)))); | 103 base::Passed(base::WrapUnique(idle_task)))); |
| 96 } | 104 } |
| 97 | 105 |
| 98 bool WebThreadBase::isCurrentThread() const { | 106 bool WebThreadBase::isCurrentThread() const { |
| 99 return GetTaskRunner()->BelongsToCurrentThread(); | 107 return GetTaskRunner()->BelongsToCurrentThread(); |
| 100 } | 108 } |
| 101 | 109 |
| 102 } // namespace scheduler | 110 } // namespace scheduler |
| 103 } // namespace blink | 111 } // namespace blink |
| OLD | NEW |