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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_NET_CHROME_NET_LOG_H_
6 #define CHROME_BROWSER_NET_CHROME_NET_LOG_H_
8 #include "base/atomicops.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "base/observer_list.h"
11 #include "base/synchronization/lock.h"
12 #include "net/log/net_log.h"
15 class WriteToFileNetLogObserver
;
16 class TraceNetLogObserver
;
21 // ChromeNetLog is an implementation of NetLog that adds file loggers
23 class ChromeNetLog
: public net::NetLog
{
26 ~ChromeNetLog() override
;
28 NetLogTempFile
* net_log_temp_file() {
29 return net_log_temp_file_
.get();
33 scoped_ptr
<net::WriteToFileNetLogObserver
> write_to_file_observer_
;
34 scoped_ptr
<NetLogTempFile
> net_log_temp_file_
;
36 scoped_ptr
<net::TraceNetLogObserver
> trace_net_log_observer_
;
38 DISALLOW_COPY_AND_ASSIGN(ChromeNetLog
);
41 #endif // CHROME_BROWSER_NET_CHROME_NET_LOG_H_