Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(88)

Unified Diff: mojo/shell/dynamic_service_loader.cc

Issue 327523004: Introduce very beginning of navigation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use a temporary connection per navigation Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698