| Index: net/url_request/url_request_unittest.h
|
| ===================================================================
|
| --- net/url_request/url_request_unittest.h (revision 12708)
|
| +++ net/url_request/url_request_unittest.h (working copy)
|
| @@ -69,11 +69,13 @@
|
| cancel_in_rd_(false),
|
| cancel_in_rd_pending_(false),
|
| quit_on_complete_(true),
|
| + allow_certificate_errors_(false),
|
| response_started_count_(0),
|
| received_bytes_count_(0),
|
| received_redirect_count_(0),
|
| received_data_before_response_(false),
|
| request_failed_(false),
|
| + have_certificate_errors_(false),
|
| buf_(new net::IOBuffer(kBufferSize)) {
|
| }
|
|
|
| @@ -158,10 +160,14 @@
|
| virtual void OnSSLCertificateError(URLRequest* request,
|
| int cert_error,
|
| net::X509Certificate* cert) {
|
| - // Ignore SSL errors, we test the server is started and shut it down by
|
| - // performing GETs, no security restrictions should apply as we always want
|
| - // these GETs to go through.
|
| - request->ContinueDespiteLastError();
|
| + // The caller can control whether it needs all SSL requests to go through,
|
| + // independent of any possible errors, or whether it wants SSL errors to
|
| + // cancel the request.
|
| + have_certificate_errors_ = true;
|
| + if (allow_certificate_errors_)
|
| + request->ContinueDespiteLastError();
|
| + else
|
| + request->Cancel();
|
| }
|
|
|
| void set_cancel_in_received_redirect(bool val) { cancel_in_rr_ = val; }
|
| @@ -171,6 +177,9 @@
|
| cancel_in_rd_pending_ = val;
|
| }
|
| void set_quit_on_complete(bool val) { quit_on_complete_ = val; }
|
| + void set_allow_certificate_errors(bool val) {
|
| + allow_certificate_errors_ = val;
|
| + }
|
| void set_username(const std::wstring& u) { username_ = u; }
|
| void set_password(const std::wstring& p) { password_ = p; }
|
|
|
| @@ -183,6 +192,7 @@
|
| return received_data_before_response_;
|
| }
|
| bool request_failed() const { return request_failed_; }
|
| + bool have_certificate_errors() const { return have_certificate_errors_; }
|
|
|
| private:
|
| static const int kBufferSize = 4096;
|
| @@ -192,6 +202,7 @@
|
| bool cancel_in_rd_;
|
| bool cancel_in_rd_pending_;
|
| bool quit_on_complete_;
|
| + bool allow_certificate_errors_;
|
|
|
| std::wstring username_;
|
| std::wstring password_;
|
| @@ -202,6 +213,7 @@
|
| int received_redirect_count_;
|
| bool received_data_before_response_;
|
| bool request_failed_;
|
| + bool have_certificate_errors_;
|
| std::string data_received_;
|
|
|
| // our read buffer
|
|
|