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/browser/browser_thread_impl.h" | 5 #include "content/browser/browser_thread_impl.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/atomicops.h" | 9 #include "base/atomicops.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 // with BrowserThread. | 40 // with BrowserThread. |
41 class BrowserThreadMessageLoopProxy : public base::MessageLoopProxy { | 41 class BrowserThreadMessageLoopProxy : public base::MessageLoopProxy { |
42 public: | 42 public: |
43 explicit BrowserThreadMessageLoopProxy(BrowserThread::ID identifier) | 43 explicit BrowserThreadMessageLoopProxy(BrowserThread::ID identifier) |
44 : id_(identifier) { | 44 : id_(identifier) { |
45 } | 45 } |
46 | 46 |
47 // MessageLoopProxy implementation. | 47 // MessageLoopProxy implementation. |
48 virtual bool PostDelayedTask( | 48 virtual bool PostDelayedTask( |
49 const tracked_objects::Location& from_here, | 49 const tracked_objects::Location& from_here, |
50 const base::Closure& task, base::TimeDelta delay) OVERRIDE { | 50 const base::Closure& task, base::TimeDelta delay) override { |
51 return BrowserThread::PostDelayedTask(id_, from_here, task, delay); | 51 return BrowserThread::PostDelayedTask(id_, from_here, task, delay); |
52 } | 52 } |
53 | 53 |
54 virtual bool PostNonNestableDelayedTask( | 54 virtual bool PostNonNestableDelayedTask( |
55 const tracked_objects::Location& from_here, | 55 const tracked_objects::Location& from_here, |
56 const base::Closure& task, | 56 const base::Closure& task, |
57 base::TimeDelta delay) OVERRIDE { | 57 base::TimeDelta delay) override { |
58 return BrowserThread::PostNonNestableDelayedTask(id_, from_here, task, | 58 return BrowserThread::PostNonNestableDelayedTask(id_, from_here, task, |
59 delay); | 59 delay); |
60 } | 60 } |
61 | 61 |
62 virtual bool RunsTasksOnCurrentThread() const OVERRIDE { | 62 virtual bool RunsTasksOnCurrentThread() const override { |
63 return BrowserThread::CurrentlyOn(id_); | 63 return BrowserThread::CurrentlyOn(id_); |
64 } | 64 } |
65 | 65 |
66 protected: | 66 protected: |
67 virtual ~BrowserThreadMessageLoopProxy() {} | 67 virtual ~BrowserThreadMessageLoopProxy() {} |
68 | 68 |
69 private: | 69 private: |
70 BrowserThread::ID id_; | 70 BrowserThread::ID id_; |
71 DISALLOW_COPY_AND_ASSIGN(BrowserThreadMessageLoopProxy); | 71 DISALLOW_COPY_AND_ASSIGN(BrowserThreadMessageLoopProxy); |
72 }; | 72 }; |
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 AtomicWord* storage = reinterpret_cast<AtomicWord*>( | 532 AtomicWord* storage = reinterpret_cast<AtomicWord*>( |
533 &globals.thread_delegates[identifier]); | 533 &globals.thread_delegates[identifier]); |
534 AtomicWord old_pointer = base::subtle::NoBarrier_AtomicExchange( | 534 AtomicWord old_pointer = base::subtle::NoBarrier_AtomicExchange( |
535 storage, reinterpret_cast<AtomicWord>(delegate)); | 535 storage, reinterpret_cast<AtomicWord>(delegate)); |
536 | 536 |
537 // This catches registration when previously registered. | 537 // This catches registration when previously registered. |
538 DCHECK(!delegate || !old_pointer); | 538 DCHECK(!delegate || !old_pointer); |
539 } | 539 } |
540 | 540 |
541 } // namespace content | 541 } // namespace content |
OLD | NEW |