Remove ServiceRegistry's support for exposed services. R=vardhan@google.com BUG=#762 Review URL: https://codereview.chromium.org/1968543003 .
diff --git a/mojo/public/cpp/application/lib/application_impl.cc b/mojo/public/cpp/application/lib/application_impl.cc index 23c58ae..ea1c200 100644 --- a/mojo/public/cpp/application/lib/application_impl.cc +++ b/mojo/public/cpp/application/lib/application_impl.cc
@@ -64,12 +64,13 @@ InterfaceRequest<ServiceProvider> services, InterfaceHandle<ServiceProvider> exposed_services, const String& url) { - MOJO_LOG_IF(WARNING, exposed_services) - << "DEPRECATION WARNING: exposed_services will soon go away"; + // Note: The shell no longer actually connects |exposed_services|, so a) we + // never actually get valid |exposed_services| here, b) it should be OK to + // drop it on the floor. + MOJO_LOG_IF(ERROR, exposed_services) + << "DEPRECATED: exposed_services is going away"; std::unique_ptr<internal::ServiceRegistry> registry( - new internal::ServiceRegistry(this, url, requestor_url, - std::move(exposed_services), - services.Pass())); + new internal::ServiceRegistry(url, requestor_url, services.Pass())); if (!delegate_->ConfigureIncomingConnection(registry.get())) return; incoming_service_registries_.push_back(std::move(registry));
diff --git a/mojo/public/cpp/application/lib/service_registry.cc b/mojo/public/cpp/application/lib/service_registry.cc index bbf685e..734dc1b 100644 --- a/mojo/public/cpp/application/lib/service_registry.cc +++ b/mojo/public/cpp/application/lib/service_registry.cc
@@ -5,34 +5,25 @@ #include "mojo/public/cpp/application/lib/service_registry.h" #include "mojo/public/cpp/application/application_connection.h" -#include "mojo/public/cpp/application/application_impl.h" #include "mojo/public/cpp/application/service_connector.h" namespace mojo { namespace internal { +ServiceRegistry::ServiceRegistry() : local_binding_(this) {} + ServiceRegistry::ServiceRegistry( - ApplicationImpl* application_impl, const std::string& connection_url, const std::string& remote_url, - InterfaceHandle<ServiceProvider> remote_services, InterfaceRequest<ServiceProvider> local_services) - : application_impl_(application_impl), - connection_url_(connection_url), + : connection_url_(connection_url), remote_url_(remote_url), - local_binding_(this), - remote_service_provider_( - ServiceProviderPtr::Create(std::move(remote_services))) { + local_binding_(this) { if (local_services.is_pending()) local_binding_.Bind(local_services.Pass()); } -ServiceRegistry::ServiceRegistry() - : application_impl_(nullptr), local_binding_(this) { -} - -ServiceRegistry::~ServiceRegistry() { -} +ServiceRegistry::~ServiceRegistry() {} void ServiceRegistry::SetServiceConnectorForName( ServiceConnector* service_connector, @@ -44,8 +35,6 @@ void ServiceRegistry::RemoveServiceConnectorForName( const std::string& interface_name) { service_connector_registry_.RemoveServiceConnectorForName(interface_name); - if (service_connector_registry_.empty()) - remote_service_provider_.reset(); } const std::string& ServiceRegistry::GetConnectionURL() { @@ -56,7 +45,7 @@ return remote_url_; } -void ServiceRegistry::ConnectToService(const mojo::String& service_name, +void ServiceRegistry::ConnectToService(const String& service_name, ScopedMessagePipeHandle client_handle) { service_connector_registry_.ConnectToService(this, service_name, &client_handle);
diff --git a/mojo/public/cpp/application/lib/service_registry.h b/mojo/public/cpp/application/lib/service_registry.h index f35c085..c8c47d3 100644 --- a/mojo/public/cpp/application/lib/service_registry.h +++ b/mojo/public/cpp/application/lib/service_registry.h
@@ -13,10 +13,6 @@ #include "mojo/public/interfaces/application/service_provider.mojom.h" namespace mojo { - -class Application; -class ApplicationImpl; - namespace internal { // A ServiceRegistry represents each half of a connection between two @@ -25,10 +21,8 @@ class ServiceRegistry : public ServiceProvider, public ApplicationConnection { public: ServiceRegistry(); - ServiceRegistry(ApplicationImpl* application_impl, - const std::string& connection_url, + ServiceRegistry(const std::string& connection_url, const std::string& remote_url, - InterfaceHandle<ServiceProvider> remote_services, InterfaceRequest<ServiceProvider> local_services); ~ServiceRegistry() override; @@ -42,19 +36,12 @@ private: // ServiceProvider method. - void ConnectToService(const mojo::String& service_name, + void ConnectToService(const String& service_name, ScopedMessagePipeHandle client_handle) override; - ApplicationImpl* application_impl_; const std::string connection_url_; const std::string remote_url_; - - private: - void RemoveServiceConnectorForNameInternal(const std::string& interface_name); - - Application* application_; Binding<ServiceProvider> local_binding_; - ServiceProviderPtr remote_service_provider_; ServiceConnectorRegistry service_connector_registry_; MOJO_DISALLOW_COPY_AND_ASSIGN(ServiceRegistry);