Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(168)

Unified Diff: net/proxy/proxy_service.cc

Issue 1301333002: make ProxyService::CreateSystemProxyConfigService return scoped_ptrs NOT FOR REVIEW (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: non linux builds Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/proxy/proxy_service.cc
diff --git a/net/proxy/proxy_service.cc b/net/proxy/proxy_service.cc
index 73ba0eec2a2d2bc57ba1927800a4cdeea824e9c9..f9275165b2e05b47e4d5c218f731460dd4343908 100644
--- a/net/proxy/proxy_service.cc
+++ b/net/proxy/proxy_service.cc
@@ -917,7 +917,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()),
@@ -929,36 +929,36 @@ ProxyService::ProxyService(ProxyConfigService* config_service,
quick_check_enabled_(true) {
NetworkChangeNotifier::AddIPAddressObserver(this);
NetworkChangeNotifier::AddDNSObserver(this);
- ResetConfigService(config_service);
+ ResetConfigService(config_service.Pass());
}
// static
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 new ProxyService(
- proxy_config_service,
+ proxy_config_service.Pass(),
make_scoped_ptr(new ProxyResolverFactoryForSystem(num_pac_threads)),
net_log);
}
// static
ProxyService* ProxyService::CreateWithoutProxyResolver(
- ProxyConfigService* proxy_config_service,
+ scoped_ptr<ProxyConfigService> proxy_config_service,
NetLog* net_log) {
return new ProxyService(
- proxy_config_service,
+ proxy_config_service.Pass(),
make_scoped_ptr(new ProxyResolverFactoryForNullResolver), net_log);
}
@@ -966,8 +966,8 @@ ProxyService* ProxyService::CreateWithoutProxyResolver(
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)).Pass(), 0, NULL);
}
// static
@@ -985,7 +985,7 @@ ProxyService* ProxyService::CreateDirect() {
ProxyService* ProxyService::CreateDirectWithNetLog(NetLog* net_log) {
// Use direct connections.
return new ProxyService(
- new ProxyConfigServiceDirect,
+ make_scoped_ptr(new ProxyConfigServiceDirect).Pass(),
Randy Smith (Not in Mondays) 2015/08/24 21:58:19 As you can see from the line underneath, you don't
make_scoped_ptr(new ProxyResolverFactoryForNullResolver), net_log);
}
@@ -999,7 +999,7 @@ ProxyService* ProxyService::CreateFixedFromPacResult(
new ProxyConfigServiceFixed(ProxyConfig::CreateAutoDetect()));
return new ProxyService(
- proxy_config_service.release(),
+ proxy_config_service.Pass(),
make_scoped_ptr(new ProxyResolverFactoryForPacResult(pac_string)), NULL);
}
@@ -1473,7 +1473,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);
@@ -1482,7 +1482,7 @@ void ProxyService::ResetConfigService(
config_service_->RemoveObserver(this);
// Set the new configuration service.
- config_service_.reset(new_proxy_config_service);
+ config_service_ = new_proxy_config_service.Pass();
config_service_->AddObserver(this);
if (previous_state != STATE_NONE)
@@ -1496,23 +1496,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()).Pass();
#elif defined(OS_IOS)
- return new ProxyConfigServiceIOS();
+ return make_scoped_ptr(new ProxyConfigServiceIOS()).Pass();
#elif defined(OS_MACOSX)
- return new ProxyConfigServiceMac(io_task_runner);
+ return make_scoped_ptr(new ProxyConfigServiceMac(io_task_runner)).Pass();
#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).Pass();
#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
@@ -1527,14 +1527,16 @@ 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()))
+ .Pass();
#else
LOG(WARNING) << "Failed to choose a system proxy settings fetcher "
"for this platform.";
- return new ProxyConfigServiceDirect();
+ return make_scoped_ptr(new ProxyConfigServiceDirect()).Pass();
#endif
}

Powered by Google App Engine
This is Rietveld 408576698