Index: chrome/browser/net/chrome_fraudulent_certificate_reporter.cc |
diff --git a/chrome/browser/net/chrome_fraudulent_certificate_reporter.cc b/chrome/browser/net/chrome_fraudulent_certificate_reporter.cc |
index 89e8b48e67194e449469a6fc5fafa23fd7661809..19775ff6d99619cf0c63ba1ac3517c25ee0c60fb 100644 |
--- a/chrome/browser/net/chrome_fraudulent_certificate_reporter.cc |
+++ b/chrome/browser/net/chrome_fraudulent_certificate_reporter.cc |
@@ -12,6 +12,7 @@ |
#include "base/time/time.h" |
#include "chrome/browser/net/cert_logger.pb.h" |
#include "net/base/load_flags.h" |
+#include "net/base/request_priority.h" |
#include "net/base/upload_bytes_element_reader.h" |
#include "net/base/upload_data_stream.h" |
#include "net/cert/x509_certificate.h" |
@@ -55,12 +56,14 @@ static std::string BuildReport(const std::string& hostname, |
return out; |
} |
-net::URLRequest* ChromeFraudulentCertificateReporter::CreateURLRequest( |
- net::URLRequestContext* context) { |
- net::URLRequest* request = context->CreateRequest(upload_url_, this); |
+scoped_ptr<net::URLRequest> |
+ChromeFraudulentCertificateReporter::CreateURLRequest( |
+ net::URLRequestContext* context) { |
+ scoped_ptr<net::URLRequest> request = |
+ context->CreateRequest(upload_url_, net::DEFAULT_PRIORITY, this); |
request->set_load_flags(net::LOAD_DO_NOT_SEND_COOKIES | |
net::LOAD_DO_NOT_SAVE_COOKIES); |
- return request; |
+ return request.Pass(); |
} |
void ChromeFraudulentCertificateReporter::SendReport( |
@@ -76,7 +79,7 @@ void ChromeFraudulentCertificateReporter::SendReport( |
std::string report = BuildReport(hostname, ssl_info); |
- net::URLRequest* url_request = CreateURLRequest(request_context_); |
+ scoped_ptr<net::URLRequest> url_request = CreateURLRequest(request_context_); |
url_request->set_method("POST"); |
scoped_ptr<net::UploadElementReader> reader( |
@@ -89,15 +92,16 @@ void ChromeFraudulentCertificateReporter::SendReport( |
"x-application/chrome-fraudulent-cert-report"); |
url_request->SetExtraRequestHeaders(headers); |
- inflight_requests_.insert(url_request); |
- url_request->Start(); |
+ net::URLRequest* raw_url_request = url_request.get(); |
+ inflight_requests_.insert(url_request.release()); |
+ raw_url_request->Start(); |
} |
void ChromeFraudulentCertificateReporter::RequestComplete( |
net::URLRequest* request) { |
std::set<net::URLRequest*>::iterator i = inflight_requests_.find(request); |
DCHECK(i != inflight_requests_.end()); |
- delete *i; |
+ scoped_ptr<net::URLRequest> url_request(*i); |
inflight_requests_.erase(i); |
} |