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 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading | 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading |
6 | 6 |
7 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <set> | 10 #include <set> |
(...skipping 1263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1274 -1, // frame_tree_node_id | 1274 -1, // frame_tree_node_id |
1275 request_data.origin_pid, | 1275 request_data.origin_pid, |
1276 request_id, | 1276 request_id, |
1277 request_data.render_frame_id, | 1277 request_data.render_frame_id, |
1278 request_data.is_main_frame, | 1278 request_data.is_main_frame, |
1279 request_data.parent_is_main_frame, | 1279 request_data.parent_is_main_frame, |
1280 request_data.parent_render_frame_id, | 1280 request_data.parent_render_frame_id, |
1281 request_data.resource_type, | 1281 request_data.resource_type, |
1282 request_data.transition_type, | 1282 request_data.transition_type, |
1283 request_data.should_replace_current_entry, | 1283 request_data.should_replace_current_entry, |
| 1284 request_data.fetch_redirect_mode, |
1284 false, // is download | 1285 false, // is download |
1285 false, // is stream | 1286 false, // is stream |
1286 allow_download, | 1287 allow_download, |
1287 request_data.has_user_gesture, | 1288 request_data.has_user_gesture, |
1288 request_data.enable_load_timing, | 1289 request_data.enable_load_timing, |
1289 request_data.enable_upload_progress, | 1290 request_data.enable_upload_progress, |
1290 do_not_prompt_for_login, | 1291 do_not_prompt_for_login, |
1291 request_data.referrer_policy, | 1292 request_data.referrer_policy, |
1292 request_data.visiblity_state, | 1293 request_data.visiblity_state, |
1293 resource_context, filter_->GetWeakPtr(), | 1294 resource_context, filter_->GetWeakPtr(), |
1294 !is_sync_load); | 1295 !is_sync_load); |
1295 // Request takes ownership. | 1296 // Request takes ownership. |
1296 extra_info->AssociateWithRequest(new_request.get()); | 1297 extra_info->AssociateWithRequest(new_request.get()); |
1297 | 1298 |
1298 if (new_request->url().SchemeIs(url::kBlobScheme)) { | 1299 if (new_request->url().SchemeIs(url::kBlobScheme)) { |
1299 // Hang on to a reference to ensure the blob is not released prior | 1300 // Hang on to a reference to ensure the blob is not released prior |
1300 // to the job being started. | 1301 // to the job being started. |
1301 storage::BlobProtocolHandler::SetRequestedBlobDataHandle( | 1302 storage::BlobProtocolHandler::SetRequestedBlobDataHandle( |
1302 new_request.get(), | 1303 new_request.get(), |
1303 filter_->blob_storage_context()->context()->GetBlobDataFromPublicURL( | 1304 filter_->blob_storage_context()->context()->GetBlobDataFromPublicURL( |
1304 new_request->url())); | 1305 new_request->url())); |
1305 } | 1306 } |
1306 | 1307 |
1307 // Initialize the service worker handler for the request. We don't use | 1308 // Initialize the service worker handler for the request. We don't use |
1308 // ServiceWorker for synchronous loads to avoid renderer deadlocks. | 1309 // ServiceWorker for synchronous loads to avoid renderer deadlocks. |
1309 ServiceWorkerRequestHandler::InitializeHandler( | 1310 ServiceWorkerRequestHandler::InitializeHandler( |
1310 new_request.get(), | 1311 new_request.get(), filter_->service_worker_context(), blob_context, |
1311 filter_->service_worker_context(), | 1312 child_id, request_data.service_worker_provider_id, |
1312 blob_context, | |
1313 child_id, | |
1314 request_data.service_worker_provider_id, | |
1315 request_data.skip_service_worker || is_sync_load, | 1313 request_data.skip_service_worker || is_sync_load, |
1316 request_data.fetch_request_mode, | 1314 request_data.fetch_request_mode, request_data.fetch_credentials_mode, |
1317 request_data.fetch_credentials_mode, | 1315 request_data.fetch_redirect_mode, request_data.resource_type, |
1318 request_data.resource_type, | 1316 request_data.fetch_request_context_type, request_data.fetch_frame_type, |
1319 request_data.fetch_request_context_type, | |
1320 request_data.fetch_frame_type, | |
1321 request_data.request_body); | 1317 request_data.request_body); |
1322 | 1318 |
1323 // Have the appcache associate its extra info with the request. | 1319 // Have the appcache associate its extra info with the request. |
1324 AppCacheInterceptor::SetExtraRequestInfo( | 1320 AppCacheInterceptor::SetExtraRequestInfo( |
1325 new_request.get(), filter_->appcache_service(), child_id, | 1321 new_request.get(), filter_->appcache_service(), child_id, |
1326 request_data.appcache_host_id, request_data.resource_type, | 1322 request_data.appcache_host_id, request_data.resource_type, |
1327 request_data.should_reset_appcache); | 1323 request_data.should_reset_appcache); |
1328 | 1324 |
1329 scoped_ptr<ResourceHandler> handler( | 1325 scoped_ptr<ResourceHandler> handler( |
1330 CreateResourceHandler( | 1326 CreateResourceHandler( |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1533 -1, // frame_tree_node_id | 1529 -1, // frame_tree_node_id |
1534 0, | 1530 0, |
1535 request_id_, | 1531 request_id_, |
1536 MSG_ROUTING_NONE, // render_frame_id | 1532 MSG_ROUTING_NONE, // render_frame_id |
1537 false, // is_main_frame | 1533 false, // is_main_frame |
1538 false, // parent_is_main_frame | 1534 false, // parent_is_main_frame |
1539 -1, // parent_render_frame_id | 1535 -1, // parent_render_frame_id |
1540 RESOURCE_TYPE_SUB_RESOURCE, | 1536 RESOURCE_TYPE_SUB_RESOURCE, |
1541 ui::PAGE_TRANSITION_LINK, | 1537 ui::PAGE_TRANSITION_LINK, |
1542 false, // should_replace_current_entry | 1538 false, // should_replace_current_entry |
| 1539 FETCH_REDIRECT_MODE_FOLLOW, |
1543 download, // is_download | 1540 download, // is_download |
1544 false, // is_stream | 1541 false, // is_stream |
1545 download, // allow_download | 1542 download, // allow_download |
1546 false, // has_user_gesture | 1543 false, // has_user_gesture |
1547 false, // enable_load_timing | 1544 false, // enable_load_timing |
1548 false, // enable_upload_progress | 1545 false, // enable_upload_progress |
1549 false, // do_not_prompt_for_login | 1546 false, // do_not_prompt_for_login |
1550 blink::WebReferrerPolicyDefault, | 1547 blink::WebReferrerPolicyDefault, |
1551 blink::WebPageVisibilityStateVisible, | 1548 blink::WebPageVisibilityStateVisible, |
1552 context, | 1549 context, |
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1973 request_id_, | 1970 request_id_, |
1974 -1, // request_data.render_frame_id, | 1971 -1, // request_data.render_frame_id, |
1975 info.is_main_frame, | 1972 info.is_main_frame, |
1976 info.parent_is_main_frame, | 1973 info.parent_is_main_frame, |
1977 -1, // request_data.parent_render_frame_id, | 1974 -1, // request_data.parent_render_frame_id, |
1978 resource_type, | 1975 resource_type, |
1979 info.common_params.transition, | 1976 info.common_params.transition, |
1980 // should_replace_current_entry. This was only maintained at layer for | 1977 // should_replace_current_entry. This was only maintained at layer for |
1981 // request transfers and isn't needed for browser-side navigations. | 1978 // request transfers and isn't needed for browser-side navigations. |
1982 false, | 1979 false, |
| 1980 FETCH_REDIRECT_MODE_FOLLOW, |
1983 false, // is download | 1981 false, // is download |
1984 false, // is stream | 1982 false, // is stream |
1985 info.common_params.allow_download, | 1983 info.common_params.allow_download, |
1986 info.begin_params.has_user_gesture, | 1984 info.begin_params.has_user_gesture, |
1987 true, // enable_load_timing | 1985 true, // enable_load_timing |
1988 false, // enable_upload_progress | 1986 false, // enable_upload_progress |
1989 false, // do_not_prompt_for_login | 1987 false, // do_not_prompt_for_login |
1990 info.common_params.referrer.policy, | 1988 info.common_params.referrer.policy, |
1991 // TODO(davidben): This is only used for prerenders. Replace | 1989 // TODO(davidben): This is only used for prerenders. Replace |
1992 // is_showing with something for that. Or maybe it just comes from the | 1990 // is_showing with something for that. Or maybe it just comes from the |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2354 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) | 2352 if ((load_flags & net::LOAD_REPORT_RAW_HEADERS) |
2355 && !policy->CanReadRawCookies(child_id)) { | 2353 && !policy->CanReadRawCookies(child_id)) { |
2356 VLOG(1) << "Denied unauthorized request for raw headers"; | 2354 VLOG(1) << "Denied unauthorized request for raw headers"; |
2357 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; | 2355 load_flags &= ~net::LOAD_REPORT_RAW_HEADERS; |
2358 } | 2356 } |
2359 | 2357 |
2360 return load_flags; | 2358 return load_flags; |
2361 } | 2359 } |
2362 | 2360 |
2363 } // namespace content | 2361 } // namespace content |
OLD | NEW |