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 "content/browser/devtools/devtools_netlog_observer.h" | 5 #include "content/browser/devtools/devtools_netlog_observer.h" |
6 | 6 |
| 7 #include <stddef.h> |
| 8 |
7 #include "base/strings/string_util.h" | 9 #include "base/strings/string_util.h" |
8 #include "base/values.h" | 10 #include "base/values.h" |
9 #include "content/browser/loader/resource_request_info_impl.h" | 11 #include "content/browser/loader/resource_request_info_impl.h" |
10 #include "content/public/browser/browser_thread.h" | 12 #include "content/public/browser/browser_thread.h" |
11 #include "content/public/browser/content_browser_client.h" | 13 #include "content/public/browser/content_browser_client.h" |
12 #include "content/public/common/resource_response.h" | 14 #include "content/public/common/resource_response.h" |
13 #include "net/base/load_flags.h" | 15 #include "net/base/load_flags.h" |
14 #include "net/http/http_response_headers.h" | 16 #include "net/http/http_response_headers.h" |
15 #include "net/http/http_util.h" | 17 #include "net/http/http_util.h" |
16 #include "net/spdy/spdy_header_block.h" | 18 #include "net/spdy/spdy_header_block.h" |
17 #include "net/url_request/url_request.h" | 19 #include "net/url_request/url_request.h" |
18 #include "net/url_request/url_request_netlog_params.h" | 20 #include "net/url_request/url_request_netlog_params.h" |
19 | 21 |
20 namespace content { | 22 namespace content { |
21 const size_t kMaxNumEntries = 1000; | 23 const size_t kMaxNumEntries = 1000; |
22 | 24 |
23 DevToolsNetLogObserver* DevToolsNetLogObserver::instance_ = NULL; | 25 DevToolsNetLogObserver* DevToolsNetLogObserver::instance_ = NULL; |
24 | 26 |
25 DevToolsNetLogObserver::DevToolsNetLogObserver() { | 27 DevToolsNetLogObserver::DevToolsNetLogObserver() { |
26 } | 28 } |
27 | 29 |
28 DevToolsNetLogObserver::~DevToolsNetLogObserver() { | 30 DevToolsNetLogObserver::~DevToolsNetLogObserver() { |
29 } | 31 } |
30 | 32 |
31 DevToolsNetLogObserver::ResourceInfo* | 33 DevToolsNetLogObserver::ResourceInfo* DevToolsNetLogObserver::GetResourceInfo( |
32 DevToolsNetLogObserver::GetResourceInfo(uint32 id) { | 34 uint32_t id) { |
33 RequestToInfoMap::iterator it = request_to_info_.find(id); | 35 RequestToInfoMap::iterator it = request_to_info_.find(id); |
34 if (it != request_to_info_.end()) | 36 if (it != request_to_info_.end()) |
35 return it->second.get(); | 37 return it->second.get(); |
36 return NULL; | 38 return NULL; |
37 } | 39 } |
38 | 40 |
39 void DevToolsNetLogObserver::OnAddEntry(const net::NetLog::Entry& entry) { | 41 void DevToolsNetLogObserver::OnAddEntry(const net::NetLog::Entry& entry) { |
40 // The events that the Observer is interested in only occur on the IO thread. | 42 // The events that the Observer is interested in only occur on the IO thread. |
41 if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) | 43 if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) |
42 return; | 44 return; |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
186 | 188 |
187 // static | 189 // static |
188 void DevToolsNetLogObserver::PopulateResponseInfo( | 190 void DevToolsNetLogObserver::PopulateResponseInfo( |
189 net::URLRequest* request, | 191 net::URLRequest* request, |
190 ResourceResponse* response) { | 192 ResourceResponse* response) { |
191 const ResourceRequestInfoImpl* request_info = | 193 const ResourceRequestInfoImpl* request_info = |
192 ResourceRequestInfoImpl::ForRequest(request); | 194 ResourceRequestInfoImpl::ForRequest(request); |
193 if (!request_info || !request_info->ShouldReportRawHeaders()) | 195 if (!request_info || !request_info->ShouldReportRawHeaders()) |
194 return; | 196 return; |
195 | 197 |
196 uint32 source_id = request->net_log().source().id; | 198 uint32_t source_id = request->net_log().source().id; |
197 DevToolsNetLogObserver* dev_tools_net_log_observer = | 199 DevToolsNetLogObserver* dev_tools_net_log_observer = |
198 DevToolsNetLogObserver::GetInstance(); | 200 DevToolsNetLogObserver::GetInstance(); |
199 if (dev_tools_net_log_observer == NULL) | 201 if (dev_tools_net_log_observer == NULL) |
200 return; | 202 return; |
201 response->head.devtools_info = | 203 response->head.devtools_info = |
202 dev_tools_net_log_observer->GetResourceInfo(source_id); | 204 dev_tools_net_log_observer->GetResourceInfo(source_id); |
203 } | 205 } |
204 | 206 |
205 } // namespace content | 207 } // namespace content |
OLD | NEW |