Index: services/shell/shell.cc |
diff --git a/services/shell/shell.cc b/services/shell/shell.cc |
index 25db56b4ebec1cf48556f6ee4caf074d4921082b..35049dd41f30873ef65a2161d14f8a1c5f548fde 100644 |
--- a/services/shell/shell.cc |
+++ b/services/shell/shell.cc |
@@ -31,9 +31,10 @@ |
#include "services/shell/public/interfaces/shell_client.mojom.h" |
#include "url/gurl.h" |
-namespace mojo { |
namespace shell { |
+ |
namespace { |
+ |
const char kCatalogName[] = "mojo:catalog"; |
const char kShellName[] = "mojo:shell"; |
const char kCapabilityClass_UserID[] = "user_id"; |
@@ -43,7 +44,7 @@ const char kCapabilityClass_AllUsers[] = "all_users"; |
void EmptyResolverCallback(mojom::ResolveResultPtr result) {} |
-} |
+} // namespace |
Identity CreateShellIdentity() { |
return Identity(kShellName, mojom::kRootUserID); |
@@ -136,10 +137,12 @@ class Shell::Instance : public mojom::Connector, |
} |
Instance* parent() { return parent_; } |
+ |
void AddChild(Instance* child) { |
children_.insert(child); |
child->parent_ = this; |
} |
+ |
void RemoveChild(Instance* child) { |
auto it = children_.find(child); |
DCHECK(it != children_.end()); |
@@ -147,7 +150,7 @@ class Shell::Instance : public mojom::Connector, |
child->parent_ = nullptr; |
} |
- void ConnectToClient(scoped_ptr<ConnectParams> params) { |
+ void ConnectToClient(std::unique_ptr<ConnectParams> params) { |
CHECK(shell_client_.is_bound()); |
params->connect_callback().Run(mojom::ConnectResult::SUCCEEDED, |
identity_.user_id(), id_); |
@@ -189,7 +192,7 @@ class Shell::Instance : public mojom::Connector, |
void StartWithFilePath(const base::FilePath& path) { |
CHECK(!shell_client_); |
- scoped_ptr<NativeRunner> runner = |
+ std::unique_ptr<NativeRunner> runner = |
shell_->native_runner_factory_->Create(path); |
bool start_sandboxed = false; |
mojom::ShellClientPtr client = runner->Start( |
@@ -241,7 +244,7 @@ class Shell::Instance : public mojom::Connector, |
if (!ValidateCapabilities(target, callback)) |
return; |
- scoped_ptr<ConnectParams> params(new ConnectParams); |
+ std::unique_ptr<ConnectParams> params(new ConnectParams); |
params->set_source(identity_); |
params->set_target(target); |
params->set_remote_interfaces(std::move(remote_interfaces)); |
@@ -412,9 +415,9 @@ class Shell::Instance : public mojom::Connector, |
const CapabilitySpec capability_spec_; |
const bool allow_any_application_; |
mojom::ShellClientPtr shell_client_; |
- Binding<mojom::PIDReceiver> pid_receiver_binding_; |
- BindingSet<mojom::Connector> connectors_; |
- BindingSet<mojom::Shell> shell_bindings_; |
+ mojo::Binding<mojom::PIDReceiver> pid_receiver_binding_; |
+ mojo::BindingSet<mojom::Connector> connectors_; |
+ mojo::BindingSet<mojom::Shell> shell_bindings_; |
NativeRunner* runner_ = nullptr; |
base::ProcessId pid_ = base::kNullProcessId; |
Instance* parent_ = nullptr; |
@@ -439,12 +442,12 @@ bool Shell::TestAPI::HasRunningInstanceForName(const std::string& name) const { |
//////////////////////////////////////////////////////////////////////////////// |
// Shell, public: |
-Shell::Shell(scoped_ptr<NativeRunnerFactory> native_runner_factory, |
+Shell::Shell(std::unique_ptr<NativeRunnerFactory> native_runner_factory, |
mojom::ShellClientPtr catalog) |
: native_runner_factory_(std::move(native_runner_factory)), |
weak_ptr_factory_(this) { |
mojom::ShellClientPtr client; |
- mojom::ShellClientRequest request = GetProxy(&client); |
+ mojom::ShellClientRequest request = mojo::GetProxy(&client); |
Instance* instance = CreateInstance(Identity(), CreateShellIdentity(), |
GetPermissiveCapabilities()); |
instance->StartWithClient(std::move(client)); |
@@ -467,26 +470,26 @@ void Shell::SetInstanceQuitCallback( |
instance_quit_callback_ = callback; |
} |
-void Shell::Connect(scoped_ptr<ConnectParams> params) { |
+void Shell::Connect(std::unique_ptr<ConnectParams> params) { |
Connect(std::move(params), nullptr); |
} |
mojom::ShellClientRequest Shell::InitInstanceForEmbedder( |
const std::string& name) { |
- scoped_ptr<ConnectParams> params(new ConnectParams); |
+ std::unique_ptr<ConnectParams> params(new ConnectParams); |
Identity embedder_identity(name, mojom::kRootUserID); |
params->set_source(embedder_identity); |
params->set_target(embedder_identity); |
mojom::ShellClientPtr client; |
- mojom::ShellClientRequest request = GetProxy(&client); |
+ mojom::ShellClientRequest request = mojo::GetProxy(&client); |
Connect(std::move(params), std::move(client)); |
return request; |
} |
-void Shell::SetLoaderForName(scoped_ptr<Loader> loader, |
+void Shell::SetLoaderForName(std::unique_ptr<Loader> loader, |
const std::string& name) { |
auto it = name_to_loader_.find(name); |
if (it != name_to_loader_.end()) |
@@ -525,7 +528,7 @@ void Shell::InitCatalog(mojom::ShellClientPtr catalog) { |
// TODO(beng): this doesn't work anymore. |
// Seed the catalog with manifest info for the shell & catalog. |
- shell::mojom::ShellResolverPtr resolver; |
+ mojom::ShellResolverPtr resolver; |
shell_connection_->connector()->ConnectToInterface(kCatalogName, &resolver); |
resolver->ResolveMojoName(kCatalogName, base::Bind(&EmptyResolverCallback)); |
resolver->ResolveMojoName(kShellName, base::Bind(&EmptyResolverCallback)); |
@@ -552,7 +555,7 @@ void Shell::OnInstanceError(Instance* instance) { |
instance_quit_callback_.Run(identity); |
} |
-void Shell::Connect(scoped_ptr<ConnectParams> params, |
+void Shell::Connect(std::unique_ptr<ConnectParams> params, |
mojom::ShellClientPtr client) { |
TRACE_EVENT_INSTANT1("mojo_shell", "Shell::Connect", |
TRACE_EVENT_SCOPE_THREAD, "original_name", |
@@ -577,10 +580,10 @@ void Shell::Connect(scoped_ptr<ConnectParams> params, |
std::string name = params->target().name(); |
mojom::ShellResolver* resolver_raw = resolver.get(); |
resolver_raw->ResolveMojoName( |
- name, |
- base::Bind(&Shell::OnGotResolvedName, weak_ptr_factory_.GetWeakPtr(), |
- base::Passed(std::move(resolver)), base::Passed(¶ms), |
- base::Passed(&client))); |
+ name, base::Bind(&shell::Shell::OnGotResolvedName, |
+ weak_ptr_factory_.GetWeakPtr(), |
+ base::Passed(std::move(resolver)), base::Passed(¶ms), |
+ base::Passed(&client))); |
} |
Shell::Instance* Shell::GetExistingInstance(const Identity& identity) const { |
@@ -606,7 +609,7 @@ void Shell::NotifyPIDAvailable(uint32_t id, base::ProcessId pid) { |
}); |
} |
-bool Shell::ConnectToExistingInstance(scoped_ptr<ConnectParams>* params) { |
+bool Shell::ConnectToExistingInstance(std::unique_ptr<ConnectParams>* params) { |
Instance* instance = GetExistingInstance((*params)->target()); |
if (instance) |
instance->ConnectToClient(std::move(*params)); |
@@ -634,7 +637,7 @@ Shell::Instance* Shell::CreateInstance(const Identity& source, |
void Shell::AddInstanceListener(mojom::InstanceListenerPtr listener) { |
// TODO(beng): filter instances provided by those visible to this client. |
- Array<mojom::InstanceInfoPtr> instances; |
+ mojo::Array<mojom::InstanceInfoPtr> instances; |
for (auto& instance : identity_to_instance_) |
instances.push_back(instance.second->CreateInstanceInfo()); |
listener->SetExistingInstances(std::move(instances)); |
@@ -661,10 +664,9 @@ mojom::ShellClientFactory* Shell::GetShellClientFactory( |
ConnectToInterface(this, source_identity, shell_client_factory_identity, |
&factory); |
mojom::ShellClientFactory* factory_interface = factory.get(); |
- factory.set_connection_error_handler( |
- base::Bind(&Shell::OnShellClientFactoryLost, |
- weak_ptr_factory_.GetWeakPtr(), |
- shell_client_factory_identity)); |
+ factory.set_connection_error_handler(base::Bind( |
+ &shell::Shell::OnShellClientFactoryLost, weak_ptr_factory_.GetWeakPtr(), |
+ shell_client_factory_identity)); |
shell_client_factories_[shell_client_factory_identity] = std::move(factory); |
return factory_interface; |
} |
@@ -677,7 +679,7 @@ void Shell::OnShellClientFactoryLost(const Identity& which) { |
} |
void Shell::OnGotResolvedName(mojom::ShellResolverPtr resolver, |
- scoped_ptr<ConnectParams> params, |
+ std::unique_ptr<ConnectParams> params, |
mojom::ShellClientPtr client, |
mojom::ResolveResultPtr result) { |
std::string instance_name = params->target().instance(); |
@@ -748,7 +750,7 @@ void Shell::OnGotResolvedName(mojom::ShellResolverPtr resolver, |
std::move(request)); |
} else { |
instance->StartWithFilePath( |
- util::UrlToFilePath(result->package_url.To<GURL>())); |
+ mojo::util::UrlToFilePath(result->package_url.To<GURL>())); |
} |
} |
} |
@@ -787,4 +789,3 @@ void Shell::CleanupRunner(NativeRunner* runner) { |
} |
} // namespace shell |
-} // namespace mojo |