| Index: content/common/mojo/service_registry_impl.cc
|
| diff --git a/content/common/mojo/service_registry_impl.cc b/content/common/mojo/service_registry_impl.cc
|
| deleted file mode 100644
|
| index 7a16b4c9f1c9a7c629002ceef0dee23f5e4559db..0000000000000000000000000000000000000000
|
| --- a/content/common/mojo/service_registry_impl.cc
|
| +++ /dev/null
|
| @@ -1,116 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "content/common/mojo/service_registry_impl.h"
|
| -
|
| -#include <utility>
|
| -
|
| -#include "mojo/common/common_type_converters.h"
|
| -
|
| -namespace content {
|
| -
|
| -ServiceRegistry* ServiceRegistry::Create() {
|
| - return new ServiceRegistryImpl;
|
| -}
|
| -
|
| -ServiceRegistryImpl::ServiceRegistryImpl()
|
| - : binding_(this),
|
| - weak_factory_(this) {
|
| - remote_provider_request_ = GetProxy(&remote_provider_);
|
| -}
|
| -
|
| -ServiceRegistryImpl::~ServiceRegistryImpl() {
|
| -}
|
| -
|
| -void ServiceRegistryImpl::Bind(shell::mojom::InterfaceProviderRequest request) {
|
| - binding_.Bind(std::move(request));
|
| - binding_.set_connection_error_handler(base::Bind(
|
| - &ServiceRegistryImpl::OnConnectionError, base::Unretained(this)));
|
| -}
|
| -
|
| -shell::mojom::InterfaceProviderRequest
|
| -ServiceRegistryImpl::TakeRemoteRequest() {
|
| - return std::move(remote_provider_request_);
|
| -}
|
| -
|
| -void ServiceRegistryImpl::AddService(
|
| - const std::string& service_name,
|
| - const ServiceFactory& service_factory,
|
| - const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) {
|
| - service_factories_[service_name] =
|
| - std::make_pair(service_factory, task_runner);
|
| -}
|
| -
|
| -void ServiceRegistryImpl::RemoveService(const std::string& service_name) {
|
| - service_factories_.erase(service_name);
|
| -}
|
| -
|
| -void ServiceRegistryImpl::ConnectToRemoteService(
|
| - base::StringPiece service_name,
|
| - mojo::ScopedMessagePipeHandle handle) {
|
| - auto override_it = service_overrides_.find(service_name.as_string());
|
| - if (override_it != service_overrides_.end()) {
|
| - override_it->second.Run(std::move(handle));
|
| - return;
|
| - }
|
| - remote_provider_->GetInterface(
|
| - mojo::String::From(service_name.as_string()), std::move(handle));
|
| -}
|
| -
|
| -void ServiceRegistryImpl::AddServiceOverrideForTesting(
|
| - const std::string& service_name,
|
| - const ServiceFactory& factory) {
|
| - service_overrides_[service_name] = factory;
|
| -}
|
| -
|
| -void ServiceRegistryImpl::ClearServiceOverridesForTesting() {
|
| - service_overrides_.clear();
|
| -}
|
| -
|
| -bool ServiceRegistryImpl::IsBound() const {
|
| - return binding_.is_bound();
|
| -}
|
| -
|
| -base::WeakPtr<ServiceRegistry> ServiceRegistryImpl::GetWeakPtr() {
|
| - return weak_factory_.GetWeakPtr();
|
| -}
|
| -
|
| -void ServiceRegistryImpl::GetInterface(
|
| - const mojo::String& name,
|
| - mojo::ScopedMessagePipeHandle client_handle) {
|
| - auto it = service_factories_.find(name);
|
| - if (it == service_factories_.end()) {
|
| - DLOG(ERROR) << name << " not found";
|
| - return;
|
| - }
|
| -
|
| - // It's possible and effectively unavoidable that under certain conditions
|
| - // an invalid handle may be received. Don't invoke the factory in that case.
|
| - if (!client_handle.is_valid()) {
|
| - DVLOG(2) << "Invalid pipe handle for " << name << " interface request.";
|
| - return;
|
| - }
|
| -
|
| - if (it->second.second) {
|
| - it->second.second->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&ServiceRegistryImpl::RunServiceFactoryOnTaskRunner,
|
| - it->second.first, base::Passed(&client_handle)));
|
| - return;
|
| - }
|
| - it->second.first.Run(std::move(client_handle));
|
| -}
|
| -
|
| -// static
|
| -void ServiceRegistryImpl::RunServiceFactoryOnTaskRunner(
|
| - const ServiceRegistryImpl::ServiceFactory& factory,
|
| - mojo::ScopedMessagePipeHandle handle) {
|
| - factory.Run(std::move(handle));
|
| -}
|
| -
|
| -void ServiceRegistryImpl::OnConnectionError() {
|
| - binding_.Close();
|
| -}
|
| -
|
| -} // namespace content
|
|
|