diff options
Diffstat (limited to 'chromium/net/url_request/url_request_redirect_job.cc')
-rw-r--r-- | chromium/net/url_request/url_request_redirect_job.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/chromium/net/url_request/url_request_redirect_job.cc b/chromium/net/url_request/url_request_redirect_job.cc index 6454e36191c..818d4c397ec 100644 --- a/chromium/net/url_request/url_request_redirect_job.cc +++ b/chromium/net/url_request/url_request_redirect_job.cc @@ -6,21 +6,31 @@ #include "base/bind.h" #include "base/compiler_specific.h" +#include "base/logging.h" #include "base/message_loop/message_loop.h" #include "net/base/load_timing_info.h" +#include "net/base/net_log.h" +#include "net/url_request/url_request.h" namespace net { URLRequestRedirectJob::URLRequestRedirectJob(URLRequest* request, NetworkDelegate* network_delegate, const GURL& redirect_destination, - StatusCode http_status_code) + StatusCode http_status_code, + const std::string& redirect_reason) : URLRequestJob(request, network_delegate), redirect_destination_(redirect_destination), http_status_code_(http_status_code), - weak_factory_(this) {} + redirect_reason_(redirect_reason), + weak_factory_(this) { + DCHECK(!redirect_reason_.empty()); +} void URLRequestRedirectJob::Start() { + request()->net_log().AddEvent( + NetLog::TYPE_URL_REQUEST_REDIRECT_JOB, + NetLog::StringCallback("reason", &redirect_reason_)); base::MessageLoop::current()->PostTask( FROM_HERE, base::Bind(&URLRequestRedirectJob::StartAsync, @@ -34,6 +44,12 @@ bool URLRequestRedirectJob::IsRedirectResponse(GURL* location, return true; } +bool URLRequestRedirectJob::CopyFragmentOnRedirect(const GURL& location) const { + // The instantiators have full control over the desired redirection target, + // including the reference fragment part of the URL. + return false; +} + URLRequestRedirectJob::~URLRequestRedirectJob() {} void URLRequestRedirectJob::StartAsync() { |