Index: content/browser/loader/mime_type_resource_handler.cc |
diff --git a/content/browser/loader/mime_type_resource_handler.cc b/content/browser/loader/mime_type_resource_handler.cc |
index 59c2b5310660487b1a0ccdc7f9591da7ebcc14bc..be40d9f96de5d35a3c563bba4ca6dc76cee8037e 100644 |
--- a/content/browser/loader/mime_type_resource_handler.cc |
+++ b/content/browser/loader/mime_type_resource_handler.cc |
@@ -7,6 +7,7 @@ |
#include <vector> |
#include "base/bind.h" |
+#include "base/command_line.h" |
#include "base/location.h" |
#include "base/logging.h" |
#include "base/metrics/histogram.h" |
@@ -27,6 +28,7 @@ |
#include "content/public/browser/plugin_service.h" |
#include "content/public/browser/resource_context.h" |
#include "content/public/browser/resource_dispatcher_host_delegate.h" |
+#include "content/public/common/content_switches.h" |
#include "content/public/common/resource_response.h" |
#include "content/public/common/webplugininfo.h" |
#include "net/base/io_buffer.h" |
@@ -417,7 +419,11 @@ bool MimeTypeResourceHandler::UseAlternateNextHandler( |
// which does so is CrossSiteResourceHandler. Cross-site transitions should |
// not trigger when switching handlers. |
DCHECK(!defer_ignored); |
- if (payload_for_old_handler.empty()) { |
+ ResourceRequestInfoImpl* info = GetRequestInfo(); |
+ if (payload_for_old_handler.empty() || |
+ (base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableBrowserSideNavigation) && |
+ (info->IsDownload() || info->is_stream()))) { |
davidben
2015/09/01 18:22:56
I was actually thinking we should do:
if (!plz_na
|
net::URLRequestStatus status(net::URLRequestStatus::CANCELED, |
net::ERR_ABORTED); |
next_handler_->OnResponseCompleted(status, std::string(), &defer_ignored); |