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

Unified Diff: chrome/browser/net/chrome_mojo_proxy_resolver_factory.h

Issue 2930743002: Use a MojoProxyResolverFactory on Android. (Closed)
Patch Set: Uninteresting merge Created 3 years, 6 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: chrome/browser/net/chrome_mojo_proxy_resolver_factory.h
diff --git a/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h b/chrome/browser/net/chrome_mojo_proxy_resolver_factory.h
similarity index 61%
rename from chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h
rename to chrome/browser/net/chrome_mojo_proxy_resolver_factory.h
index b39362372e789d3cfacb9ffa7d774ff7071934ca..52f41a60291aa54286acf3b2db41e96b02dc01f0 100644
--- a/chrome/browser/net/utility_process_mojo_proxy_resolver_factory.h
+++ b/chrome/browser/net/chrome_mojo_proxy_resolver_factory.h
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CHROME_BROWSER_NET_UTILITY_PROCESS_MOJO_PROXY_RESOLVER_FACTORY_H_
-#define CHROME_BROWSER_NET_UTILITY_PROCESS_MOJO_PROXY_RESOLVER_FACTORY_H_
+#ifndef CHROME_BROWSER_NET_CHROME_MOJO_PROXY_RESOLVER_FACTORY_H_
+#define CHROME_BROWSER_NET_CHROME_MOJO_PROXY_RESOLVER_FACTORY_H_
#include <stddef.h>
@@ -13,22 +13,24 @@
#include "base/timer/timer.h"
#include "net/proxy/mojo_proxy_resolver_factory.h"
+#if !defined(OS_ANDROID)
namespace content {
class UtilityProcessHost;
}
+#endif
+
namespace base {
template <typename Type>
struct DefaultSingletonTraits;
} // namespace base
-// A factory used to create connections to Mojo proxy resolver services run in a
-// utility process. All Mojo proxy resolver services will be run in the same
-// utility process. Utility process crashes are detected and the utility
-// process is automatically restarted.
-class UtilityProcessMojoProxyResolverFactory
- : public net::MojoProxyResolverFactory {
+// A factory used to create connections to Mojo proxy resolver services. On
+// Android, the proxy resolvers will run in the browser process, and on other
+// platforms, they'll all be run in the same utility process. Utility process
+// crashes are detected and the utility process is automatically restarted.
+class ChromeMojoProxyResolverFactory : public net::MojoProxyResolverFactory {
public:
- static UtilityProcessMojoProxyResolverFactory* GetInstance();
+ static ChromeMojoProxyResolverFactory* GetInstance();
// Overridden from net::MojoProxyResolverFactory:
std::unique_ptr<base::ScopedClosureRunner> CreateResolver(
@@ -37,13 +39,12 @@ class UtilityProcessMojoProxyResolverFactory
net::interfaces::ProxyResolverFactoryRequestClientPtr client) override;
private:
- friend struct base::DefaultSingletonTraits<
- UtilityProcessMojoProxyResolverFactory>;
- UtilityProcessMojoProxyResolverFactory();
- ~UtilityProcessMojoProxyResolverFactory() override;
+ friend struct base::DefaultSingletonTraits<ChromeMojoProxyResolverFactory>;
+ ChromeMojoProxyResolverFactory();
+ ~ChromeMojoProxyResolverFactory() override;
- // Error handler callback for |resolver_factory_|.
- void OnConnectionError();
+ // Destroys |resolver_factory_|.
+ void DestroyFactory();
// Invoked each time a proxy resolver is destroyed.
void OnResolverDestroyed();
@@ -58,14 +59,17 @@ class UtilityProcessMojoProxyResolverFactory
net::interfaces::ProxyResolverFactoryPtr resolver_factory_;
+#if !defined(OS_ANDROID)
base::WeakPtr<content::UtilityProcessHost> weak_utility_process_host_;
+#endif
+
size_t num_proxy_resolvers_ = 0;
base::OneShotTimer idle_timer_;
base::ThreadChecker thread_checker_;
- DISALLOW_COPY_AND_ASSIGN(UtilityProcessMojoProxyResolverFactory);
+ DISALLOW_COPY_AND_ASSIGN(ChromeMojoProxyResolverFactory);
};
-#endif // CHROME_BROWSER_NET_UTILITY_PROCESS_MOJO_PROXY_RESOLVER_FACTORY_H_
+#endif // CHROME_BROWSER_NET_CHROME_MOJO_PROXY_RESOLVER_FACTORY_H_

Powered by Google App Engine
This is Rietveld 408576698