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

Side by Side Diff: content/browser/loader/netlog_observer.cc

Issue 2333923004: Extracting NetLog inner classes into their own classes. (Closed)
Patch Set: Some nit fixes and better, impl-agnostic naming of net_log_parameters_callback_typedef.h -> net/log… Created 4 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 "content/browser/loader/netlog_observer.h" 5 #include "content/browser/loader/netlog_observer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/strings/string_util.h" 9 #include "base/strings/string_util.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "content/browser/loader/resource_request_info_impl.h" 11 #include "content/browser/loader/resource_request_info_impl.h"
12 #include "content/public/common/resource_response.h" 12 #include "content/public/common/resource_response.h"
13 #include "net/base/load_flags.h" 13 #include "net/base/load_flags.h"
14 #include "net/http/http_response_headers.h" 14 #include "net/http/http_response_headers.h"
15 #include "net/http/http_util.h" 15 #include "net/http/http_util.h"
16 #include "net/log/net_log_capture_mode.h"
17 #include "net/log/net_log_entry.h"
16 #include "net/log/net_log_event_type.h" 18 #include "net/log/net_log_event_type.h"
17 #include "net/log/net_log_source_type.h" 19 #include "net/log/net_log_source_type.h"
20 #include "net/log/net_log_with_source.h"
18 #include "net/spdy/spdy_header_block.h" 21 #include "net/spdy/spdy_header_block.h"
19 #include "net/url_request/url_request.h" 22 #include "net/url_request/url_request.h"
20 #include "net/url_request/url_request_netlog_params.h" 23 #include "net/url_request/url_request_netlog_params.h"
21 24
22 namespace content { 25 namespace content {
23 const size_t kMaxNumEntries = 1000; 26 const size_t kMaxNumEntries = 1000;
24 27
25 // static 28 // static
26 NetLogObserver* NetLogObserver::instance_ = NULL; 29 NetLogObserver* NetLogObserver::instance_ = NULL;
27 30
28 // static 31 // static
29 base::LazyInstance<std::unique_ptr<base::ThreadChecker>>::Leaky 32 base::LazyInstance<std::unique_ptr<base::ThreadChecker>>::Leaky
30 NetLogObserver::io_thread_checker_; 33 NetLogObserver::io_thread_checker_;
31 34
32 NetLogObserver::NetLogObserver() {} 35 NetLogObserver::NetLogObserver() {}
33 36
34 NetLogObserver::~NetLogObserver() {} 37 NetLogObserver::~NetLogObserver() {}
35 38
36 NetLogObserver::ResourceInfo* NetLogObserver::GetResourceInfo(uint32_t id) { 39 NetLogObserver::ResourceInfo* NetLogObserver::GetResourceInfo(uint32_t id) {
37 RequestToInfoMap::iterator it = request_to_info_.find(id); 40 RequestToInfoMap::iterator it = request_to_info_.find(id);
38 if (it != request_to_info_.end()) 41 if (it != request_to_info_.end())
39 return it->second.get(); 42 return it->second.get();
40 return NULL; 43 return NULL;
41 } 44 }
42 45
43 void NetLogObserver::OnAddEntry(const net::NetLog::Entry& entry) { 46 void NetLogObserver::OnAddEntry(const net::NetLogEntry& entry) {
44 DCHECK(io_thread_checker_.Get().get()); 47 DCHECK(io_thread_checker_.Get().get());
45 48
46 // The events that the Observer is interested in only occur on the IO thread. 49 // The events that the Observer is interested in only occur on the IO thread.
47 if (!io_thread_checker_.Get()->CalledOnValidThread()) 50 if (!io_thread_checker_.Get()->CalledOnValidThread())
48 return; 51 return;
49 52
50 if (entry.source().type == net::NetLogSourceType::URL_REQUEST) 53 if (entry.source().type == net::NetLogSourceType::URL_REQUEST)
51 OnAddURLRequestEntry(entry); 54 OnAddURLRequestEntry(entry);
52 } 55 }
53 56
54 void NetLogObserver::OnAddURLRequestEntry(const net::NetLog::Entry& entry) { 57 void NetLogObserver::OnAddURLRequestEntry(const net::NetLogEntry& entry) {
55 bool is_begin = entry.phase() == net::NetLogEventPhase::BEGIN; 58 bool is_begin = entry.phase() == net::NetLogEventPhase::BEGIN;
56 bool is_end = entry.phase() == net::NetLogEventPhase::END; 59 bool is_end = entry.phase() == net::NetLogEventPhase::END;
57 60
58 if (entry.type() == net::NetLogEventType::URL_REQUEST_START_JOB) { 61 if (entry.type() == net::NetLogEventType::URL_REQUEST_START_JOB) {
59 if (is_begin) { 62 if (is_begin) {
60 if (request_to_info_.size() > kMaxNumEntries) { 63 if (request_to_info_.size() > kMaxNumEntries) {
61 LOG(WARNING) << "The raw headers observer url request count has grown " 64 LOG(WARNING) << "The raw headers observer url request count has grown "
62 "larger than expected, resetting"; 65 "larger than expected, resetting";
63 request_to_info_.clear(); 66 request_to_info_.clear();
64 } 67 }
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 203
201 uint32_t source_id = request->net_log().source().id; 204 uint32_t source_id = request->net_log().source().id;
202 NetLogObserver* dev_tools_net_log_observer = NetLogObserver::GetInstance(); 205 NetLogObserver* dev_tools_net_log_observer = NetLogObserver::GetInstance();
203 if (dev_tools_net_log_observer == NULL) 206 if (dev_tools_net_log_observer == NULL)
204 return; 207 return;
205 response->head.devtools_info = 208 response->head.devtools_info =
206 dev_tools_net_log_observer->GetResourceInfo(source_id); 209 dev_tools_net_log_observer->GetResourceInfo(source_id);
207 } 210 }
208 211
209 } // namespace content 212 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698