| Index: components/surfaces/surfaces_service_application.h
|
| diff --git a/components/surfaces/surfaces_service_application.h b/components/surfaces/surfaces_service_application.h
|
| index 9101c9d10ce962765a1b87b88251fa12a1d73638..edf098d85238f55f755a512cd5829e14d968f8d0 100644
|
| --- a/components/surfaces/surfaces_service_application.h
|
| +++ b/components/surfaces/surfaces_service_application.h
|
| @@ -5,6 +5,8 @@
|
| #ifndef COMPONENTS_SURFACES_SURFACES_SERVICE_APPLICATION_H_
|
| #define COMPONENTS_SURFACES_SURFACES_SERVICE_APPLICATION_H_
|
|
|
| +#include <set>
|
| +
|
| #include "base/macros.h"
|
| #include "cc/surfaces/surface_manager.h"
|
| #include "components/surfaces/public/interfaces/display.mojom.h"
|
| @@ -18,6 +20,8 @@ class ApplicationConnection;
|
| }
|
|
|
| namespace surfaces {
|
| +class DisplayFactoryImpl;
|
| +class SurfacesImpl;
|
| class SurfacesScheduler;
|
|
|
| class SurfacesServiceApplication
|
| @@ -41,12 +45,20 @@ class SurfacesServiceApplication
|
| void Create(mojo::ApplicationConnection* connection,
|
| mojo::InterfaceRequest<mojo::Surface> request) override;
|
|
|
| + void DisplayFactoryDestroyed(DisplayFactoryImpl* display_factory);
|
| + void SurfaceDestroyed(SurfacesImpl* surface);
|
| +
|
| private:
|
| cc::SurfaceManager manager_;
|
| uint32_t next_id_namespace_;
|
| scoped_ptr<SurfacesScheduler> scheduler_;
|
| mojo::TracingImpl tracing_;
|
|
|
| + // Since these two classes have non-owning pointers to |manager_|, need to
|
| + // destroy them if this class is destructed first.
|
| + std::set<DisplayFactoryImpl*> display_factories_;
|
| + std::set<SurfacesImpl*> surfaces_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SurfacesServiceApplication);
|
| };
|
|
|
|
|