Index: cc/output/overlay_processor.h |
diff --git a/cc/output/overlay_processor.h b/cc/output/overlay_processor.h |
index 48ffe6b5ad56dc1969fa5069146321c98cf4ed1f..26bfe165a04a19909373da285d4c703327b04735 100644 |
--- a/cc/output/overlay_processor.h |
+++ b/cc/output/overlay_processor.h |
@@ -23,10 +23,13 @@ class CC_EXPORT OverlayProcessor { |
// Returns false if the strategy cannot be made to work with the |
// current set of render passes. Returns true if the strategy was successful |
// and adds any additional passes necessary to represent overlays to |
- // |render_passes|. |
+ // |render_passes|. Strategy can also optimize |damage_rect| as it seems |
+ // fit to reduce GL composition, in case |damage_rect| is obscured by |
+ // overlays. |
virtual bool Attempt(ResourceProvider* resource_provider, |
RenderPassList* render_passes, |
- OverlayCandidateList* candidates) = 0; |
+ OverlayCandidateList* candidates, |
+ gfx::Rect* damage_rect) = 0; |
}; |
typedef ScopedPtrVector<Strategy> StrategyList; |
@@ -37,7 +40,8 @@ class CC_EXPORT OverlayProcessor { |
void ProcessForOverlays(ResourceProvider* resource_provider, |
RenderPassList* render_passes, |
- OverlayCandidateList* candidates); |
+ OverlayCandidateList* candidates, |
+ gfx::Rect* damage_rect); |
protected: |
StrategyList strategies_; |