| 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 "chrome/browser/net/chrome_net_log.h" | 5 #include "chrome/browser/net/chrome_net_log.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/string_number_conversions.h" | 9 #include "base/string_number_conversions.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 } | 42 } |
| 43 } | 43 } |
| 44 | 44 |
| 45 ChromeNetLog::~ChromeNetLog() { | 45 ChromeNetLog::~ChromeNetLog() { |
| 46 // Remove the observers we own before we're destroyed. | 46 // Remove the observers we own before we're destroyed. |
| 47 RemoveThreadSafeObserver(load_timing_observer_.get()); | 47 RemoveThreadSafeObserver(load_timing_observer_.get()); |
| 48 if (net_log_logger_.get()) | 48 if (net_log_logger_.get()) |
| 49 RemoveThreadSafeObserver(net_log_logger_.get()); | 49 RemoveThreadSafeObserver(net_log_logger_.get()); |
| 50 } | 50 } |
| 51 | 51 |
| 52 void ChromeNetLog::AddEntry(EventType type, | 52 void ChromeNetLog::AddEntry( |
| 53 const base::TimeTicks& time, | 53 EventType type, |
| 54 const Source& source, | 54 const Source& source, |
| 55 EventPhase phase, | 55 EventPhase phase, |
| 56 EventParameters* params) { | 56 const scoped_refptr<EventParameters>& params) { |
| 57 base::TimeTicks time(base::TimeTicks::Now()); |
| 58 |
| 57 base::AutoLock lock(lock_); | 59 base::AutoLock lock(lock_); |
| 58 | 60 |
| 59 // Notify all of the log observers. | 61 // Notify all of the log observers. |
| 60 FOR_EACH_OBSERVER(ThreadSafeObserver, observers_, | 62 FOR_EACH_OBSERVER(ThreadSafeObserver, observers_, |
| 61 OnAddEntry(type, time, source, phase, params)); | 63 OnAddEntry(type, time, source, phase, params)); |
| 62 } | 64 } |
| 63 | 65 |
| 64 uint32 ChromeNetLog::NextID() { | 66 uint32 ChromeNetLog::NextID() { |
| 65 return base::subtle::NoBarrier_AtomicIncrement(&last_id_, 1); | 67 return base::subtle::NoBarrier_AtomicIncrement(&last_id_, 1); |
| 66 } | 68 } |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 LogLevel new_effective_log_level = base_log_level_; | 111 LogLevel new_effective_log_level = base_log_level_; |
| 110 ObserverListBase<ThreadSafeObserver>::Iterator it(observers_); | 112 ObserverListBase<ThreadSafeObserver>::Iterator it(observers_); |
| 111 ThreadSafeObserver* observer; | 113 ThreadSafeObserver* observer; |
| 112 while ((observer = it.GetNext()) != NULL) { | 114 while ((observer = it.GetNext()) != NULL) { |
| 113 new_effective_log_level = | 115 new_effective_log_level = |
| 114 std::min(new_effective_log_level, observer->log_level()); | 116 std::min(new_effective_log_level, observer->log_level()); |
| 115 } | 117 } |
| 116 base::subtle::NoBarrier_Store(&effective_log_level_, | 118 base::subtle::NoBarrier_Store(&effective_log_level_, |
| 117 new_effective_log_level); | 119 new_effective_log_level); |
| 118 } | 120 } |
| OLD | NEW |