Index: mojo/shell/standalone/context.cc |
diff --git a/mojo/shell/standalone/context.cc b/mojo/shell/standalone/context.cc |
index e6ecd0920f14ae5e728e97bb58aadebd59a5ebfe..44eb19eaeb19914b76a8aaabe91f00afa8d88be9 100644 |
--- a/mojo/shell/standalone/context.cc |
+++ b/mojo/shell/standalone/context.cc |
@@ -22,6 +22,7 @@ |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_split.h" |
#include "base/strings/string_util.h" |
+#include "base/strings/sys_string_conversions.h" |
#include "base/threading/sequenced_worker_pool.h" |
#include "base/trace_event/trace_event.h" |
#include "build/build_config.h" |
@@ -40,7 +41,6 @@ |
#include "mojo/shell/standalone/tracer.h" |
#include "mojo/shell/switches.h" |
#include "mojo/util/filename_util.h" |
-#include "url/gurl.h" |
namespace mojo { |
namespace shell { |
@@ -90,8 +90,8 @@ scoped_ptr<base::Thread> CreateIOThread(const char* name) { |
return thread; |
} |
-void OnInstanceQuit(const GURL& url, const Identity& identity) { |
- if (url == identity.url()) |
+void OnInstanceQuit(const std::string& name, const Identity& identity) { |
+ if (name == identity.name()) |
base::MessageLoop::current()->QuitWhenIdle(); |
} |
@@ -156,7 +156,7 @@ void Context::Init(scoped_ptr<InitParams> init_params) { |
if (init_params) |
app_catalog = std::move(init_params->app_catalog); |
application_manager_.reset(new ApplicationManager(std::move(runner_factory), |
- blocking_pool_.get(), true, |
+ blocking_pool_.get(), |
std::move(app_catalog))); |
shell::mojom::InterfaceProviderPtr tracing_remote_interfaces; |
@@ -165,7 +165,7 @@ void Context::Init(scoped_ptr<InitParams> init_params) { |
scoped_ptr<ConnectParams> params(new ConnectParams); |
params->set_source(CreateShellIdentity()); |
- params->set_target(Identity(GURL("mojo:tracing"), std::string(), |
+ params->set_target(Identity("mojo:tracing", std::string(), |
mojom::Connector::kUserInherit)); |
params->set_remote_interfaces(GetProxy(&tracing_remote_interfaces)); |
params->set_local_interfaces(std::move(tracing_local_interfaces)); |
@@ -219,24 +219,25 @@ void Context::RunCommandLineApplication() { |
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
base::CommandLine::StringVector args = command_line->GetArgs(); |
for (size_t i = 0; i < args.size(); ++i) { |
- GURL possible_app(args[i]); |
- if (possible_app.SchemeIs("mojo")) { |
+ std::string possible_app = base::SysWideToUTF8(args[i]); |
+ if (GetNameType(possible_app) == "mojo") { |
Run(possible_app); |
break; |
} |
} |
} |
-void Context::Run(const GURL& url) { |
+void Context::Run(const std::string& name) { |
application_manager_->SetInstanceQuitCallback( |
- base::Bind(&OnInstanceQuit, url)); |
+ base::Bind(&OnInstanceQuit, name)); |
shell::mojom::InterfaceProviderPtr remote_interfaces; |
shell::mojom::InterfaceProviderPtr local_interfaces; |
scoped_ptr<ConnectParams> params(new ConnectParams); |
params->set_source(CreateShellIdentity()); |
- params->set_target(Identity(url, std::string(), mojom::Connector::kUserRoot)); |
+ params->set_target(Identity(name, std::string(), |
+ mojom::Connector::kUserRoot)); |
params->set_remote_interfaces(GetProxy(&remote_interfaces)); |
params->set_local_interfaces(std::move(local_interfaces)); |
application_manager_->Connect(std::move(params)); |