| 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/loader/resource_request_info_impl.h" | 5 #include "content/browser/loader/resource_request_info_impl.h" |
| 6 | 6 |
| 7 #include "content/browser/frame_host/frame_tree_node.h" | 7 #include "content/browser/frame_host/frame_tree_node.h" |
| 8 #include "content/browser/loader/global_routing_id.h" | 8 #include "content/browser/loader/global_routing_id.h" |
| 9 #include "content/browser/loader/resource_message_filter.h" | 9 #include "content/browser/loader/resource_message_filter.h" |
| 10 #include "content/browser/web_contents/web_contents_impl.h" | 10 #include "content/browser/web_contents/web_contents_impl.h" |
| 11 #include "content/common/net/url_request_service_worker_data.h" | 11 #include "content/common/net/url_request_service_worker_data.h" |
| 12 #include "content/common/net/url_request_user_data.h" | 12 #include "content/common/net/url_request_user_data.h" |
| 13 #include "content/public/browser/browser_thread.h" | 13 #include "content/public/browser/browser_thread.h" |
| 14 #include "content/public/browser/global_request_id.h" | 14 #include "content/public/browser/global_request_id.h" |
| 15 #include "content/public/common/browser_side_navigation_policy.h" | 15 #include "content/public/common/browser_side_navigation_policy.h" |
| 16 #include "content/public/common/process_type.h" | 16 #include "content/public/common/process_type.h" |
| 17 #include "net/url_request/url_request.h" | 17 #include "net/url_request/url_request.h" |
| 18 | 18 |
| 19 namespace content { | 19 namespace content { |
| 20 | 20 |
| 21 namespace { | 21 namespace { |
| 22 | 22 |
| 23 WebContents* GetWebContentsFromFTNID(int frame_tree_node_id) { | |
| 24 DCHECK_CURRENTLY_ON(BrowserThread::UI); | |
| 25 FrameTreeNode* frame_tree_node = | |
| 26 FrameTreeNode::GloballyFindByID(frame_tree_node_id); | |
| 27 if (!frame_tree_node) | |
| 28 return nullptr; | |
| 29 | |
| 30 return WebContentsImpl::FromFrameTreeNode(frame_tree_node); | |
| 31 } | |
| 32 | |
| 33 int FrameTreeNodeIdFromHostIds(int render_process_host_id, | 23 int FrameTreeNodeIdFromHostIds(int render_process_host_id, |
| 34 int render_frame_host_id) { | 24 int render_frame_host_id) { |
| 35 RenderFrameHost* render_frame_host = | 25 RenderFrameHost* render_frame_host = |
| 36 RenderFrameHost::FromID(render_process_host_id, render_frame_host_id); | 26 RenderFrameHost::FromID(render_process_host_id, render_frame_host_id); |
| 37 return render_frame_host ? render_frame_host->GetFrameTreeNodeId() : -1; | 27 return render_frame_host ? render_frame_host->GetFrameTreeNodeId() : -1; |
| 38 } | 28 } |
| 39 | 29 |
| 40 } // namespace | 30 } // namespace |
| 41 | 31 |
| 42 // ---------------------------------------------------------------------------- | 32 // ---------------------------------------------------------------------------- |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 ResourceRequestInfoImpl::~ResourceRequestInfoImpl() { | 186 ResourceRequestInfoImpl::~ResourceRequestInfoImpl() { |
| 197 } | 187 } |
| 198 | 188 |
| 199 ResourceRequestInfo::WebContentsGetter | 189 ResourceRequestInfo::WebContentsGetter |
| 200 ResourceRequestInfoImpl::GetWebContentsGetterForRequest() const { | 190 ResourceRequestInfoImpl::GetWebContentsGetterForRequest() const { |
| 201 // PlzNavigate: navigation requests are created with a valid FrameTreeNode ID | 191 // PlzNavigate: navigation requests are created with a valid FrameTreeNode ID |
| 202 // and invalid RenderProcessHost and RenderFrameHost IDs. The FrameTreeNode | 192 // and invalid RenderProcessHost and RenderFrameHost IDs. The FrameTreeNode |
| 203 // ID should be used to access the WebContents. | 193 // ID should be used to access the WebContents. |
| 204 if (frame_tree_node_id_ != -1) { | 194 if (frame_tree_node_id_ != -1) { |
| 205 DCHECK(IsBrowserSideNavigationEnabled()); | 195 DCHECK(IsBrowserSideNavigationEnabled()); |
| 206 return base::Bind(&GetWebContentsFromFTNID, frame_tree_node_id_); | 196 return base::Bind(WebContents::FromFrameTreeNodeId, frame_tree_node_id_); |
| 207 } | 197 } |
| 208 | 198 |
| 209 // In other cases, use the RenderProcessHost ID + RenderFrameHost ID to get | 199 // In other cases, use the RenderProcessHost ID + RenderFrameHost ID to get |
| 210 // the WebContents. | 200 // the WebContents. |
| 211 int render_process_host_id = -1; | 201 int render_process_host_id = -1; |
| 212 int render_frame_host_id = -1; | 202 int render_frame_host_id = -1; |
| 213 if (!GetAssociatedRenderFrame(&render_process_host_id, | 203 if (!GetAssociatedRenderFrame(&render_process_host_id, |
| 214 &render_frame_host_id)) { | 204 &render_frame_host_id)) { |
| 215 NOTREACHED(); | 205 NOTREACHED(); |
| 216 } | 206 } |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 on_transfer_.Run(std::move(url_loader_request), | 359 on_transfer_.Run(std::move(url_loader_request), |
| 370 std::move(url_loader_client)); | 360 std::move(url_loader_client)); |
| 371 } | 361 } |
| 372 } | 362 } |
| 373 | 363 |
| 374 void ResourceRequestInfoImpl::ResetBody() { | 364 void ResourceRequestInfoImpl::ResetBody() { |
| 375 body_ = nullptr; | 365 body_ = nullptr; |
| 376 } | 366 } |
| 377 | 367 |
| 378 } // namespace content | 368 } // namespace content |
| OLD | NEW |