Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "headless/public/util/generic_url_request_job.h" | 5 #include "headless/public/util/generic_url_request_job.h" |
| 6 | 6 |
| 7 #include <string.h> | 7 #include <string.h> |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 195 | 195 |
| 196 const net::URLRequest* GenericURLRequestJob::GetURLRequest() const { | 196 const net::URLRequest* GenericURLRequestJob::GetURLRequest() const { |
| 197 return request_; | 197 return request_; |
| 198 } | 198 } |
| 199 | 199 |
| 200 int GenericURLRequestJob::GetFrameTreeNodeId() const { | 200 int GenericURLRequestJob::GetFrameTreeNodeId() const { |
| 201 // URLRequestUserData will be set for all renderer initiated resource | 201 // URLRequestUserData will be set for all renderer initiated resource |
| 202 // requests, but not for browser side navigations. | 202 // requests, but not for browser side navigations. |
| 203 int render_process_id; | 203 int render_process_id; |
| 204 int render_frame_routing_id; | 204 int render_frame_routing_id; |
| 205 if (content::ResourceRequestInfo::GetRenderFrameForRequest( | 205 if (headless_browser_context_ && |
|
Sami
2017/05/05 16:57:13
Is this now always guaranteed to be non-null?
alex clarke (OOO till 29th)
2017/05/08 10:08:22
Yes it should be.
| |
| 206 content::ResourceRequestInfo::GetRenderFrameForRequest( | |
| 206 request_, &render_process_id, &render_frame_routing_id) && | 207 request_, &render_process_id, &render_frame_routing_id) && |
| 207 render_process_id != -1) { | 208 render_process_id != -1) { |
| 208 if (headless_browser_context_) { | 209 return static_cast<HeadlessBrowserContextImpl*>(headless_browser_context_) |
| 209 return static_cast<HeadlessBrowserContextImpl*>(headless_browser_context_) | 210 ->GetFrameTreeNodeId(render_process_id, render_frame_routing_id); |
| 210 ->GetFrameTreeNodeId(render_process_id, render_frame_routing_id); | |
| 211 } | |
| 212 // TODO(alexclarke): Remove this. | |
| 213 content::RenderFrameHost* render_frame_host = | |
| 214 content::RenderFrameHost::FromID(render_process_id, | |
| 215 render_frame_routing_id); | |
| 216 DCHECK(render_frame_host); | |
| 217 return render_frame_host->GetFrameTreeNodeId(); | |
| 218 } | 211 } |
| 219 // ResourceRequestInfo::GetFrameTreeNodeId is only set for browser side | 212 // ResourceRequestInfo::GetFrameTreeNodeId is only set for browser side |
| 220 // navigations. | 213 // navigations. |
| 221 if (request_resource_info_) | 214 if (request_resource_info_) |
| 222 return request_resource_info_->GetFrameTreeNodeId(); | 215 return request_resource_info_->GetFrameTreeNodeId(); |
| 223 | 216 |
| 224 // This should only happen in tests. | 217 // This should only happen in tests. |
| 225 return -1; | 218 return -1; |
| 226 } | 219 } |
| 227 | 220 |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 355 } | 348 } |
| 356 | 349 |
| 357 mock_response_ = std::move(mock_response); | 350 mock_response_ = std::move(mock_response); |
| 358 | 351 |
| 359 OnFetchCompleteExtractHeaders(request_->url(), | 352 OnFetchCompleteExtractHeaders(request_->url(), |
| 360 mock_response_->response_data.data(), | 353 mock_response_->response_data.data(), |
| 361 mock_response_->response_data.size()); | 354 mock_response_->response_data.size()); |
| 362 } | 355 } |
| 363 | 356 |
| 364 } // namespace headless | 357 } // namespace headless |
| OLD | NEW |