Chromium Code Reviews| Index: mojo/shell/dynamic_service_loader.cc |
| diff --git a/mojo/shell/dynamic_service_loader.cc b/mojo/shell/dynamic_service_loader.cc |
| index b249c3cff31c70769160eac16d71ace46df80426..0121b6c73ec84a78c215a1d29e1805ce7fdfecdb 100644 |
| --- a/mojo/shell/dynamic_service_loader.cc |
| +++ b/mojo/shell/dynamic_service_loader.cc |
| @@ -7,19 +7,20 @@ |
| #include "base/location.h" |
| #include "mojo/shell/context.h" |
| #include "mojo/shell/keep_alive.h" |
| +#include "url/url_util.h" |
| namespace mojo { |
| namespace shell { |
| namespace { |
| -std::string MakeSharedLibraryName(const std::string& file_name) { |
| +std::string MakeSharedLibraryName(const std::string& base_name) { |
|
Aaron Boodman
2014/06/10 19:41:29
I changed the mojo scheme to be a 'standard' schem
|
| #if defined(OS_WIN) |
| - return file_name + ".dll"; |
| + return base_name + ".dll"; |
| #elif defined(OS_LINUX) |
| - return "lib" + file_name + ".so"; |
| + return "lib" + base_name + ".so"; |
| #elif defined(OS_MACOSX) |
| - return "lib" + file_name + ".dylib"; |
| + return "lib" + base_name + ".dylib"; |
| #else |
| NOTREACHED() << "dynamic loading of services not supported"; |
| return std::string(); |
| @@ -42,7 +43,7 @@ class DynamicServiceLoader::LoadContext : public mojo::shell::Loader::Delegate { |
| GURL url_to_load; |
| if (url.SchemeIs("mojo")) { |
| - std::string lib = MakeSharedLibraryName(url.ExtractFileName()); |
| + std::string lib = MakeSharedLibraryName(url.host()); |
| url_to_load = GURL(loader->context_->mojo_origin() + "/" + lib); |
| } else { |
| url_to_load = url; |
| @@ -86,6 +87,7 @@ DynamicServiceLoader::DynamicServiceLoader( |
| scoped_ptr<DynamicServiceRunnerFactory> runner_factory) |
| : context_(context), |
| runner_factory_(runner_factory.Pass()) { |
| + url::AddStandardScheme("mojo"); |
| } |
| DynamicServiceLoader::~DynamicServiceLoader() { |