OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #include "content/child/worker_task_runner.h" |
| 6 |
5 #include "base/callback.h" | 7 #include "base/callback.h" |
6 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
7 #include "base/logging.h" | 9 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
9 #include "base/observer_list.h" | 11 #include "base/observer_list.h" |
10 #include "webkit/child/worker_task_runner.h" | |
11 | 12 |
12 using blink::WebWorkerRunLoop; | 13 using blink::WebWorkerRunLoop; |
13 | 14 |
| 15 namespace content { |
| 16 |
14 namespace { | 17 namespace { |
15 | 18 |
16 class RunClosureTask : public WebWorkerRunLoop::Task { | 19 class RunClosureTask : public WebWorkerRunLoop::Task { |
17 public: | 20 public: |
18 RunClosureTask(const base::Closure& task) : task_(task) {} | 21 RunClosureTask(const base::Closure& task) : task_(task) {} |
19 virtual ~RunClosureTask() {} | 22 virtual ~RunClosureTask() {} |
20 virtual void Run() { | 23 virtual void Run() { |
21 task_.Run(); | 24 task_.Run(); |
22 } | 25 } |
23 private: | 26 private: |
24 base::Closure task_; | 27 base::Closure task_; |
25 }; | 28 }; |
26 | 29 |
27 } // unnamed namespace | 30 } // namespace |
28 | |
29 namespace webkit_glue { | |
30 | 31 |
31 struct WorkerTaskRunner::ThreadLocalState { | 32 struct WorkerTaskRunner::ThreadLocalState { |
32 ThreadLocalState(int id, const WebWorkerRunLoop& loop) | 33 ThreadLocalState(int id, const WebWorkerRunLoop& loop) |
33 : id_(id), run_loop_(loop) { | 34 : id_(id), run_loop_(loop) { |
34 } | 35 } |
35 int id_; | 36 int id_; |
36 WebWorkerRunLoop run_loop_; | 37 WebWorkerRunLoop run_loop_; |
37 ObserverList<WorkerTaskRunner::Observer> stop_observers_; | 38 ObserverList<WorkerTaskRunner::Observer> stop_observers_; |
38 }; | 39 }; |
39 | 40 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 OnWorkerRunLoopStopped()); | 102 OnWorkerRunLoopStopped()); |
102 { | 103 { |
103 base::AutoLock locker(loop_map_lock_); | 104 base::AutoLock locker(loop_map_lock_); |
104 DCHECK(loop_map_[CurrentWorkerId()] == loop); | 105 DCHECK(loop_map_[CurrentWorkerId()] == loop); |
105 loop_map_.erase(CurrentWorkerId()); | 106 loop_map_.erase(CurrentWorkerId()); |
106 } | 107 } |
107 delete current_tls_.Get(); | 108 delete current_tls_.Get(); |
108 current_tls_.Set(NULL); | 109 current_tls_.Set(NULL); |
109 } | 110 } |
110 | 111 |
111 } // namespace webkit_glue | 112 } // namespace content |
OLD | NEW |