Index: chrome/utility/chrome_content_utility_client.cc |
diff --git a/chrome/utility/chrome_content_utility_client.cc b/chrome/utility/chrome_content_utility_client.cc |
index 2fea5c2f9ca90654d7990acc0bc056474a4c20e7..d32de625ea9990f27ad3aeb21a9539e7e3abd565 100644 |
--- a/chrome/utility/chrome_content_utility_client.cc |
+++ b/chrome/utility/chrome_content_utility_client.cc |
@@ -115,7 +115,7 @@ std::unique_ptr<service_manager::Service> CreateImageDecoderService() { |
ChromeContentUtilityClient::ChromeContentUtilityClient() |
: filter_messages_(false) { |
#if BUILDFLAG(ENABLE_EXTENSIONS) |
- handlers_.push_back(new extensions::ExtensionsHandler(this)); |
+ handlers_.push_back(new extensions::ExtensionsHandler()); |
handlers_.push_back(new image_writer::ImageWriterHandler()); |
#endif |
@@ -192,13 +192,16 @@ bool ChromeContentUtilityClient::OnMessageReceived( |
void ChromeContentUtilityClient::ExposeInterfacesToBrowser( |
service_manager::InterfaceRegistry* registry) { |
- // When the utility process is running with elevated privileges, we need to |
- // filter messages so that only a whitelist of IPCs can run. In Mojo, there's |
- // no way of filtering individual messages. Instead, we can avoid adding |
- // non-whitelisted Mojo services to the service_manager::InterfaceRegistry. |
- // TODO(amistry): Use a whitelist once the whistlisted IPCs have been |
- // converted to Mojo. |
- if (filter_messages_) |
+ const bool running_elevated = |
+ base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kUtilityProcessRunningElevated); |
+#if BUILDFLAG(ENABLE_EXTENSIONS) |
+ extensions::ExtensionsHandler::ExposeInterfacesToBrowser(registry, this, |
+ running_elevated); |
+#endif |
+ // If our process runs with elevated privileges, only add elevated |
+ // Mojo services to the service_manager::InterfaceRegistry. |
Sam McNally
2017/01/10 06:55:14
I don't think the service_manager:: prefix is need
Noel Gordon
2017/01/10 22:52:36
Done. "service_manager::InterfaceRegistry." -> "i
|
+ if (running_elevated) |
return; |
#if !defined(OS_ANDROID) |