Chromium Code Reviews| Index: mojo/service_manager/service_manager.cc |
| diff --git a/mojo/service_manager/service_manager.cc b/mojo/service_manager/service_manager.cc |
| index ab72bdffd65549cbe4f221a2508502ceae53d53d..5bb8cbbd383c0672a047d2e4276ffc1376d22c31 100644 |
| --- a/mojo/service_manager/service_manager.cc |
| +++ b/mojo/service_manager/service_manager.cc |
| @@ -70,7 +70,9 @@ bool ServiceManager::TestAPI::HasFactoryForURL(const GURL& url) const { |
| manager_->url_to_service_factory_.end(); |
| } |
| -ServiceManager::ServiceManager() : default_loader_(NULL) { |
| +ServiceManager::ServiceManager() |
| + : default_loader_(NULL), |
| + interceptor_(NULL) { |
| } |
| ServiceManager::~ServiceManager() { |
| @@ -100,7 +102,11 @@ void ServiceManager::Connect(const GURL& url, |
| service_factory = new ServiceFactory(this, url); |
| url_to_service_factory_[url] = service_factory; |
| } |
| - service_factory->ConnectToClient(client_handle.Pass()); |
| + if (interceptor_) |
|
DaveMoore
2014/04/04 21:06:46
Please include braces even if it's one statement o
cpu_(ooo_6.6-7.5)
2014/04/04 23:42:45
Done.
|
| + service_factory->ConnectToClient( |
| + interceptor_->OnConnectToClient(url, client_handle.Pass())); |
| + else |
| + service_factory->ConnectToClient(client_handle.Pass()); |
| } |
| void ServiceManager::SetLoaderForURL(ServiceLoader* loader, const GURL& url) { |
| @@ -114,6 +120,10 @@ void ServiceManager::SetLoaderForScheme(ServiceLoader* loader, |
| scheme_to_loader_[scheme] = loader; |
| } |
| +void ServiceManager::SetInterceptor(ServiceInterceptor* interceptor) { |
| + interceptor_ = interceptor; |
| +} |
| + |
| ServiceLoader* ServiceManager::GetLoaderForURL(const GURL& url) { |
| URLToLoaderMap::const_iterator url_it = url_to_loader_.find(url); |
| if (url_it != url_to_loader_.end()) |