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() { |