Chromium Code Reviews| 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 <stddef.h> | 9 #include <stddef.h> |
| 10 | 10 |
| (...skipping 1553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1564 new_request.get(), filter_->service_worker_context(), blob_context, | 1564 new_request.get(), filter_->service_worker_context(), blob_context, |
| 1565 child_id, request_data.service_worker_provider_id, | 1565 child_id, request_data.service_worker_provider_id, |
| 1566 should_skip_service_worker, request_data.fetch_request_mode, | 1566 should_skip_service_worker, request_data.fetch_request_mode, |
| 1567 request_data.fetch_credentials_mode, request_data.fetch_redirect_mode, | 1567 request_data.fetch_credentials_mode, request_data.fetch_redirect_mode, |
| 1568 request_data.resource_type, request_data.fetch_request_context_type, | 1568 request_data.resource_type, request_data.fetch_request_context_type, |
| 1569 request_data.fetch_frame_type, request_data.request_body, | 1569 request_data.fetch_frame_type, request_data.request_body, |
| 1570 request_data.initiated_in_secure_context); | 1570 request_data.initiated_in_secure_context); |
| 1571 | 1571 |
| 1572 // Have the appcache associate its extra info with the request. | 1572 // Have the appcache associate its extra info with the request. |
| 1573 AppCacheInterceptor::SetExtraRequestInfo( | 1573 AppCacheInterceptor::SetExtraRequestInfo( |
| 1574 new_request.get(), filter_->appcache_service(), child_id, | 1574 new_request.get(), filter_->appcache_service(), child_id, -1, |
| 1575 request_data.appcache_host_id, request_data.resource_type, | 1575 request_data.appcache_host_id, request_data.resource_type, |
| 1576 request_data.should_reset_appcache); | 1576 request_data.should_reset_appcache); |
| 1577 | 1577 |
| 1578 std::unique_ptr<ResourceHandler> handler(CreateResourceHandler( | 1578 std::unique_ptr<ResourceHandler> handler(CreateResourceHandler( |
| 1579 new_request.get(), request_data, sync_result_handler, route_id, | 1579 new_request.get(), request_data, sync_result_handler, route_id, |
| 1580 process_type, child_id, resource_context, std::move(mojo_request), | 1580 process_type, child_id, resource_context, std::move(mojo_request), |
| 1581 std::move(url_loader_client))); | 1581 std::move(url_loader_client))); |
| 1582 | 1582 |
| 1583 if (handler) | 1583 if (handler) |
| 1584 BeginRequestInternal(std::move(new_request), std::move(handler)); | 1584 BeginRequestInternal(std::move(new_request), std::move(handler)); |
| (...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2257 | 2257 |
| 2258 RequestContextFrameType frame_type = | 2258 RequestContextFrameType frame_type = |
| 2259 info.is_main_frame ? REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL | 2259 info.is_main_frame ? REQUEST_CONTEXT_FRAME_TYPE_TOP_LEVEL |
| 2260 : REQUEST_CONTEXT_FRAME_TYPE_NESTED; | 2260 : REQUEST_CONTEXT_FRAME_TYPE_NESTED; |
| 2261 ServiceWorkerRequestHandler::InitializeForNavigation( | 2261 ServiceWorkerRequestHandler::InitializeForNavigation( |
| 2262 new_request.get(), service_worker_handle_core, blob_context, | 2262 new_request.get(), service_worker_handle_core, blob_context, |
| 2263 info.begin_params.skip_service_worker, resource_type, | 2263 info.begin_params.skip_service_worker, resource_type, |
| 2264 info.begin_params.request_context_type, frame_type, | 2264 info.begin_params.request_context_type, frame_type, |
| 2265 info.are_ancestors_secure, info.common_params.post_data); | 2265 info.are_ancestors_secure, info.common_params.post_data); |
| 2266 | 2266 |
| 2267 // TODO(davidben): Attach AppCacheInterceptor. | 2267 // Have the appcache associate its extra info with the request. |
| 2268 AppCacheInterceptor::SetExtraRequestInfo( | |
|
michaeln
2016/11/22 00:17:27
Can the techique we used for service worker work h
ananta
2016/11/23 04:05:14
Added a new function AppCacheInterceptor::SetExtra
| |
| 2269 new_request.get(), info.appcache_service, -1, info.frame_tree_node_id, | |
| 2270 info.appcache_host_id, resource_type, false); | |
| 2268 | 2271 |
| 2269 std::unique_ptr<ResourceHandler> handler( | 2272 std::unique_ptr<ResourceHandler> handler( |
| 2270 new NavigationResourceHandler(new_request.get(), loader, delegate())); | 2273 new NavigationResourceHandler(new_request.get(), loader, delegate())); |
| 2271 | 2274 |
| 2272 // TODO(davidben): Pass in the appropriate appcache_service. Also fix the | 2275 // TODO(davidben): Fix the dependency on child_id/route_id. Those are used |
| 2273 // dependency on child_id/route_id. Those are used by the ResourceScheduler; | 2276 // by the ResourceScheduler. currently it's a no-op. |
| 2274 // currently it's a no-op. | 2277 handler = AddStandardHandlers( |
| 2275 handler = | 2278 new_request.get(), resource_type, resource_context, |
| 2276 AddStandardHandlers(new_request.get(), resource_type, resource_context, | 2279 info.begin_params.request_context_type, info.appcache_service, |
| 2277 info.begin_params.request_context_type, | 2280 -1, // child_id |
| 2278 nullptr, // appcache_service | 2281 -1, // route_id |
| 2279 -1, // child_id | 2282 std::move(handler)); |
| 2280 -1, // route_id | |
| 2281 std::move(handler)); | |
| 2282 | 2283 |
| 2283 BeginRequestInternal(std::move(new_request), std::move(handler)); | 2284 BeginRequestInternal(std::move(new_request), std::move(handler)); |
| 2284 } | 2285 } |
| 2285 | 2286 |
| 2286 void ResourceDispatcherHostImpl::EnableStaleWhileRevalidateForTesting() { | 2287 void ResourceDispatcherHostImpl::EnableStaleWhileRevalidateForTesting() { |
| 2287 if (!async_revalidation_manager_) | 2288 if (!async_revalidation_manager_) |
| 2288 async_revalidation_manager_.reset(new AsyncRevalidationManager); | 2289 async_revalidation_manager_.reset(new AsyncRevalidationManager); |
| 2289 } | 2290 } |
| 2290 | 2291 |
| 2291 void ResourceDispatcherHostImpl::SetLoaderDelegate( | 2292 void ResourceDispatcherHostImpl::SetLoaderDelegate( |
| (...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2791 &throttles); | 2792 &throttles); |
| 2792 if (!throttles.empty()) { | 2793 if (!throttles.empty()) { |
| 2793 handler.reset(new ThrottlingResourceHandler(std::move(handler), request, | 2794 handler.reset(new ThrottlingResourceHandler(std::move(handler), request, |
| 2794 std::move(throttles))); | 2795 std::move(throttles))); |
| 2795 } | 2796 } |
| 2796 } | 2797 } |
| 2797 return handler; | 2798 return handler; |
| 2798 } | 2799 } |
| 2799 | 2800 |
| 2800 } // namespace content | 2801 } // namespace content |
| OLD | NEW |