Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Side by Side Diff: content/browser/loader/resource_dispatcher_host_impl.cc

Issue 2262183002: [NoStatePrefetch] Do not send responses to renderer in prefetch mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@prefetchProto
Patch Set: remove TODO Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 1552 matching lines...) Expand 10 before | Expand all | Expand 10 after
1563 handler.reset(new AsyncResourceHandler(request, this)); 1563 handler.reset(new AsyncResourceHandler(request, this));
1564 } 1564 }
1565 1565
1566 // The RedirectToFileResourceHandler depends on being next in the chain. 1566 // The RedirectToFileResourceHandler depends on being next in the chain.
1567 if (request_data.download_to_file) { 1567 if (request_data.download_to_file) {
1568 handler.reset( 1568 handler.reset(
1569 new RedirectToFileResourceHandler(std::move(handler), request)); 1569 new RedirectToFileResourceHandler(std::move(handler), request));
1570 } 1570 }
1571 } 1571 }
1572 1572
1573 bool start_detached = request_data.download_to_network_cache_only;
1574
1573 // Prefetches and <a ping> requests outlive their child process. 1575 // Prefetches and <a ping> requests outlive their child process.
1574 if (!sync_result && IsDetachableResourceType(request_data.resource_type)) { 1576 if (!sync_result && (start_detached ||
1575 handler.reset(new DetachableResourceHandler( 1577 IsDetachableResourceType(request_data.resource_type))) {
1576 request, 1578 std::unique_ptr<DetachableResourceHandler> detachable_handler =
1577 base::TimeDelta::FromMilliseconds(kDefaultDetachableCancelDelayMs), 1579 base::MakeUnique<DetachableResourceHandler>(
1578 std::move(handler))); 1580 request,
1581 base::TimeDelta::FromMilliseconds(kDefaultDetachableCancelDelayMs),
1582 std::move(handler));
1583 if (start_detached)
1584 detachable_handler->Detach();
1585 handler = std::move(detachable_handler);
1579 } 1586 }
1580 1587
1581 // PlzNavigate: If using --enable-browser-side-navigation, the 1588 // PlzNavigate: If using --enable-browser-side-navigation, the
1582 // CrossSiteResourceHandler is not needed. This codepath is not used for the 1589 // CrossSiteResourceHandler is not needed. This codepath is not used for the
1583 // actual navigation request, but only the subsequent blob URL load. This does 1590 // actual navigation request, but only the subsequent blob URL load. This does
1584 // not require request transfers. 1591 // not require request transfers.
1585 if (!IsBrowserSideNavigationEnabled()) { 1592 if (!IsBrowserSideNavigationEnabled()) {
1586 // Install a CrossSiteResourceHandler for all main frame requests. This will 1593 // Install a CrossSiteResourceHandler for all main frame requests. This will
1587 // check whether a transfer is required and, if so, pause for the UI thread 1594 // check whether a transfer is required and, if so, pause for the UI thread
1588 // to drive the transfer. 1595 // to drive the transfer.
(...skipping 1084 matching lines...) Expand 10 before | Expand all | Expand 10 after
2673 request_info->GetRouteID(), is_content_initiated, true, &throttles); 2680 request_info->GetRouteID(), is_content_initiated, true, &throttles);
2674 if (!throttles.empty()) { 2681 if (!throttles.empty()) {
2675 handler.reset(new ThrottlingResourceHandler(std::move(handler), request, 2682 handler.reset(new ThrottlingResourceHandler(std::move(handler), request,
2676 std::move(throttles))); 2683 std::move(throttles)));
2677 } 2684 }
2678 } 2685 }
2679 return handler; 2686 return handler;
2680 } 2687 }
2681 2688
2682 } // namespace content 2689 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/loader/resource_dispatcher_host_unittest.cc » ('j') | content/common/resource_request.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698