Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Side by Side Diff: net/base/net_log.cc

Issue 649763002: git cl format the second third of the net/base directory (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "net/base/net_log.h" 5 #include "net/base/net_log.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 return base::Bind(&SourceEventParametersCallback, *this); 98 return base::Bind(&SourceEventParametersCallback, *this);
99 } 99 }
100 100
101 // static 101 // static
102 bool NetLog::Source::FromEventParameters(base::Value* event_params, 102 bool NetLog::Source::FromEventParameters(base::Value* event_params,
103 Source* source) { 103 Source* source) {
104 base::DictionaryValue* dict = NULL; 104 base::DictionaryValue* dict = NULL;
105 base::DictionaryValue* source_dict = NULL; 105 base::DictionaryValue* source_dict = NULL;
106 int source_id = -1; 106 int source_id = -1;
107 int source_type = NetLog::SOURCE_COUNT; 107 int source_type = NetLog::SOURCE_COUNT;
108 if (!event_params || 108 if (!event_params || !event_params->GetAsDictionary(&dict) ||
109 !event_params->GetAsDictionary(&dict) ||
110 !dict->GetDictionary("source_dependency", &source_dict) || 109 !dict->GetDictionary("source_dependency", &source_dict) ||
111 !source_dict->GetInteger("id", &source_id) || 110 !source_dict->GetInteger("id", &source_id) ||
112 !source_dict->GetInteger("type", &source_type)) { 111 !source_dict->GetInteger("type", &source_type)) {
113 *source = Source(); 112 *source = Source();
114 return false; 113 return false;
115 } 114 }
116 115
117 DCHECK_GE(source_id, 0); 116 DCHECK_GE(source_id, 0);
118 DCHECK_LT(source_type, NetLog::SOURCE_COUNT); 117 DCHECK_LT(source_type, NetLog::SOURCE_COUNT);
119 *source = Source(static_cast<SourceType>(source_type), source_id); 118 *source = Source(static_cast<SourceType>(source_type), source_id);
(...skipping 24 matching lines...) Expand all
144 143
145 return entry_dict; 144 return entry_dict;
146 } 145 }
147 146
148 base::Value* NetLog::Entry::ParametersToValue() const { 147 base::Value* NetLog::Entry::ParametersToValue() const {
149 if (data_->parameters_callback) 148 if (data_->parameters_callback)
150 return data_->parameters_callback->Run(log_level_); 149 return data_->parameters_callback->Run(log_level_);
151 return NULL; 150 return NULL;
152 } 151 }
153 152
154 NetLog::EntryData::EntryData( 153 NetLog::EntryData::EntryData(EventType type,
155 EventType type, 154 Source source,
156 Source source, 155 EventPhase phase,
157 EventPhase phase, 156 base::TimeTicks time,
158 base::TimeTicks time, 157 const ParametersCallback* parameters_callback)
159 const ParametersCallback* parameters_callback)
160 : type(type), 158 : type(type),
161 source(source), 159 source(source),
162 phase(phase), 160 phase(phase),
163 time(time), 161 time(time),
164 parameters_callback(parameters_callback) { 162 parameters_callback(parameters_callback) {
165 } 163 }
166 164
167 NetLog::EntryData::~EntryData() { 165 NetLog::EntryData::~EntryData() {
168 } 166 }
169 167
170 NetLog::Entry::Entry(const EntryData* data, LogLevel log_level) 168 NetLog::Entry::Entry(const EntryData* data, LogLevel log_level)
171 : data_(data), log_level_(log_level) { 169 : data_(data), log_level_(log_level) {
172 } 170 }
173 171
174 NetLog::Entry::~Entry() { 172 NetLog::Entry::~Entry() {
175 } 173 }
176 174
177 NetLog::ThreadSafeObserver::ThreadSafeObserver() : log_level_(LOG_NONE), 175 NetLog::ThreadSafeObserver::ThreadSafeObserver()
178 net_log_(NULL) { 176 : log_level_(LOG_NONE), net_log_(NULL) {
179 } 177 }
180 178
181 NetLog::ThreadSafeObserver::~ThreadSafeObserver() { 179 NetLog::ThreadSafeObserver::~ThreadSafeObserver() {
182 // Make sure we aren't watching a NetLog on destruction. Because the NetLog 180 // Make sure we aren't watching a NetLog on destruction. Because the NetLog
183 // may pass events to each observer on multiple threads, we cannot safely 181 // may pass events to each observer on multiple threads, we cannot safely
184 // stop watching a NetLog automatically from a parent class. 182 // stop watching a NetLog automatically from a parent class.
185 DCHECK(!net_log_); 183 DCHECK(!net_log_);
186 } 184 }
187 185
188 NetLog::LogLevel NetLog::ThreadSafeObserver::log_level() const { 186 NetLog::LogLevel NetLog::ThreadSafeObserver::log_level() const {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 uint32 NetLog::NextID() { 221 uint32 NetLog::NextID() {
224 return base::subtle::NoBarrier_AtomicIncrement(&last_id_, 1); 222 return base::subtle::NoBarrier_AtomicIncrement(&last_id_, 1);
225 } 223 }
226 224
227 NetLog::LogLevel NetLog::GetLogLevel() const { 225 NetLog::LogLevel NetLog::GetLogLevel() const {
228 base::subtle::Atomic32 log_level = 226 base::subtle::Atomic32 log_level =
229 base::subtle::NoBarrier_Load(&effective_log_level_); 227 base::subtle::NoBarrier_Load(&effective_log_level_);
230 return static_cast<net::NetLog::LogLevel>(log_level); 228 return static_cast<net::NetLog::LogLevel>(log_level);
231 } 229 }
232 230
233 void NetLog::AddThreadSafeObserver( 231 void NetLog::AddThreadSafeObserver(net::NetLog::ThreadSafeObserver* observer,
234 net::NetLog::ThreadSafeObserver* observer, 232 LogLevel log_level) {
235 LogLevel log_level) {
236 DCHECK_NE(LOG_NONE, log_level); 233 DCHECK_NE(LOG_NONE, log_level);
237 base::AutoLock lock(lock_); 234 base::AutoLock lock(lock_);
238 235
239 DCHECK(!observer->net_log_); 236 DCHECK(!observer->net_log_);
240 DCHECK_EQ(LOG_NONE, observer->log_level_); 237 DCHECK_EQ(LOG_NONE, observer->log_level_);
241 observers_.AddObserver(observer); 238 observers_.AddObserver(observer);
242 observer->net_log_ = this; 239 observer->net_log_ = this;
243 observer->log_level_ = log_level; 240 observer->log_level_ = log_level;
244 UpdateLogLevel(); 241 UpdateLogLevel();
245 } 242 }
246 243
247 void NetLog::SetObserverLogLevel( 244 void NetLog::SetObserverLogLevel(net::NetLog::ThreadSafeObserver* observer,
248 net::NetLog::ThreadSafeObserver* observer, 245 LogLevel log_level) {
249 LogLevel log_level) {
250 DCHECK_NE(LOG_NONE, log_level); 246 DCHECK_NE(LOG_NONE, log_level);
251 base::AutoLock lock(lock_); 247 base::AutoLock lock(lock_);
252 248
253 DCHECK(observers_.HasObserver(observer)); 249 DCHECK(observers_.HasObserver(observer));
254 DCHECK_EQ(this, observer->net_log_); 250 DCHECK_EQ(this, observer->net_log_);
255 DCHECK_NE(LOG_NONE, observer->log_level_); 251 DCHECK_NE(LOG_NONE, observer->log_level_);
256 observer->log_level_ = log_level; 252 observer->log_level_ = log_level;
257 UpdateLogLevel(); 253 UpdateLogLevel();
258 } 254 }
259 255
(...skipping 15 matching lines...) Expand all
275 271
276 // Look through all the observers and find the finest granularity 272 // Look through all the observers and find the finest granularity
277 // log level (higher values of the enum imply *lower* log levels). 273 // log level (higher values of the enum imply *lower* log levels).
278 LogLevel new_effective_log_level = LOG_NONE; 274 LogLevel new_effective_log_level = LOG_NONE;
279 ObserverListBase<ThreadSafeObserver>::Iterator it(observers_); 275 ObserverListBase<ThreadSafeObserver>::Iterator it(observers_);
280 ThreadSafeObserver* observer; 276 ThreadSafeObserver* observer;
281 while ((observer = it.GetNext()) != NULL) { 277 while ((observer = it.GetNext()) != NULL) {
282 new_effective_log_level = 278 new_effective_log_level =
283 std::min(new_effective_log_level, observer->log_level()); 279 std::min(new_effective_log_level, observer->log_level());
284 } 280 }
285 base::subtle::NoBarrier_Store(&effective_log_level_, 281 base::subtle::NoBarrier_Store(&effective_log_level_, new_effective_log_level);
286 new_effective_log_level);
287 } 282 }
288 283
289 // static 284 // static
290 std::string NetLog::TickCountToString(const base::TimeTicks& time) { 285 std::string NetLog::TickCountToString(const base::TimeTicks& time) {
291 int64 delta_time = (time - base::TimeTicks()).InMilliseconds(); 286 int64 delta_time = (time - base::TimeTicks()).InMilliseconds();
292 return base::Int64ToString(delta_time); 287 return base::Int64ToString(delta_time);
293 } 288 }
294 289
295 // static 290 // static
296 const char* NetLog::EventTypeToString(EventType event) { 291 const char* NetLog::EventTypeToString(EventType event) {
297 switch (event) { 292 switch (event) {
298 #define EVENT_TYPE(label) case TYPE_ ## label: return #label; 293 #define EVENT_TYPE(label) \
294 case TYPE_##label: \
295 return #label;
299 #include "net/base/net_log_event_type_list.h" 296 #include "net/base/net_log_event_type_list.h"
300 #undef EVENT_TYPE 297 #undef EVENT_TYPE
301 default: 298 default:
302 NOTREACHED(); 299 NOTREACHED();
303 return NULL; 300 return NULL;
304 } 301 }
305 } 302 }
306 303
307 // static 304 // static
308 base::Value* NetLog::GetEventTypesAsValue() { 305 base::Value* NetLog::GetEventTypesAsValue() {
309 base::DictionaryValue* dict = new base::DictionaryValue(); 306 base::DictionaryValue* dict = new base::DictionaryValue();
310 for (int i = 0; i < EVENT_COUNT; ++i) { 307 for (int i = 0; i < EVENT_COUNT; ++i) {
311 dict->SetInteger(EventTypeToString(static_cast<EventType>(i)), i); 308 dict->SetInteger(EventTypeToString(static_cast<EventType>(i)), i);
312 } 309 }
313 return dict; 310 return dict;
314 } 311 }
315 312
316 // static 313 // static
317 const char* NetLog::SourceTypeToString(SourceType source) { 314 const char* NetLog::SourceTypeToString(SourceType source) {
318 switch (source) { 315 switch (source) {
319 #define SOURCE_TYPE(label) case SOURCE_ ## label: return #label; 316 #define SOURCE_TYPE(label) \
317 case SOURCE_##label: \
318 return #label;
320 #include "net/base/net_log_source_type_list.h" 319 #include "net/base/net_log_source_type_list.h"
321 #undef SOURCE_TYPE 320 #undef SOURCE_TYPE
322 default: 321 default:
323 NOTREACHED(); 322 NOTREACHED();
324 return NULL; 323 return NULL;
325 } 324 }
326 } 325 }
327 326
328 // static 327 // static
329 base::Value* NetLog::GetSourceTypesAsValue() { 328 base::Value* NetLog::GetSourceTypesAsValue() {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 DCHECK(value); 382 DCHECK(value);
384 return base::Bind(&NetLogString16Callback, name, value); 383 return base::Bind(&NetLogString16Callback, name, value);
385 } 384 }
386 385
387 void NetLog::AddEntry(EventType type, 386 void NetLog::AddEntry(EventType type,
388 const Source& source, 387 const Source& source,
389 EventPhase phase, 388 EventPhase phase,
390 const NetLog::ParametersCallback* parameters_callback) { 389 const NetLog::ParametersCallback* parameters_callback) {
391 if (GetLogLevel() == LOG_NONE) 390 if (GetLogLevel() == LOG_NONE)
392 return; 391 return;
393 EntryData entry_data(type, source, phase, base::TimeTicks::Now(), 392 EntryData entry_data(
394 parameters_callback); 393 type, source, phase, base::TimeTicks::Now(), parameters_callback);
395 394
396 // Notify all of the log observers. 395 // Notify all of the log observers.
397 base::AutoLock lock(lock_); 396 base::AutoLock lock(lock_);
398 FOR_EACH_OBSERVER(ThreadSafeObserver, observers_, OnAddEntryData(entry_data)); 397 FOR_EACH_OBSERVER(ThreadSafeObserver, observers_, OnAddEntryData(entry_data));
399 } 398 }
400 399
401 void BoundNetLog::AddEntry(NetLog::EventType type, 400 void BoundNetLog::AddEntry(NetLog::EventType type,
402 NetLog::EventPhase phase) const { 401 NetLog::EventPhase phase) const {
403 if (!net_log_) 402 if (!net_log_)
404 return; 403 return;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 477
479 bool BoundNetLog::IsLoggingBytes() const { 478 bool BoundNetLog::IsLoggingBytes() const {
480 return NetLog::IsLoggingBytes(GetLogLevel()); 479 return NetLog::IsLoggingBytes(GetLogLevel());
481 } 480 }
482 481
483 bool BoundNetLog::IsLogging() const { 482 bool BoundNetLog::IsLogging() const {
484 return NetLog::IsLogging(GetLogLevel()); 483 return NetLog::IsLogging(GetLogLevel());
485 } 484 }
486 485
487 // static 486 // static
488 BoundNetLog BoundNetLog::Make(NetLog* net_log, 487 BoundNetLog BoundNetLog::Make(NetLog* net_log, NetLog::SourceType source_type) {
489 NetLog::SourceType source_type) {
490 if (!net_log) 488 if (!net_log)
491 return BoundNetLog(); 489 return BoundNetLog();
492 490
493 NetLog::Source source(source_type, net_log->NextID()); 491 NetLog::Source source(source_type, net_log->NextID());
494 return BoundNetLog(source, net_log); 492 return BoundNetLog(source, net_log);
495 } 493 }
496 494
497 } // namespace net 495 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698