OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
11 #include "chrome/browser/chrome_thread.h" | 11 #include "chrome/browser/chrome_thread.h" |
12 #include "chrome/browser/net/passive_log_collector.h" | 12 #include "chrome/browser/net/passive_log_collector.h" |
13 | 13 |
14 ChromeNetLog::ChromeNetLog() | 14 ChromeNetLog::ChromeNetLog() |
15 : next_id_(0), | 15 : next_id_(1), |
16 passive_collector_(new PassiveLogCollector) { | 16 passive_collector_(new PassiveLogCollector) { |
17 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); | 17 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); |
18 AddObserver(passive_collector_.get()); | 18 AddObserver(passive_collector_.get()); |
19 } | 19 } |
20 | 20 |
21 ChromeNetLog::~ChromeNetLog() { | 21 ChromeNetLog::~ChromeNetLog() { |
22 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); | 22 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); |
23 RemoveObserver(passive_collector_.get()); | 23 RemoveObserver(passive_collector_.get()); |
24 } | 24 } |
25 | 25 |
26 void ChromeNetLog::AddEntry(EventType type, | 26 void ChromeNetLog::AddEntry(EventType type, |
27 const base::TimeTicks& time, | 27 const base::TimeTicks& time, |
28 const Source& source, | 28 const Source& source, |
29 EventPhase phase, | 29 EventPhase phase, |
30 EventParameters* extra_parameters) { | 30 EventParameters* extra_parameters) { |
31 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); | 31 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); |
32 | 32 |
33 // Notify all of the log observers. | 33 // Notify all of the log observers. |
34 FOR_EACH_OBSERVER(Observer, observers_, | 34 FOR_EACH_OBSERVER(Observer, observers_, |
35 OnAddEntry(type, time, source, phase, extra_parameters)); | 35 OnAddEntry(type, time, source, phase, extra_parameters)); |
36 } | 36 } |
37 | 37 |
38 int ChromeNetLog::NextID() { | 38 uint32 ChromeNetLog::NextID() { |
39 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); | 39 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); |
40 return next_id_++; | 40 return next_id_++; |
41 } | 41 } |
42 | 42 |
43 bool ChromeNetLog::HasListener() const { | 43 bool ChromeNetLog::HasListener() const { |
44 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); | 44 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); |
45 // TODO(eroman): Hack to get refactor working. | 45 // TODO(eroman): Hack to get refactor working. |
46 return passive_collector_->url_request_tracker()->IsUnbounded(); | 46 return passive_collector_->url_request_tracker()->is_unbounded(); |
47 } | 47 } |
48 | 48 |
49 void ChromeNetLog::AddObserver(Observer* observer) { | 49 void ChromeNetLog::AddObserver(Observer* observer) { |
50 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); | 50 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); |
51 observers_.AddObserver(observer); | 51 observers_.AddObserver(observer); |
52 } | 52 } |
53 | 53 |
54 void ChromeNetLog::RemoveObserver(Observer* observer) { | 54 void ChromeNetLog::RemoveObserver(Observer* observer) { |
55 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); | 55 DCHECK(ChromeThread::CurrentlyOn(ChromeThread::IO)); |
56 observers_.RemoveObserver(observer); | 56 observers_.RemoveObserver(observer); |
57 } | 57 } |
58 | 58 |
OLD | NEW |