Index: net/dns/host_resolver_impl.cc |
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc |
index bd6e43198dca94319fe32227f5bc89475634f90a..cd04c2c0c169e3aae692516e2829b0b04b647809 100644 |
--- a/net/dns/host_resolver_impl.cc |
+++ b/net/dns/host_resolver_impl.cc |
@@ -302,12 +302,12 @@ bool IsAllIPv4Loopback(const AddressList& addresses) { |
} |
// Creates NetLog parameters when the resolve failed. |
-base::Value* NetLogProcTaskFailedCallback( |
+scoped_ptr<base::Value> NetLogProcTaskFailedCallback( |
uint32 attempt_number, |
int net_error, |
int os_error, |
NetLogCaptureMode /* capture_mode */) { |
- base::DictionaryValue* dict = new base::DictionaryValue(); |
+ scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
if (attempt_number) |
dict->SetInteger("attempt_number", attempt_number); |
@@ -332,57 +332,62 @@ base::Value* NetLogProcTaskFailedCallback( |
#endif |
} |
- return dict; |
+ return dict.Pass(); |
} |
// Creates NetLog parameters when the DnsTask failed. |
-base::Value* NetLogDnsTaskFailedCallback(int net_error, |
- int dns_error, |
- NetLogCaptureMode /* capture_mode */) { |
- base::DictionaryValue* dict = new base::DictionaryValue(); |
+scoped_ptr<base::Value> NetLogDnsTaskFailedCallback( |
+ int net_error, |
+ int dns_error, |
+ NetLogCaptureMode /* capture_mode */) { |
+ scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
dict->SetInteger("net_error", net_error); |
if (dns_error) |
dict->SetInteger("dns_error", dns_error); |
- return dict; |
+ return dict.Pass(); |
}; |
// Creates NetLog parameters containing the information in a RequestInfo object, |
// along with the associated NetLog::Source. |
-base::Value* NetLogRequestInfoCallback(const HostResolver::RequestInfo* info, |
- NetLogCaptureMode /* capture_mode */) { |
- base::DictionaryValue* dict = new base::DictionaryValue(); |
+scoped_ptr<base::Value> NetLogRequestInfoCallback( |
+ const HostResolver::RequestInfo* info, |
+ NetLogCaptureMode /* capture_mode */) { |
+ scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
dict->SetString("host", info->host_port_pair().ToString()); |
dict->SetInteger("address_family", |
static_cast<int>(info->address_family())); |
dict->SetBoolean("allow_cached_response", info->allow_cached_response()); |
dict->SetBoolean("is_speculative", info->is_speculative()); |
- return dict; |
+ return dict.Pass(); |
} |
// Creates NetLog parameters for the creation of a HostResolverImpl::Job. |
-base::Value* NetLogJobCreationCallback(const NetLog::Source& source, |
- const std::string* host, |
- NetLogCaptureMode /* capture_mode */) { |
- base::DictionaryValue* dict = new base::DictionaryValue(); |
- source.AddToEventParameters(dict); |
+scoped_ptr<base::Value> NetLogJobCreationCallback( |
+ const NetLog::Source& source, |
+ const std::string* host, |
+ NetLogCaptureMode /* capture_mode */) { |
+ scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
+ source.AddToEventParameters(dict.release()); |
dict->SetString("host", *host); |
- return dict; |
+ return dict.Pass(); |
} |
// Creates NetLog parameters for HOST_RESOLVER_IMPL_JOB_ATTACH/DETACH events. |
-base::Value* NetLogJobAttachCallback(const NetLog::Source& source, |
- RequestPriority priority, |
- NetLogCaptureMode /* capture_mode */) { |
- base::DictionaryValue* dict = new base::DictionaryValue(); |
- source.AddToEventParameters(dict); |
+scoped_ptr<base::Value> NetLogJobAttachCallback( |
+ const NetLog::Source& source, |
+ RequestPriority priority, |
+ NetLogCaptureMode /* capture_mode */) { |
+ scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
+ source.AddToEventParameters(dict.release()); |
dict->SetString("priority", RequestPriorityToString(priority)); |
- return dict; |
+ return dict.Pass(); |
} |
// Creates NetLog parameters for the DNS_CONFIG_CHANGED event. |
-base::Value* NetLogDnsConfigCallback(const DnsConfig* config, |
- NetLogCaptureMode /* capture_mode */) { |
+scoped_ptr<base::Value> NetLogDnsConfigCallback( |
+ const DnsConfig* config, |
+ NetLogCaptureMode /* capture_mode */) { |
return config->ToValue(); |
} |
@@ -392,9 +397,8 @@ base::Value* NetLogDnsConfigCallback(const DnsConfig* config, |
// Logs when a request has just been started. |
void LogStartRequest(const BoundNetLog& source_net_log, |
const HostResolver::RequestInfo& info) { |
- source_net_log.BeginEvent( |
- NetLog::TYPE_HOST_RESOLVER_IMPL_REQUEST, |
- base::Bind(&NetLogRequestInfoCallback, &info)); |
+ source_net_log.BeginEvent(NetLog::TYPE_HOST_RESOLVER_IMPL_REQUEST, |
+ base::Bind(NetLogRequestInfoCallback, &info)); |
} |
// Logs when a request has just completed (before its callback is run). |
@@ -737,10 +741,8 @@ class HostResolverImpl::ProcTask |
NetLog::ParametersCallback net_log_callback; |
if (error != OK) { |
- net_log_callback = base::Bind(&NetLogProcTaskFailedCallback, |
- attempt_number, |
- error, |
- os_error); |
+ net_log_callback = base::Bind(NetLogProcTaskFailedCallback, |
+ attempt_number, error, os_error); |
} else { |
net_log_callback = NetLog::IntegerCallback("attempt_number", |
attempt_number); |
@@ -763,8 +765,8 @@ class HostResolverImpl::ProcTask |
} |
if (error != OK) { |
- net_log_callback = base::Bind(&NetLogProcTaskFailedCallback, |
- 0, error, os_error); |
+ net_log_callback = |
+ base::Bind(NetLogProcTaskFailedCallback, 0, error, os_error); |
} else { |
net_log_callback = results_.CreateNetLogCallback(); |
} |
@@ -1167,7 +1169,7 @@ class HostResolverImpl::DnsTask : public base::SupportsWeakPtr<DnsTask> { |
DCHECK_NE(OK, net_error); |
net_log_.EndEvent( |
NetLog::TYPE_HOST_RESOLVER_IMPL_DNS_TASK, |
- base::Bind(&NetLogDnsTaskFailedCallback, net_error, result)); |
+ base::Bind(NetLogDnsTaskFailedCallback, net_error, result)); |
delegate_->OnDnsTaskComplete(task_start_time_, net_error, AddressList(), |
base::TimeDelta()); |
} |
@@ -1225,11 +1227,9 @@ class HostResolverImpl::Job : public PrioritizedDispatcher::Job, |
NetLog::SOURCE_HOST_RESOLVER_IMPL_JOB)) { |
source_net_log.AddEvent(NetLog::TYPE_HOST_RESOLVER_IMPL_CREATE_JOB); |
- net_log_.BeginEvent( |
- NetLog::TYPE_HOST_RESOLVER_IMPL_JOB, |
- base::Bind(&NetLogJobCreationCallback, |
- source_net_log.source(), |
- &key_.hostname)); |
+ net_log_.BeginEvent(NetLog::TYPE_HOST_RESOLVER_IMPL_JOB, |
+ base::Bind(NetLogJobCreationCallback, |
+ source_net_log.source(), &key_.hostname)); |
} |
~Job() override { |
@@ -1298,11 +1298,9 @@ class HostResolverImpl::Job : public PrioritizedDispatcher::Job, |
NetLog::TYPE_HOST_RESOLVER_IMPL_JOB_ATTACH, |
net_log_.source().ToEventParametersCallback()); |
- net_log_.AddEvent( |
- NetLog::TYPE_HOST_RESOLVER_IMPL_JOB_REQUEST_ATTACH, |
- base::Bind(&NetLogJobAttachCallback, |
- req->source_net_log().source(), |
- priority())); |
+ net_log_.AddEvent(NetLog::TYPE_HOST_RESOLVER_IMPL_JOB_REQUEST_ATTACH, |
+ base::Bind(NetLogJobAttachCallback, |
+ req->source_net_log().source(), priority())); |
// TODO(szym): Check if this is still needed. |
if (!req->info().is_speculative()) { |
@@ -1328,9 +1326,8 @@ class HostResolverImpl::Job : public PrioritizedDispatcher::Job, |
priority_tracker_.Remove(req->priority()); |
net_log_.AddEvent(NetLog::TYPE_HOST_RESOLVER_IMPL_JOB_REQUEST_DETACH, |
- base::Bind(&NetLogJobAttachCallback, |
- req->source_net_log().source(), |
- priority())); |
+ base::Bind(NetLogJobAttachCallback, |
+ req->source_net_log().source(), priority())); |
if (num_active_requests() > 0) { |
UpdatePriority(); |
@@ -2022,7 +2019,7 @@ HostCache* HostResolverImpl::GetHostCache() { |
return cache_.get(); |
} |
-base::Value* HostResolverImpl::GetDnsConfigAsValue() const { |
+scoped_ptr<base::Value> HostResolverImpl::GetDnsConfigAsValue() const { |
// Check if async DNS is disabled. |
if (!dns_client_.get()) |
return NULL; |
@@ -2030,8 +2027,10 @@ base::Value* HostResolverImpl::GetDnsConfigAsValue() const { |
// Check if async DNS is enabled, but we currently have no configuration |
// for it. |
const DnsConfig* dns_config = dns_client_->GetConfig(); |
- if (dns_config == NULL) |
- return new base::DictionaryValue(); |
+ if (dns_config == NULL) { |
+ scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); |
+ return dict.Pass(); |
+ } |
return dns_config->ToValue(); |
} |
@@ -2303,9 +2302,8 @@ void HostResolverImpl::UpdateDNSConfig(bool config_changed) { |
NetworkChangeNotifier::GetDnsConfig(&dns_config); |
if (net_log_) { |
- net_log_->AddGlobalEntry( |
- NetLog::TYPE_DNS_CONFIG_CHANGED, |
- base::Bind(&NetLogDnsConfigCallback, &dns_config)); |
+ net_log_->AddGlobalEntry(NetLog::TYPE_DNS_CONFIG_CHANGED, |
+ base::Bind(NetLogDnsConfigCallback, &dns_config)); |
} |
// TODO(szym): Remove once http://crbug.com/137914 is resolved. |