summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 15:02:18 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-04 15:02:18 +0000
commitb19537cdc317d6baab5183e111668ccc88c661f6 (patch)
treeff0677915cf56d7ca78150f6a279960c0c243907 /net/socket
parentd10f0a0460e6c508adf61e6825f390e6c346091f (diff)
downloadchromium_src-b19537cdc317d6baab5183e111668ccc88c661f6.zip
chromium_src-b19537cdc317d6baab5183e111668ccc88c661f6.tar.gz
chromium_src-b19537cdc317d6baab5183e111668ccc88c661f6.tar.bz2
Introduce a new CompletionCallback and TestCompletionCallback.
Start using it in DnsRRResolver. BUG=98719 TEST=none Review URL: http://codereview.chromium.org/8095026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103885 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r--net/socket/dns_cert_provenance_checker.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/socket/dns_cert_provenance_checker.cc b/net/socket/dns_cert_provenance_checker.cc
index 38e6bbd..04cbce8 100644
--- a/net/socket/dns_cert_provenance_checker.cc
+++ b/net/socket/dns_cert_provenance_checker.cc
@@ -18,6 +18,7 @@
#include "base/base64.h"
#include "base/basictypes.h"
+#include "base/bind.h"
#include "base/lazy_instance.h"
#include "base/memory/scoped_ptr.h"
#include "base/pickle.h"
@@ -96,9 +97,7 @@ class DnsCertProvenanceCheck : public base::NonThreadSafe {
dnsrr_resolver_(dnsrr_resolver),
delegate_(delegate),
der_certs_(der_certs.size()),
- handle_(DnsRRResolver::kInvalidHandle),
- ALLOW_THIS_IN_INITIALIZER_LIST(callback_(
- this, &DnsCertProvenanceCheck::ResolutionComplete)) {
+ handle_(DnsRRResolver::kInvalidHandle) {
for (size_t i = 0; i < der_certs.size(); i++)
der_certs_[i] = der_certs[i].as_string();
}
@@ -133,8 +132,10 @@ class DnsCertProvenanceCheck : public base::NonThreadSafe {
domain_.append(kBaseCertName);
handle_ = dnsrr_resolver_->Resolve(
- domain_, kDNS_TXT, 0 /* flags */, &callback_, &response_,
- 0 /* priority */, BoundNetLog());
+ domain_, kDNS_TXT, 0 /* flags */,
+ base::Bind(&DnsCertProvenanceCheck::ResolutionComplete,
+ base::Unretained(this)),
+ &response_, 0 /* priority */, BoundNetLog());
if (handle_ == DnsRRResolver::kInvalidHandle) {
LOG(ERROR) << "Failed to resolve " << domain_ << " for " << hostname_;
delete this;
@@ -200,7 +201,6 @@ class DnsCertProvenanceCheck : public base::NonThreadSafe {
std::vector<std::string> der_certs_;
RRResponse response_;
DnsRRResolver::Handle handle_;
- OldCompletionCallbackImpl<DnsCertProvenanceCheck> callback_;
};
SECKEYPublicKey* GetServerPubKey() {