Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "net/test/url_request/ssl_certificate_error_job.h" | |
| 6 | |
| 7 #include "base/bind.h" | |
| 8 #include "base/strings/stringprintf.h" | |
| 9 #include "base/thread_task_runner_handle.h" | |
| 10 #include "net/url_request/url_request.h" | |
| 11 #include "net/url_request/url_request_filter.h" | |
| 12 #include "net/url_request/url_request_interceptor.h" | |
| 13 | |
| 14 namespace net { | |
| 15 | |
| 16 namespace { | |
| 17 | |
| 18 const char kMockHostname[] = "mock.ssl.cert.error.request"; | |
| 19 | |
| 20 class MockJobInterceptor : public URLRequestInterceptor { | |
| 21 public: | |
| 22 MockJobInterceptor() {} | |
| 23 ~MockJobInterceptor() override {} | |
| 24 | |
| 25 // URLRequestJobFactory::ProtocolHandler implementation: | |
| 26 URLRequestJob* MaybeInterceptRequest( | |
| 27 URLRequest* request, | |
| 28 NetworkDelegate* network_delegate) const override { | |
| 29 return new SSLCertificateErrorJob(request, network_delegate); | |
| 30 } | |
| 31 | |
| 32 private: | |
| 33 DISALLOW_COPY_AND_ASSIGN(MockJobInterceptor); | |
| 34 }; | |
| 35 | |
| 36 } // namespace | |
| 37 | |
| 38 SSLCertificateErrorJob::SSLCertificateErrorJob( | |
| 39 URLRequest* request, | |
| 40 NetworkDelegate* network_delegate) | |
| 41 : URLRequestTestJob(request, network_delegate, "", "", true), | |
| 42 weak_factory_(this) { | |
| 43 } | |
| 44 | |
| 45 void SSLCertificateErrorJob::Start() { | |
| 46 base::ThreadTaskRunnerHandle::Get()->PostTask( | |
| 47 FROM_HERE, base::Bind(&SSLCertificateErrorJob::NotifyError, | |
| 48 weak_factory_.GetWeakPtr())); | |
| 49 } | |
| 50 | |
| 51 void SSLCertificateErrorJob::AddUrlHandler() { | |
| 52 URLRequestFilter* filter = URLRequestFilter::GetInstance(); | |
| 53 filter->AddHostnameInterceptor( | |
| 54 "https", kMockHostname, | |
| 55 scoped_ptr<URLRequestInterceptor>(new MockJobInterceptor())); | |
| 56 } | |
| 57 | |
| 58 GURL SSLCertificateErrorJob::GetMockUrl() { | |
| 59 return GURL(base::StringPrintf("https://%s", kMockHostname)); | |
|
mmenke
2015/07/17 21:09:18
Should probably include <string>
xunjieli
2015/07/20 14:56:20
Done.
| |
| 60 } | |
| 61 | |
| 62 SSLCertificateErrorJob::~SSLCertificateErrorJob() { | |
| 63 } | |
| 64 | |
| 65 void SSLCertificateErrorJob::NotifyError() { | |
| 66 SSLInfo info; | |
|
mmenke
2015/07/17 21:09:18
Should include whatever header declares SSLInfo.
xunjieli
2015/07/20 14:56:20
Done.
| |
| 67 info.cert_status = CERT_STATUS_DATE_INVALID; | |
| 68 NotifySSLCertificateError(info, true); | |
| 69 } | |
| 70 | |
| 71 } // namespace net | |
| OLD | NEW |