From 54a4e4044b90ab88d59af098586cd82bc1cfac8e Mon Sep 17 00:00:00 2001 From: rob Date: Mon, 20 Oct 2014 13:52:51 -0700 Subject: [PATCH] Override IsRedirectResponse in extension protocols The default URLFileRequestJob::IsRedirectResponse implementation is incorrect for URLRequestExtensionJob (chrome-extension:-scheme) and ExtensionResourcesJob (chrome-extension-resource:-scheme). BUG=388852,424961 Review URL: https://codereview.chromium.org/650453003 Cr-Commit-Position: refs/heads/master@{#300329} --- chrome/browser/extensions/extension_resource_protocols.cc | 8 ++++++++ extensions/browser/extension_protocols.cc | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/chrome/browser/extensions/extension_resource_protocols.cc b/chrome/browser/extensions/extension_resource_protocols.cc index 965f3dee0c7a..f719adb3b40b 100644 --- a/chrome/browser/extensions/extension_resource_protocols.cc +++ b/chrome/browser/extensions/extension_resource_protocols.cc @@ -35,6 +35,9 @@ class ExtensionResourcesJob : public net::URLRequestFileJob { virtual void Start() override; + virtual bool IsRedirectResponse(GURL* location, + int* http_status_code) override; + protected: virtual ~ExtensionResourcesJob() {} @@ -57,6 +60,11 @@ void ExtensionResourcesJob::Start() { weak_ptr_factory_.GetWeakPtr())); } +bool ExtensionResourcesJob::IsRedirectResponse(GURL* location, + int* http_status_code) { + return false; +} + void ExtensionResourcesJob::ResolvePathDone( const base::FilePath& resolved_path) { DCHECK(thread_checker_.CalledOnValidThread()); diff --git a/extensions/browser/extension_protocols.cc b/extensions/browser/extension_protocols.cc index f91ab1166559..e781915ff1b8 100644 --- a/extensions/browser/extension_protocols.cc +++ b/extensions/browser/extension_protocols.cc @@ -220,6 +220,11 @@ class URLRequestExtensionJob : public net::URLRequestFileJob { DCHECK(posted); } + virtual bool IsRedirectResponse(GURL* location, + int* http_status_code) override { + return false; + } + virtual void SetExtraRequestHeaders( const net::HttpRequestHeaders& headers) override { // TODO(asargent) - we'll need to add proper support for range headers. -- 2.11.4.GIT