| 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 |