| Index: cc/surfaces/display.h
|
| diff --git a/cc/surfaces/display.h b/cc/surfaces/display.h
|
| index 93606ba6e8c2bb0e974ca5dba0fa515b9709a0ba..8af18b5799a7f2e73eae5ec138d7fbb1d3c60c36 100644
|
| --- a/cc/surfaces/display.h
|
| +++ b/cc/surfaces/display.h
|
| @@ -11,6 +11,7 @@
|
| #include "cc/resources/returned_resource.h"
|
| #include "cc/surfaces/surface_aggregator.h"
|
| #include "cc/surfaces/surface_id.h"
|
| +#include "cc/surfaces/surface_manager.h"
|
| #include "cc/surfaces/surfaces_export.h"
|
|
|
| namespace gfx {
|
| @@ -28,13 +29,13 @@ class Surface;
|
| class SurfaceAggregator;
|
| class SurfaceIdAllocator;
|
| class SurfaceFactory;
|
| -class SurfaceManager;
|
|
|
| // A Display produces a surface that can be used to draw to a physical display
|
| // (OutputSurface). The client is responsible for creating and sizing the
|
| // surface IDs used to draw into the display and deciding when to draw.
|
| class CC_SURFACES_EXPORT Display : public OutputSurfaceClient,
|
| - public RendererClient {
|
| + public RendererClient,
|
| + public SurfaceDamageObserver {
|
| public:
|
| Display(DisplayClient* client,
|
| SurfaceManager* manager,
|
| @@ -72,6 +73,9 @@ class CC_SURFACES_EXPORT Display : public OutputSurfaceClient,
|
| virtual void SetFullRootLayerDamage() OVERRIDE {}
|
| virtual void RunOnDemandRasterTask(Task* on_demand_raster_task) OVERRIDE {}
|
|
|
| + // SurfaceDamageObserver implementation.
|
| + virtual void OnSurfaceDamaged(SurfaceId surface) OVERRIDE;
|
| +
|
| private:
|
| void InitializeOutputSurface();
|
|
|
| @@ -86,6 +90,8 @@ class CC_SURFACES_EXPORT Display : public OutputSurfaceClient,
|
| scoped_ptr<SurfaceAggregator> aggregator_;
|
| scoped_ptr<DirectRenderer> renderer_;
|
|
|
| + std::set<SurfaceId> contained_surfaces_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(Display);
|
| };
|
|
|
|
|