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/renderer_host/resource_request_info_impl.h" | 5 #include "content/browser/renderer_host/resource_request_info_impl.h" |
6 | 6 |
7 #include "content/browser/renderer_host/resource_handler.h" | 7 #include "content/browser/renderer_host/resource_handler.h" |
8 #include "content/browser/ssl/ssl_client_auth_handler.h" | 8 #include "content/browser/ssl/ssl_client_auth_handler.h" |
9 #include "content/browser/worker_host/worker_service_impl.h" | 9 #include "content/browser/worker_host/worker_service_impl.h" |
| 10 #include "content/common/net/url_request_user_data.h" |
10 #include "content/public/browser/resource_dispatcher_host_login_delegate.h" | 11 #include "content/public/browser/resource_dispatcher_host_login_delegate.h" |
11 #include "net/url_request/url_request.h" | 12 #include "net/url_request/url_request.h" |
12 #include "webkit/blob/blob_data.h" | 13 #include "webkit/blob/blob_data.h" |
13 | 14 |
14 namespace content { | 15 namespace content { |
15 | 16 |
16 // static | 17 // static |
17 const ResourceRequestInfo* ResourceRequestInfo::ForRequest( | 18 const ResourceRequestInfo* ResourceRequestInfo::ForRequest( |
18 const net::URLRequest* request) { | 19 const net::URLRequest* request) { |
19 return static_cast<const ResourceRequestInfoImpl*>( | 20 return static_cast<const ResourceRequestInfoImpl*>( |
(...skipping 20 matching lines...) Expand all Loading... |
40 PAGE_TRANSITION_LINK, // transition_type | 41 PAGE_TRANSITION_LINK, // transition_type |
41 0, // upload_size | 42 0, // upload_size |
42 false, // is_download | 43 false, // is_download |
43 true, // allow_download | 44 true, // allow_download |
44 false, // has_user_gesture | 45 false, // has_user_gesture |
45 WebKit::WebReferrerPolicyDefault, // referrer_policy | 46 WebKit::WebReferrerPolicyDefault, // referrer_policy |
46 context); // context | 47 context); // context |
47 info->AssociateWithRequest(request); | 48 info->AssociateWithRequest(request); |
48 } | 49 } |
49 | 50 |
| 51 // static |
| 52 bool ResourceRequestInfo::GetRenderViewForRequest( |
| 53 const net::URLRequest* request, |
| 54 int* render_process_id, |
| 55 int* render_view_id) { |
| 56 URLRequestUserData* user_data = static_cast<URLRequestUserData*>( |
| 57 request->GetUserData(URLRequestUserData::kUserDataKey)); |
| 58 if (!user_data) |
| 59 return false; |
| 60 *render_process_id = user_data->render_process_id(); |
| 61 *render_view_id = user_data->render_view_id(); |
| 62 return true; |
| 63 } |
| 64 |
| 65 |
50 ResourceRequestInfoImpl::ResourceRequestInfoImpl( | 66 ResourceRequestInfoImpl::ResourceRequestInfoImpl( |
51 ResourceHandler* handler, | 67 ResourceHandler* handler, |
52 ProcessType process_type, | 68 ProcessType process_type, |
53 int child_id, | 69 int child_id, |
54 int route_id, | 70 int route_id, |
55 int origin_pid, | 71 int origin_pid, |
56 int request_id, | 72 int request_id, |
57 bool is_main_frame, | 73 bool is_main_frame, |
58 int64 frame_id, | 74 int64 frame_id, |
59 bool parent_is_main_frame, | 75 bool parent_is_main_frame, |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 } | 180 } |
165 } else { | 181 } else { |
166 *render_process_id = child_id_; | 182 *render_process_id = child_id_; |
167 *render_view_id = route_id_; | 183 *render_view_id = route_id_; |
168 } | 184 } |
169 return true; | 185 return true; |
170 } | 186 } |
171 | 187 |
172 void ResourceRequestInfoImpl::AssociateWithRequest(net::URLRequest* request) { | 188 void ResourceRequestInfoImpl::AssociateWithRequest(net::URLRequest* request) { |
173 request->SetUserData(NULL, this); | 189 request->SetUserData(NULL, this); |
| 190 int render_process_id; |
| 191 int render_view_id; |
| 192 if (GetAssociatedRenderView(&render_process_id, &render_view_id)) { |
| 193 request->SetUserData( |
| 194 URLRequestUserData::kUserDataKey, |
| 195 new URLRequestUserData(render_process_id, render_view_id)); |
| 196 } |
174 } | 197 } |
175 | 198 |
176 void ResourceRequestInfoImpl::set_resource_handler( | 199 void ResourceRequestInfoImpl::set_resource_handler( |
177 ResourceHandler* resource_handler) { | 200 ResourceHandler* resource_handler) { |
178 resource_handler_ = resource_handler; | 201 resource_handler_ = resource_handler; |
179 } | 202 } |
180 | 203 |
181 void ResourceRequestInfoImpl::set_login_delegate( | 204 void ResourceRequestInfoImpl::set_login_delegate( |
182 ResourceDispatcherHostLoginDelegate* ld) { | 205 ResourceDispatcherHostLoginDelegate* ld) { |
183 login_delegate_ = ld; | 206 login_delegate_ = ld; |
184 } | 207 } |
185 | 208 |
186 void ResourceRequestInfoImpl::set_ssl_client_auth_handler( | 209 void ResourceRequestInfoImpl::set_ssl_client_auth_handler( |
187 SSLClientAuthHandler* s) { | 210 SSLClientAuthHandler* s) { |
188 ssl_client_auth_handler_ = s; | 211 ssl_client_auth_handler_ = s; |
189 } | 212 } |
190 | 213 |
191 void ResourceRequestInfoImpl::set_requested_blob_data( | 214 void ResourceRequestInfoImpl::set_requested_blob_data( |
192 webkit_blob::BlobData* data) { | 215 webkit_blob::BlobData* data) { |
193 requested_blob_data_ = data; | 216 requested_blob_data_ = data; |
194 } | 217 } |
195 | 218 |
196 } // namespace content | 219 } // namespace content |
OLD | NEW |