summaryrefslogtreecommitdiffstats
path: root/mojo/shell
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/shell')
-rw-r--r--mojo/shell/mojo_url_resolver.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/mojo/shell/mojo_url_resolver.cc b/mojo/shell/mojo_url_resolver.cc
index 63a8b57..9591b1d 100644
--- a/mojo/shell/mojo_url_resolver.cc
+++ b/mojo/shell/mojo_url_resolver.cc
@@ -9,18 +9,19 @@
#include "base/logging.h"
#include "base/path_service.h"
#include "net/base/filename_util.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& host_name) {
#if defined(OS_WIN)
- return file_name + ".dll";
+ return host_name + ".dll";
#elif defined(OS_LINUX)
- return "lib" + file_name + ".so";
+ return "lib" + host_name + ".so";
#elif defined(OS_MACOSX)
- return "lib" + file_name + ".dylib";
+ return "lib" + host_name + ".dylib";
#else
NOTREACHED() << "dynamic loading of services not supported";
return std::string();
@@ -30,6 +31,8 @@ std::string MakeSharedLibraryName(const std::string& file_name) {
} // namespace
MojoURLResolver::MojoURLResolver() {
+ // Needed to treat first component of mojo URLs as host, not path.
+ url::AddStandardScheme("mojo");
}
MojoURLResolver::~MojoURLResolver() {
@@ -49,7 +52,7 @@ GURL MojoURLResolver::Resolve(const GURL& mojo_url) const {
if (it != url_map_.end())
return it->second;
- std::string lib = MakeSharedLibraryName(mojo_url.ExtractFileName());
+ std::string lib = MakeSharedLibraryName(mojo_url.host());
if (local_file_set_.find(mojo_url) != local_file_set_.end()) {
// Resolve to a local file URL.