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 |