| 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..17cbcf23f81ceb3e35689fce27402e668566e71e 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 DisplayImpl;
|
| +class SurfacesImpl;
|
| class SurfacesScheduler;
|
|
|
| class SurfacesServiceApplication
|
| @@ -41,12 +45,21 @@ class SurfacesServiceApplication
|
| void Create(mojo::ApplicationConnection* connection,
|
| mojo::InterfaceRequest<mojo::Surface> request) override;
|
|
|
| + void DisplayCreated(DisplayImpl* display);
|
| + void DisplayDestroyed(DisplayImpl* display);
|
| + 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<DisplayImpl*> displays_;
|
| + std::set<SurfacesImpl*> surfaces_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(SurfacesServiceApplication);
|
| };
|
|
|
|
|