| Index: mojo/service_manager/service_manager.cc
|
| diff --git a/mojo/service_manager/service_manager.cc b/mojo/service_manager/service_manager.cc
|
| index fe8575dc75543cdd18c5e89f1e22bff1c38dd255..470c3d39d387dcbe25ad995e8ec71ef44c563121 100644
|
| --- a/mojo/service_manager/service_manager.cc
|
| +++ b/mojo/service_manager/service_manager.cc
|
| @@ -32,6 +32,7 @@ class ServiceManager::ServiceFactory : public Shell, public ErrorHandler {
|
| url,
|
| pipe.handle_to_self.Pass());
|
| }
|
| +
|
| virtual ~ServiceFactory() {}
|
|
|
| void ConnectToClient(ScopedMessagePipeHandle handle) {
|
| @@ -88,14 +89,15 @@ ServiceManager* ServiceManager::GetInstance() {
|
| return &instance.Get();
|
| }
|
|
|
| -void ServiceManager::SetLoaderForURL(ServiceLoader* loader, const GURL& gurl) {
|
| - DCHECK(url_to_loader_.find(gurl) == url_to_loader_.end());
|
| - url_to_loader_[gurl] = loader;
|
| +void ServiceManager::SetLoaderForScheme(ServiceLoader* loader,
|
| + const std::string& scheme) {
|
| + DCHECK(scheme_to_loader_.find(scheme) == scheme_to_loader_.end());
|
| + scheme_to_loader_[scheme] = loader;
|
| }
|
|
|
| ServiceLoader* ServiceManager::GetLoaderForURL(const GURL& gurl) {
|
| - LoaderMap::const_iterator it = url_to_loader_.find(gurl);
|
| - if (it != url_to_loader_.end())
|
| + LoaderMap::const_iterator it = scheme_to_loader_.find(gurl.scheme());
|
| + if (it != scheme_to_loader_.end())
|
| return it->second;
|
| DCHECK(default_loader_);
|
| return default_loader_;
|
|
|