| 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,
|
|
|