Index: mojo/services/view_manager/view_manager_unittest.cc |
diff --git a/mojo/services/view_manager/view_manager_unittest.cc b/mojo/services/view_manager/view_manager_unittest.cc |
index 3c400e28615f019bba8c8dc2824e50491c0e43ea..bc98c0268880e13965765361fa60ea730eccd808 100644 |
--- a/mojo/services/view_manager/view_manager_unittest.cc |
+++ b/mojo/services/view_manager/view_manager_unittest.cc |
@@ -304,8 +304,7 @@ bool ViewManagerProxy::in_embed_ = false; |
class TestViewManagerClientConnection |
: public InterfaceImpl<ViewManagerClient> { |
public: |
- TestViewManagerClientConnection(ApplicationConnection* app_connection) : |
- connection_(&tracker_) { |
+ TestViewManagerClientConnection() : connection_(&tracker_) { |
tracker_.set_delegate(&connection_); |
} |
@@ -382,12 +381,14 @@ class TestViewManagerClientConnection |
// Used with ViewManagerService::Embed(). Creates a |
// TestViewManagerClientConnection, which creates and owns the ViewManagerProxy. |
-class EmbedServiceLoader : public ServiceLoader, ApplicationDelegate { |
+class EmbedServiceLoader : public ServiceLoader, |
+ ApplicationDelegate, |
+ public InterfaceFactory<ViewManagerClient> { |
public: |
EmbedServiceLoader() {} |
virtual ~EmbedServiceLoader() {} |
- // ServiceLoader: |
+ // ServiceLoader implementation: |
virtual void LoadService(ServiceManager* manager, |
const GURL& url, |
ScopedMessagePipeHandle shell_handle) OVERRIDE { |
@@ -399,13 +400,19 @@ class EmbedServiceLoader : public ServiceLoader, ApplicationDelegate { |
const GURL& url) OVERRIDE { |
} |
- // ApplicationDelegate |
+ // ApplicationDelegate implementation: |
virtual bool ConfigureIncomingConnection(ApplicationConnection* connection) |
OVERRIDE { |
- connection->AddService<TestViewManagerClientConnection>(); |
+ connection->AddServiceFactory(this); |
return true; |
} |
+ // InterfaceFactory<ViewManagerClient> implementation: |
+ virtual void Create(ApplicationConnection* connection, |
+ InterfaceRequest<ViewManagerClient> request) OVERRIDE { |
+ mojo::BindToRequest(new TestViewManagerClientConnection, &request); |
+ } |
+ |
private: |
ScopedVector<ApplicationImpl> apps_; |