Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: chrome/browser/extensions/api/gcd_private/privet_v3_context_getter.cc

Issue 1871713002: Convert //chrome/browser/extensions from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase and fix header Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/gcd_private/privet_v3_context_getter.h" 5 #include "chrome/browser/extensions/api/gcd_private/privet_v3_context_getter.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/ptr_util.h"
9 #include "chrome/common/chrome_content_client.h" 10 #include "chrome/common/chrome_content_client.h"
10 #include "net/base/net_errors.h" 11 #include "net/base/net_errors.h"
11 #include "net/cert/cert_verifier.h" 12 #include "net/cert/cert_verifier.h"
12 #include "net/cert/cert_verify_result.h" 13 #include "net/cert/cert_verify_result.h"
13 #include "net/cert/x509_certificate.h" 14 #include "net/cert/x509_certificate.h"
14 #include "net/url_request/url_request_context.h" 15 #include "net/url_request/url_request_context.h"
15 #include "net/url_request/url_request_context_builder.h" 16 #include "net/url_request/url_request_context_builder.h"
16 17
17 namespace extensions { 18 namespace extensions {
18 19
19 // Class verifies certificate by its fingerprint received using different 20 // Class verifies certificate by its fingerprint received using different
20 // channel. It's the only know information about device with self-signed 21 // channel. It's the only know information about device with self-signed
21 // certificate. 22 // certificate.
22 class PrivetV3ContextGetter::CertVerifier : public net::CertVerifier { 23 class PrivetV3ContextGetter::CertVerifier : public net::CertVerifier {
23 public: 24 public:
24 CertVerifier() {} 25 CertVerifier() {}
25 26
26 int Verify(net::X509Certificate* cert, 27 int Verify(net::X509Certificate* cert,
27 const std::string& hostname, 28 const std::string& hostname,
28 const std::string& ocsp_response, 29 const std::string& ocsp_response,
29 int flags, 30 int flags,
30 net::CRLSet* crl_set, 31 net::CRLSet* crl_set,
31 net::CertVerifyResult* verify_result, 32 net::CertVerifyResult* verify_result,
32 const net::CompletionCallback& callback, 33 const net::CompletionCallback& callback,
33 scoped_ptr<Request>* out_req, 34 std::unique_ptr<Request>* out_req,
34 const net::BoundNetLog& net_log) override { 35 const net::BoundNetLog& net_log) override {
35 verify_result->Reset(); 36 verify_result->Reset();
36 verify_result->verified_cert = cert; 37 verify_result->verified_cert = cert;
37 38
38 // Because no trust anchor checking is being performed, don't indicate that 39 // Because no trust anchor checking is being performed, don't indicate that
39 // it came from an OS-trusted root. 40 // it came from an OS-trusted root.
40 verify_result->is_issued_by_known_root = false; 41 verify_result->is_issued_by_known_root = false;
41 // Because no trust anchor checking is being performed, don't indicate that 42 // Because no trust anchor checking is being performed, don't indicate that
42 // it came from a supplemental trust anchor. 43 // it came from a supplemental trust anchor.
43 verify_result->is_issued_by_additional_trust_anchor = false; 44 verify_result->is_issued_by_additional_trust_anchor = false;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 102
102 void PrivetV3ContextGetter::InitOnNetThread() { 103 void PrivetV3ContextGetter::InitOnNetThread() {
103 DCHECK(net_task_runner_->BelongsToCurrentThread()); 104 DCHECK(net_task_runner_->BelongsToCurrentThread());
104 if (!context_) { 105 if (!context_) {
105 net::URLRequestContextBuilder builder; 106 net::URLRequestContextBuilder builder;
106 107
107 builder.set_proxy_service(net::ProxyService::CreateDirect()); 108 builder.set_proxy_service(net::ProxyService::CreateDirect());
108 builder.SetSpdyAndQuicEnabled(false, false); 109 builder.SetSpdyAndQuicEnabled(false, false);
109 builder.DisableHttpCache(); 110 builder.DisableHttpCache();
110 cert_verifier_ = new CertVerifier(); 111 cert_verifier_ = new CertVerifier();
111 builder.SetCertVerifier(make_scoped_ptr(cert_verifier_)); 112 builder.SetCertVerifier(base::WrapUnique(cert_verifier_));
112 builder.set_user_agent(::GetUserAgent()); 113 builder.set_user_agent(::GetUserAgent());
113 context_ = builder.Build(); 114 context_ = builder.Build();
114 } 115 }
115 } 116 }
116 117
117 void PrivetV3ContextGetter::AddPairedHost( 118 void PrivetV3ContextGetter::AddPairedHost(
118 const std::string& host, 119 const std::string& host,
119 const net::SHA256HashValue& certificate_fingerprint, 120 const net::SHA256HashValue& certificate_fingerprint,
120 const base::Closure& callback) { 121 const base::Closure& callback) {
121 net_task_runner_->PostTaskAndReply( 122 net_task_runner_->PostTaskAndReply(
122 FROM_HERE, 123 FROM_HERE,
123 base::Bind(&PrivetV3ContextGetter::AddPairedHostOnNetThread, 124 base::Bind(&PrivetV3ContextGetter::AddPairedHostOnNetThread,
124 weak_ptr_factory_.GetWeakPtr(), host, certificate_fingerprint), 125 weak_ptr_factory_.GetWeakPtr(), host, certificate_fingerprint),
125 callback); 126 callback);
126 } 127 }
127 128
128 void PrivetV3ContextGetter::AddPairedHostOnNetThread( 129 void PrivetV3ContextGetter::AddPairedHostOnNetThread(
129 const std::string& host, 130 const std::string& host,
130 const net::SHA256HashValue& certificate_fingerprint) { 131 const net::SHA256HashValue& certificate_fingerprint) {
131 InitOnNetThread(); 132 InitOnNetThread();
132 cert_verifier_->AddPairedHost(host, certificate_fingerprint); 133 cert_verifier_->AddPairedHost(host, certificate_fingerprint);
133 } 134 }
134 135
135 PrivetV3ContextGetter::~PrivetV3ContextGetter() { 136 PrivetV3ContextGetter::~PrivetV3ContextGetter() {
136 DCHECK(net_task_runner_->BelongsToCurrentThread()); 137 DCHECK(net_task_runner_->BelongsToCurrentThread());
137 } 138 }
138 139
139 } // namespace extensions 140 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698