| Index: mojo/ui/content_viewer_app.h
 | 
| diff --git a/mojo/ui/content_viewer_app.h b/mojo/ui/content_viewer_app.h
 | 
| index e09a66afe8fda84ad4a16c495a255e5e38c7e0f7..c28d2d9fec27709dbab3bbf0c56ae0e5a2552fe1 100644
 | 
| --- a/mojo/ui/content_viewer_app.h
 | 
| +++ b/mojo/ui/content_viewer_app.h
 | 
| @@ -6,12 +6,18 @@
 | 
|  #define MOJO_UI_CONTENT_VIEWER_APP_H_
 | 
|  
 | 
|  #include "mojo/common/strong_binding_set.h"
 | 
| +#include "mojo/public/cpp/application/application_impl_base.h"
 | 
| +#include "mojo/public/cpp/system/macros.h"
 | 
|  #include "mojo/services/content_handler/interfaces/content_handler.mojom.h"
 | 
| -#include "mojo/ui/view_provider_app.h"
 | 
|  
 | 
|  namespace mojo {
 | 
| +
 | 
| +class ServiceProviderImpl;
 | 
| +
 | 
|  namespace ui {
 | 
|  
 | 
| +class ViewProviderApp;
 | 
| +
 | 
|  // A simple ContentHandler application implementation for rendering
 | 
|  // content as Views.  Subclasses must provide a function to create
 | 
|  // the view provider application on demand.
 | 
| @@ -19,17 +25,14 @@ namespace ui {
 | 
|  // TODO(jeffbrown): Support creating the view provider application in a
 | 
|  // separate thread if desired (often not the case).  This is one reason
 | 
|  // we are not using the ContentHandlerFactory here.
 | 
| -class ContentViewerApp : public ApplicationDelegate {
 | 
| +class ContentViewerApp : public ApplicationImplBase {
 | 
|   public:
 | 
|    ContentViewerApp();
 | 
|    ~ContentViewerApp() override;
 | 
|  
 | 
| -  ApplicationImpl* app_impl() { return app_impl_; }
 | 
| -
 | 
| -  // |ApplicationDelegate|:
 | 
| -  void Initialize(ApplicationImpl* app) override;
 | 
| -  bool ConfigureIncomingConnection(
 | 
| -      ServiceProviderImpl* service_provider_impl) override;
 | 
| +  // |ApplicationImplBase|:
 | 
| +  void OnInitialize() override;
 | 
| +  bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override;
 | 
|  
 | 
|    // Called to create the view provider application to view the content.
 | 
|    //
 | 
| @@ -42,8 +45,12 @@ class ContentViewerApp : public ApplicationDelegate {
 | 
|    // request.
 | 
|    // The |response| carries the data retrieved by the content handler.
 | 
|    //
 | 
| -  // Returns the view provider application delegate to view the content,
 | 
| -  // or nullptr if the content could not be loaded.
 | 
| +  // Returns the view provider application to view the content, or nullptr if
 | 
| +  // the content could not be loaded.
 | 
| +  //
 | 
| +  // TODO(vtl): This interface is a bit broken. (What's the ownership of the
 | 
| +  // returned ViewProviderApp implementation?) See my TODO in the implementation
 | 
| +  // of StartViewer().
 | 
|    virtual ViewProviderApp* LoadContent(const std::string& content_handler_url,
 | 
|                                         URLResponsePtr response) = 0;
 | 
|  
 | 
| @@ -54,7 +61,6 @@ class ContentViewerApp : public ApplicationDelegate {
 | 
|                     InterfaceRequest<Application> application_request,
 | 
|                     URLResponsePtr response);
 | 
|  
 | 
| -  ApplicationImpl* app_impl_ = nullptr;
 | 
|    StrongBindingSet<ContentHandler> bindings_;
 | 
|  
 | 
|    MOJO_DISALLOW_COPY_AND_ASSIGN(ContentViewerApp);
 | 
| 
 |