Index: net/proxy/proxy_service.cc |
diff --git a/net/proxy/proxy_service.cc b/net/proxy/proxy_service.cc |
index 13b1e4bff3fa27f7e8e94194fab6d336c7f4e9c7..c24d31e03293cebc50130bda7d5b58864888b4d1 100644 |
--- a/net/proxy/proxy_service.cc |
+++ b/net/proxy/proxy_service.cc |
@@ -919,7 +919,7 @@ class ProxyService::PacRequest |
// ProxyService --------------------------------------------------------------- |
-ProxyService::ProxyService(ProxyConfigService* config_service, |
+ProxyService::ProxyService(scoped_ptr<ProxyConfigService> config_service, |
scoped_ptr<ProxyResolverFactory> resolver_factory, |
NetLog* net_log) |
: resolver_factory_(resolver_factory.Pass()), |
@@ -931,36 +931,36 @@ ProxyService::ProxyService(ProxyConfigService* config_service, |
quick_check_enabled_(true) { |
NetworkChangeNotifier::AddIPAddressObserver(this); |
NetworkChangeNotifier::AddDNSObserver(this); |
- ResetConfigService(config_service); |
+ ResetConfigService(config_service.Pass()); |
} |
// static |
scoped_ptr<ProxyService> ProxyService::CreateUsingSystemProxyResolver( |
- ProxyConfigService* proxy_config_service, |
+ scoped_ptr<ProxyConfigService> proxy_config_service, |
size_t num_pac_threads, |
NetLog* net_log) { |
DCHECK(proxy_config_service); |
if (!ProxyResolverFactoryForSystem::IsSupported()) { |
VLOG(1) << "PAC support disabled because there is no system implementation"; |
- return CreateWithoutProxyResolver(proxy_config_service, net_log); |
+ return CreateWithoutProxyResolver(proxy_config_service.Pass(), net_log); |
} |
if (num_pac_threads == 0) |
num_pac_threads = kDefaultNumPacThreads; |
return make_scoped_ptr(new ProxyService( |
- proxy_config_service, |
+ proxy_config_service.Pass(), |
make_scoped_ptr(new ProxyResolverFactoryForSystem(num_pac_threads)), |
net_log)); |
} |
// static |
scoped_ptr<ProxyService> ProxyService::CreateWithoutProxyResolver( |
- ProxyConfigService* proxy_config_service, |
+ scoped_ptr<ProxyConfigService> proxy_config_service, |
NetLog* net_log) { |
return make_scoped_ptr(new ProxyService( |
- proxy_config_service, |
+ proxy_config_service.Pass(), |
make_scoped_ptr(new ProxyResolverFactoryForNullResolver), net_log)); |
} |
@@ -968,8 +968,8 @@ scoped_ptr<ProxyService> ProxyService::CreateWithoutProxyResolver( |
scoped_ptr<ProxyService> ProxyService::CreateFixed(const ProxyConfig& pc) { |
// TODO(eroman): This isn't quite right, won't work if |pc| specifies |
// a PAC script. |
- return CreateUsingSystemProxyResolver(new ProxyConfigServiceFixed(pc), |
- 0, NULL); |
+ return CreateUsingSystemProxyResolver( |
+ make_scoped_ptr(new ProxyConfigServiceFixed(pc)), 0, NULL); |
} |
// static |
@@ -987,7 +987,7 @@ scoped_ptr<ProxyService> ProxyService::CreateDirect() { |
scoped_ptr<ProxyService> ProxyService::CreateDirectWithNetLog(NetLog* net_log) { |
// Use direct connections. |
return make_scoped_ptr(new ProxyService( |
- new ProxyConfigServiceDirect, |
+ make_scoped_ptr(new ProxyConfigServiceDirect), |
make_scoped_ptr(new ProxyResolverFactoryForNullResolver), net_log)); |
} |
@@ -1000,7 +1000,7 @@ scoped_ptr<ProxyService> ProxyService::CreateFixedFromPacResult( |
new ProxyConfigServiceFixed(ProxyConfig::CreateAutoDetect())); |
return make_scoped_ptr(new ProxyService( |
- proxy_config_service.release(), |
+ proxy_config_service.Pass(), |
make_scoped_ptr(new ProxyResolverFactoryForPacResult(pac_string)), NULL)); |
} |
@@ -1474,7 +1474,7 @@ ProxyService::State ProxyService::ResetProxyConfig(bool reset_fetched_config) { |
} |
void ProxyService::ResetConfigService( |
- ProxyConfigService* new_proxy_config_service) { |
+ scoped_ptr<ProxyConfigService> new_proxy_config_service) { |
DCHECK(CalledOnValidThread()); |
State previous_state = ResetProxyConfig(true); |
@@ -1483,7 +1483,7 @@ void ProxyService::ResetConfigService( |
config_service_->RemoveObserver(this); |
// Set the new configuration service. |
- config_service_.reset(new_proxy_config_service); |
+ config_service_.reset(new_proxy_config_service.release()); |
config_service_->AddObserver(this); |
if (previous_state != STATE_NONE) |
@@ -1497,23 +1497,23 @@ void ProxyService::ForceReloadProxyConfig() { |
} |
// static |
-ProxyConfigService* ProxyService::CreateSystemProxyConfigService( |
+scoped_ptr<ProxyConfigService> ProxyService::CreateSystemProxyConfigService( |
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner, |
const scoped_refptr<base::SingleThreadTaskRunner>& file_task_runner) { |
#if defined(OS_WIN) |
- return new ProxyConfigServiceWin(); |
+ return make_scoped_ptr(new ProxyConfigServiceWin()); |
#elif defined(OS_IOS) |
- return new ProxyConfigServiceIOS(); |
+ return make_scoped_ptr(new ProxyConfigServiceIOS()); |
#elif defined(OS_MACOSX) |
- return new ProxyConfigServiceMac(io_task_runner); |
+ return make_scoped_ptr(new ProxyConfigServiceMac(io_task_runner)); |
#elif defined(OS_CHROMEOS) |
LOG(ERROR) << "ProxyConfigService for ChromeOS should be created in " |
<< "profile_io_data.cc::CreateProxyConfigService and this should " |
<< "be used only for examples."; |
- return new UnsetProxyConfigService; |
+ return make_scoped_ptr(new UnsetProxyConfigService); |
#elif defined(OS_LINUX) |
- ProxyConfigServiceLinux* linux_config_service = |
- new ProxyConfigServiceLinux(); |
+ scoped_ptr<ProxyConfigServiceLinux> linux_config_service( |
+ new ProxyConfigServiceLinux()); |
// Assume we got called on the thread that runs the default glib |
// main loop, so the current thread is where we should be running |
@@ -1528,14 +1528,14 @@ ProxyConfigService* ProxyService::CreateSystemProxyConfigService( |
linux_config_service->SetupAndFetchInitialConfig( |
glib_thread_task_runner, io_task_runner, file_task_runner); |
- return linux_config_service; |
+ return linux_config_service.Pass(); |
#elif defined(OS_ANDROID) |
- return new ProxyConfigServiceAndroid(io_task_runner, |
- base::ThreadTaskRunnerHandle::Get()); |
+ return make_scoped_ptr(new ProxyConfigServiceAndroid( |
+ io_task_runner, base::ThreadTaskRunnerHandle::Get())); |
#else |
LOG(WARNING) << "Failed to choose a system proxy settings fetcher " |
"for this platform."; |
- return new ProxyConfigServiceDirect(); |
+ return make_scoped_ptr(new ProxyConfigServiceDirect()); |
#endif |
} |