summaryrefslogtreecommitdiffstats
path: root/chromium/net/url_request/url_request_redirect_job.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/url_request/url_request_redirect_job.cc')
-rw-r--r--chromium/net/url_request/url_request_redirect_job.cc20
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() {