diff options
Diffstat (limited to 'net/proxy')
-rw-r--r-- | net/proxy/proxy_resolver_js_bindings.cc | 2 | ||||
-rw-r--r-- | net/proxy/proxy_resolver_js_bindings_unittest.cc | 24 | ||||
-rw-r--r-- | net/proxy/proxy_script_fetcher_unittest.cc | 1 | ||||
-rw-r--r-- | net/proxy/proxy_service.cc | 2 | ||||
-rw-r--r-- | net/proxy/sync_host_resolver_bridge.cc | 2 | ||||
-rw-r--r-- | net/proxy/sync_host_resolver_bridge_unittest.cc | 21 |
6 files changed, 27 insertions, 25 deletions
diff --git a/net/proxy/proxy_resolver_js_bindings.cc b/net/proxy/proxy_resolver_js_bindings.cc index 5f9307e..3888663 100644 --- a/net/proxy/proxy_resolver_js_bindings.cc +++ b/net/proxy/proxy_resolver_js_bindings.cc @@ -285,7 +285,7 @@ class DefaultJSBindings : public ProxyResolverJSBindings { } } - scoped_refptr<HostResolver> host_resolver_; + HostResolver* const host_resolver_; NetLog* net_log_; }; diff --git a/net/proxy/proxy_resolver_js_bindings_unittest.cc b/net/proxy/proxy_resolver_js_bindings_unittest.cc index 3b10631..6b33a34 100644 --- a/net/proxy/proxy_resolver_js_bindings_unittest.cc +++ b/net/proxy/proxy_resolver_js_bindings_unittest.cc @@ -111,11 +111,11 @@ class MockFailingHostResolver : public HostResolver { }; TEST(ProxyResolverJSBindingsTest, DnsResolve) { - scoped_refptr<MockHostResolver> host_resolver(new MockHostResolver); + scoped_ptr<MockHostResolver> host_resolver(new MockHostResolver); // Get a hold of a DefaultJSBindings* (it is a hidden impl class). scoped_ptr<ProxyResolverJSBindings> bindings( - ProxyResolverJSBindings::CreateDefault(host_resolver, NULL)); + ProxyResolverJSBindings::CreateDefault(host_resolver.get(), NULL)); std::string ip_address; @@ -138,9 +138,11 @@ TEST(ProxyResolverJSBindingsTest, DnsResolve) { } TEST(ProxyResolverJSBindingsTest, MyIpAddress) { + scoped_ptr<MockHostResolver> host_resolver(new MockHostResolver); + // Get a hold of a DefaultJSBindings* (it is a hidden impl class). scoped_ptr<ProxyResolverJSBindings> bindings( - ProxyResolverJSBindings::CreateDefault(new MockHostResolver, NULL)); + ProxyResolverJSBindings::CreateDefault(host_resolver.get(), NULL)); // Our IP address is always going to be 127.0.0.1, since we are using a // mock host resolver. @@ -163,11 +165,11 @@ TEST(ProxyResolverJSBindingsTest, MyIpAddress) { // myIpAddressEx() // dnsResolveEx() TEST(ProxyResolverJSBindingsTest, RestrictAddressFamily) { - scoped_refptr<MockHostResolver> host_resolver(new MockHostResolver); + scoped_ptr<MockHostResolver> host_resolver(new MockHostResolver); // Get a hold of a DefaultJSBindings* (it is a hidden impl class). scoped_ptr<ProxyResolverJSBindings> bindings( - ProxyResolverJSBindings::CreateDefault(host_resolver, NULL)); + ProxyResolverJSBindings::CreateDefault(host_resolver.get(), NULL)); // Make it so requests resolve to particular address patterns based on family: // IPV4_ONLY --> 192.168.1.* @@ -219,12 +221,12 @@ TEST(ProxyResolverJSBindingsTest, RestrictAddressFamily) { // separated list of addresses (as opposed to the non-Ex versions which // just return the first result). TEST(ProxyResolverJSBindingsTest, ExFunctionsReturnList) { - scoped_refptr<HostResolver> host_resolver( + scoped_ptr<HostResolver> host_resolver( new MockHostResolverWithMultipleResults); // Get a hold of a DefaultJSBindings* (it is a hidden impl class). scoped_ptr<ProxyResolverJSBindings> bindings( - ProxyResolverJSBindings::CreateDefault(host_resolver, NULL)); + ProxyResolverJSBindings::CreateDefault(host_resolver.get(), NULL)); std::string ip_addresses; @@ -236,12 +238,12 @@ TEST(ProxyResolverJSBindingsTest, ExFunctionsReturnList) { } TEST(ProxyResolverJSBindingsTest, PerRequestDNSCache) { - scoped_refptr<MockFailingHostResolver> host_resolver( + scoped_ptr<MockFailingHostResolver> host_resolver( new MockFailingHostResolver); // Get a hold of a DefaultJSBindings* (it is a hidden impl class). scoped_ptr<ProxyResolverJSBindings> bindings( - ProxyResolverJSBindings::CreateDefault(host_resolver, NULL)); + ProxyResolverJSBindings::CreateDefault(host_resolver.get(), NULL)); std::string ip_address; @@ -286,14 +288,14 @@ TEST(ProxyResolverJSBindingsTest, PerRequestDNSCache) { // Test that when a binding is called, it logs to the per-request NetLog. TEST(ProxyResolverJSBindingsTest, NetLog) { - scoped_refptr<MockFailingHostResolver> host_resolver( + scoped_ptr<MockFailingHostResolver> host_resolver( new MockFailingHostResolver); CapturingNetLog global_log(CapturingNetLog::kUnbounded); // Get a hold of a DefaultJSBindings* (it is a hidden impl class). scoped_ptr<ProxyResolverJSBindings> bindings( - ProxyResolverJSBindings::CreateDefault(host_resolver, &global_log)); + ProxyResolverJSBindings::CreateDefault(host_resolver.get(), &global_log)); // Attach a capturing NetLog as the current request's log stream. CapturingNetLog log(CapturingNetLog::kUnbounded); diff --git a/net/proxy/proxy_script_fetcher_unittest.cc b/net/proxy/proxy_script_fetcher_unittest.cc index 8980c0e..64754a4 100644 --- a/net/proxy/proxy_script_fetcher_unittest.cc +++ b/net/proxy/proxy_script_fetcher_unittest.cc @@ -49,6 +49,7 @@ class RequestContext : public URLRequestContext { private: ~RequestContext() { delete http_transaction_factory_; + delete host_resolver_; } }; diff --git a/net/proxy/proxy_service.cc b/net/proxy/proxy_service.cc index dfdacde..80a849a 100644 --- a/net/proxy/proxy_service.cc +++ b/net/proxy/proxy_service.cc @@ -185,7 +185,7 @@ class ProxyResolverFactoryForV8 : public ProxyResolverFactory { } private: - scoped_refptr<HostResolver> async_host_resolver_; + HostResolver* const async_host_resolver_; MessageLoop* io_loop_; // Thread-safe wrapper around a non-threadsafe NetLog implementation. This diff --git a/net/proxy/sync_host_resolver_bridge.cc b/net/proxy/sync_host_resolver_bridge.cc index 6c62c7d..bcb05d6 100644 --- a/net/proxy/sync_host_resolver_bridge.cc +++ b/net/proxy/sync_host_resolver_bridge.cc @@ -50,7 +50,7 @@ class SyncHostResolverBridge::Core // Not called on |host_resolver_loop_|. int WaitForResolveCompletion(); - const scoped_refptr<HostResolver> host_resolver_; + HostResolver* const host_resolver_; MessageLoop* const host_resolver_loop_; net::CompletionCallbackImpl<Core> callback_; // The result from the current request (set on |host_resolver_loop_|). diff --git a/net/proxy/sync_host_resolver_bridge_unittest.cc b/net/proxy/sync_host_resolver_bridge_unittest.cc index c10c3e6..cd4264e 100644 --- a/net/proxy/sync_host_resolver_bridge_unittest.cc +++ b/net/proxy/sync_host_resolver_bridge_unittest.cc @@ -116,22 +116,23 @@ class SyncProxyResolver : public ProxyResolver { } private: - scoped_refptr<SyncHostResolverBridge> host_resolver_; + SyncHostResolverBridge* const host_resolver_; }; class SyncProxyResolverFactory : public ProxyResolverFactory { public: + // Takes ownership of |sync_host_resolver|. explicit SyncProxyResolverFactory(SyncHostResolverBridge* sync_host_resolver) : ProxyResolverFactory(false), sync_host_resolver_(sync_host_resolver) { } virtual ProxyResolver* CreateProxyResolver() { - return new SyncProxyResolver(sync_host_resolver_); + return new SyncProxyResolver(sync_host_resolver_.get()); } private: - scoped_refptr<SyncHostResolverBridge> sync_host_resolver_; + const scoped_ptr<SyncHostResolverBridge> sync_host_resolver_; }; // This helper thread is used to create the circumstances for the deadlock. @@ -145,18 +146,18 @@ class IOThread : public base::Thread { Stop(); } - const scoped_refptr<BlockableHostResolver>& async_resolver() { - return async_resolver_; + BlockableHostResolver* async_resolver() { + return async_resolver_.get(); } protected: virtual void Init() { - async_resolver_ = new BlockableHostResolver(); + async_resolver_.reset(new BlockableHostResolver()); // Create a synchronous host resolver that operates the async host // resolver on THIS thread. - scoped_refptr<SyncHostResolverBridge> sync_resolver = - new SyncHostResolverBridge(async_resolver_, message_loop()); + SyncHostResolverBridge* sync_resolver = + new SyncHostResolverBridge(async_resolver_.get(), message_loop()); proxy_resolver_.reset( new MultiThreadedProxyResolver( @@ -190,14 +191,12 @@ class IOThread : public base::Thread { // During the teardown sequence of the single threaded proxy resolver, // the outstanding host resolve should have been cancelled. EXPECT_TRUE(async_resolver_->was_request_cancelled()); - - async_resolver_ = NULL; } private: // This (async) host resolver will outlive the thread that is operating it // synchronously. - scoped_refptr<BlockableHostResolver> async_resolver_; + scoped_ptr<BlockableHostResolver> async_resolver_; scoped_ptr<ProxyResolver> proxy_resolver_; |