Use unique_ptr for passing VerifyRequestParams
This commit is contained in:
parent
70178adb6e
commit
1e581d6814
3 changed files with 19 additions and 12 deletions
|
@ -205,9 +205,9 @@ struct Converter<net::ProxyConfig> {
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct Converter<atom::VerifyRequest> {
|
struct Converter<atom::VerifyRequestParams> {
|
||||||
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
|
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
|
||||||
atom::VerifyRequest val) {
|
atom::VerifyRequestParams val) {
|
||||||
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
|
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
|
||||||
dict.Set("hostname", val.hostname);
|
dict.Set("hostname", val.hostname);
|
||||||
dict.Set("certificate", val.certificate);
|
dict.Set("certificate", val.certificate);
|
||||||
|
|
|
@ -89,16 +89,23 @@ class CertVerifierRequest : public AtomCertVerifier::Request {
|
||||||
|
|
||||||
void OnDefaultVerificationDone(int error) {
|
void OnDefaultVerificationDone(int error) {
|
||||||
error_ = error;
|
error_ = error;
|
||||||
VerifyRequest request = {
|
std::unique_ptr<VerifyRequestParams> request(new VerifyRequestParams());
|
||||||
params_.hostname(),
|
request->hostname = params_.hostname();
|
||||||
net::ErrorToString(error),
|
request->default_result = net::ErrorToString(error);
|
||||||
params_.certificate()
|
request->certificate = params_.certificate();
|
||||||
};
|
|
||||||
BrowserThread::PostTask(
|
BrowserThread::PostTask(
|
||||||
BrowserThread::UI, FROM_HERE,
|
BrowserThread::UI, FROM_HERE,
|
||||||
base::Bind(cert_verifier_->verify_proc(), request,
|
base::Bind(&CertVerifierRequest::OnVerifyRequestInUI,
|
||||||
base::Bind(&CertVerifierRequest::OnResponseInUI,
|
weak_ptr_factory_.GetWeakPtr(),
|
||||||
weak_ptr_factory_.GetWeakPtr())));
|
cert_verifier_->verify_proc(),
|
||||||
|
base::Passed(&request)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void OnVerifyRequestInUI(const AtomCertVerifier::VerifyProc& verify_proc,
|
||||||
|
std::unique_ptr<VerifyRequestParams> request) {
|
||||||
|
verify_proc.Run(*(request.get()),
|
||||||
|
base::Bind(&CertVerifierRequest::OnResponseInUI,
|
||||||
|
weak_ptr_factory_.GetWeakPtr()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnResponseInUI(int result) {
|
void OnResponseInUI(int result) {
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace atom {
|
||||||
class AtomCTDelegate;
|
class AtomCTDelegate;
|
||||||
class CertVerifierRequest;
|
class CertVerifierRequest;
|
||||||
|
|
||||||
struct VerifyRequest {
|
struct VerifyRequestParams {
|
||||||
std::string hostname;
|
std::string hostname;
|
||||||
std::string default_result;
|
std::string default_result;
|
||||||
scoped_refptr<net::X509Certificate> certificate;
|
scoped_refptr<net::X509Certificate> certificate;
|
||||||
|
@ -27,7 +27,7 @@ class AtomCertVerifier : public net::CertVerifier {
|
||||||
explicit AtomCertVerifier(AtomCTDelegate* ct_delegate);
|
explicit AtomCertVerifier(AtomCTDelegate* ct_delegate);
|
||||||
virtual ~AtomCertVerifier();
|
virtual ~AtomCertVerifier();
|
||||||
|
|
||||||
using VerifyProc = base::Callback<void(VerifyRequest request,
|
using VerifyProc = base::Callback<void(const VerifyRequestParams& request,
|
||||||
const net::CompletionCallback&)>;
|
const net::CompletionCallback&)>;
|
||||||
|
|
||||||
void SetVerifyProc(const VerifyProc& proc);
|
void SetVerifyProc(const VerifyProc& proc);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue