Index: mojo/service_manager/service_manager.cc |
diff --git a/mojo/service_manager/service_manager.cc b/mojo/service_manager/service_manager.cc |
index 7b5be43d175bb8ef280efbaee6658b673109b9fa..d3f2bc66194a3d96017b1b22efa78dc9f3a7c13c 100644 |
--- a/mojo/service_manager/service_manager.cc |
+++ b/mojo/service_manager/service_manager.cc |
@@ -94,11 +94,15 @@ ServiceManager::ServiceManager() : interceptor_(NULL) { |
} |
ServiceManager::~ServiceManager() { |
- STLDeleteValues(&url_to_shell_impl_); |
+ DCHECK(url_to_shell_impl_.empty()); |
STLDeleteValues(&url_to_loader_); |
STLDeleteValues(&scheme_to_loader_); |
} |
+void ServiceManager::TerminateShellConnections() { |
+ STLDeleteValues(&url_to_shell_impl_); |
+} |
+ |
// static |
ServiceManager* ServiceManager::GetInstance() { |
static base::LazyInstance<ServiceManager> instance = |
@@ -157,7 +161,6 @@ ServiceLoader* ServiceManager::GetLoaderForURL(const GURL& url) { |
scheme_to_loader_.find(url.scheme()); |
if (scheme_it != scheme_to_loader_.end()) |
return scheme_it->second; |
- DCHECK(default_loader_); |
return default_loader_.get(); |
} |