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 58dde3f078a096da4d5695ea67fac19a7f8a3563..8d95b05676d48c532b0586b62e44d54e87043459 100644 |
--- a/chrome/browser/net/chrome_fraudulent_certificate_reporter.cc |
+++ b/chrome/browser/net/chrome_fraudulent_certificate_reporter.cc |
@@ -13,7 +13,8 @@ |
#include "chrome/browser/net/cert_logger.pb.h" |
#include "net/base/load_flags.h" |
#include "net/base/ssl_info.h" |
-#include "net/base/upload_data.h" |
+#include "net/base/upload_bytes_element_reader.h" |
+#include "net/base/upload_data_stream.h" |
#include "net/base/x509_certificate.h" |
#include "net/url_request/url_request_context.h" |
@@ -34,9 +35,8 @@ ChromeFraudulentCertificateReporter::~ChromeFraudulentCertificateReporter() { |
STLDeleteElements(&inflight_requests_); |
} |
-static std::string BuildReport( |
- const std::string& hostname, |
- const net::SSLInfo& ssl_info) { |
+static std::vector<char> BuildReport(const std::string& hostname, |
+ const net::SSLInfo& ssl_info) { |
CertLoggerRequest request; |
base::Time now = base::Time::Now(); |
request.set_time_usec(now.ToInternalValue()); |
@@ -52,7 +52,7 @@ static std::string BuildReport( |
std::string out; |
request.SerializeToString(&out); |
- return out; |
+ return std::vector<char>(out.begin(), out.end()); |
} |
net::URLRequest* ChromeFraudulentCertificateReporter::CreateURLRequest( |
@@ -74,14 +74,14 @@ void ChromeFraudulentCertificateReporter::SendReport( |
return; |
} |
- std::string report = BuildReport(hostname, ssl_info); |
+ std::vector<char> report = BuildReport(hostname, ssl_info); |
net::URLRequest* url_request = CreateURLRequest(request_context_); |
url_request->set_method("POST"); |
- scoped_refptr<net::UploadData> upload_data(new net::UploadData()); |
- upload_data->AppendBytes(report.data(), report.size()); |
- url_request->set_upload(upload_data); |
+ ScopedVector<net::UploadElementReader> element_readers; |
+ element_readers.push_back(new net::UploadOwnedBytesElementReader(&report)); |
+ url_request->set_upload(new net::UploadDataStream(&element_readers, 0)); |
net::HttpRequestHeaders headers; |
headers.SetHeader(net::HttpRequestHeaders::kContentType, |