| Index: chrome/browser/net/proxy_service_factory.cc
|
| diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/proxy_service_factory.cc
|
| index 55209ab6dae0ac70c1b84728ae57802eea537d43..f7031e73e132b905eedb3073c08ad2672da88b21 100644
|
| --- a/chrome/browser/net/proxy_service_factory.cc
|
| +++ b/chrome/browser/net/proxy_service_factory.cc
|
| @@ -57,8 +57,8 @@ bool EnableOutOfProcessV8Pac(const base::CommandLine& command_line) {
|
| } // namespace
|
|
|
| // static
|
| -net::ProxyConfigService* ProxyServiceFactory::CreateProxyConfigService(
|
| - PrefProxyConfigTracker* tracker) {
|
| +scoped_ptr<net::ProxyConfigService>
|
| +ProxyServiceFactory::CreateProxyConfigService(PrefProxyConfigTracker* tracker) {
|
| // The linux gconf-based proxy settings getter relies on being initialized
|
| // from the UI thread.
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| @@ -77,13 +77,12 @@ net::ProxyConfigService* ProxyServiceFactory::CreateProxyConfigService(
|
| // TODO(port): the IO and FILE message loops are only used by Linux. Can
|
| // that code be moved to chrome/browser instead of being in net, so that it
|
| // can use BrowserThread instead of raw MessageLoop pointers? See bug 25354.
|
| - base_service.reset(net::ProxyService::CreateSystemProxyConfigService(
|
| + base_service = net::ProxyService::CreateSystemProxyConfigService(
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO),
|
| - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)));
|
| + BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE));
|
| #endif // !defined(OS_CHROMEOS)
|
|
|
| - return tracker->CreateTrackingProxyConfigService(base_service.Pass())
|
| - .release();
|
| + return tracker->CreateTrackingProxyConfigService(base_service.Pass());
|
| }
|
|
|
| // static
|
| @@ -118,7 +117,7 @@ scoped_ptr<net::ProxyService> ProxyServiceFactory::CreateProxyService(
|
| net::NetLog* net_log,
|
| net::URLRequestContext* context,
|
| net::NetworkDelegate* network_delegate,
|
| - net::ProxyConfigService* proxy_config_service,
|
| + scoped_ptr<net::ProxyConfigService> proxy_config_service,
|
| const base::CommandLine& command_line,
|
| bool quick_check_enabled) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| @@ -170,13 +169,13 @@ scoped_ptr<net::ProxyService> ProxyServiceFactory::CreateProxyService(
|
| // should override other options.
|
| if (command_line.HasSwitch(switches::kV8PacMojoInProcess)) {
|
| proxy_service = net::CreateProxyServiceUsingMojoInProcess(
|
| - proxy_config_service, new net::ProxyScriptFetcherImpl(context),
|
| + proxy_config_service.Pass(), new net::ProxyScriptFetcherImpl(context),
|
| dhcp_proxy_script_fetcher.Pass(), context->host_resolver(), net_log,
|
| network_delegate);
|
| } else if (EnableOutOfProcessV8Pac(command_line)) {
|
| proxy_service = net::CreateProxyServiceUsingMojoFactory(
|
| UtilityProcessMojoProxyResolverFactory::GetInstance(),
|
| - proxy_config_service, new net::ProxyScriptFetcherImpl(context),
|
| + proxy_config_service.Pass(), new net::ProxyScriptFetcherImpl(context),
|
| dhcp_proxy_script_fetcher.Pass(), context->host_resolver(), net_log,
|
| network_delegate);
|
| }
|
| @@ -184,16 +183,14 @@ scoped_ptr<net::ProxyService> ProxyServiceFactory::CreateProxyService(
|
|
|
| if (!proxy_service) {
|
| proxy_service = net::CreateProxyServiceUsingV8ProxyResolver(
|
| - proxy_config_service, new net::ProxyScriptFetcherImpl(context),
|
| + proxy_config_service.Pass(), new net::ProxyScriptFetcherImpl(context),
|
| dhcp_proxy_script_fetcher.Pass(), context->host_resolver(), net_log,
|
| network_delegate);
|
| }
|
| #endif // defined(OS_IOS)
|
| } else {
|
| proxy_service = net::ProxyService::CreateUsingSystemProxyResolver(
|
| - proxy_config_service,
|
| - num_pac_threads,
|
| - net_log);
|
| + proxy_config_service.Pass(), num_pac_threads, net_log);
|
| }
|
|
|
| proxy_service->set_quick_check_enabled(quick_check_enabled);
|
|
|