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<>
|
||||
struct Converter<atom::VerifyRequest> {
|
||||
struct Converter<atom::VerifyRequestParams> {
|
||||
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
|
||||
atom::VerifyRequest val) {
|
||||
atom::VerifyRequestParams val) {
|
||||
mate::Dictionary dict = mate::Dictionary::CreateEmpty(isolate);
|
||||
dict.Set("hostname", val.hostname);
|
||||
dict.Set("certificate", val.certificate);
|
||||
|
|
|
@ -89,16 +89,23 @@ class CertVerifierRequest : public AtomCertVerifier::Request {
|
|||
|
||||
void OnDefaultVerificationDone(int error) {
|
||||
error_ = error;
|
||||
VerifyRequest request = {
|
||||
params_.hostname(),
|
||||
net::ErrorToString(error),
|
||||
params_.certificate()
|
||||
};
|
||||
std::unique_ptr<VerifyRequestParams> request(new VerifyRequestParams());
|
||||
request->hostname = params_.hostname();
|
||||
request->default_result = net::ErrorToString(error);
|
||||
request->certificate = params_.certificate();
|
||||
BrowserThread::PostTask(
|
||||
BrowserThread::UI, FROM_HERE,
|
||||
base::Bind(cert_verifier_->verify_proc(), request,
|
||||
base::Bind(&CertVerifierRequest::OnResponseInUI,
|
||||
weak_ptr_factory_.GetWeakPtr())));
|
||||
base::Bind(&CertVerifierRequest::OnVerifyRequestInUI,
|
||||
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) {
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace atom {
|
|||
class AtomCTDelegate;
|
||||
class CertVerifierRequest;
|
||||
|
||||
struct VerifyRequest {
|
||||
struct VerifyRequestParams {
|
||||
std::string hostname;
|
||||
std::string default_result;
|
||||
scoped_refptr<net::X509Certificate> certificate;
|
||||
|
@ -27,7 +27,7 @@ class AtomCertVerifier : public net::CertVerifier {
|
|||
explicit AtomCertVerifier(AtomCTDelegate* ct_delegate);
|
||||
virtual ~AtomCertVerifier();
|
||||
|
||||
using VerifyProc = base::Callback<void(VerifyRequest request,
|
||||
using VerifyProc = base::Callback<void(const VerifyRequestParams& request,
|
||||
const net::CompletionCallback&)>;
|
||||
|
||||
void SetVerifyProc(const VerifyProc& proc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue