Chromium Code Reviews| Index: cc/trees/damage_tracker.h |
| diff --git a/cc/trees/damage_tracker.h b/cc/trees/damage_tracker.h |
| index fbcaa69824df97de458e29d2c0c81fd1a315834b..eb7bf1b8dcff1113a4c0f52ff368fe8571e22b9b 100644 |
| --- a/cc/trees/damage_tracker.h |
| +++ b/cc/trees/damage_tracker.h |
| @@ -53,21 +53,29 @@ class CC_EXPORT DamageTracker { |
| gfx::RectF TrackDamageFromSurfaceMask(LayerImpl* target_surface_mask_layer); |
| gfx::RectF TrackDamageFromLeftoverRects(); |
| - gfx::RectF RemoveRectFromCurrentFrame(int layer_id, bool* layer_is_new); |
| - void SaveRectForNextFrame(int layer_id, const gfx::RectF& target_space_rect); |
| + void PrepareRectHistoryForUpdate(); |
| // These helper functions are used only in TrackDamageFromActiveLayers(). |
| void ExtendDamageForLayer(LayerImpl* layer, gfx::RectF* target_damage_rect); |
| void ExtendDamageForRenderSurface(LayerImpl* layer, |
| gfx::RectF* target_damage_rect); |
| - // To correctly track exposed regions, two hashtables of rects are maintained. |
| - // The "current" map is used to compute exposed regions of the current frame, |
| - // while the "next" map is used to collect layer rects that are used in the |
| - // next frame. |
| - typedef base::hash_map<int, gfx::RectF> RectMap; |
| - scoped_ptr<RectMap> current_rect_history_; |
| - scoped_ptr<RectMap> next_rect_history_; |
| + struct RectMapData { |
|
danakj
2013/11/21 00:13:40
formatting is off, please run git cl format on the
ostap
2013/11/21 17:06:23
Great! Didn't know about "cl format"!
Done
|
| + RectMapData() : updated_(false) {} |
| + void Update(const gfx::RectF& rect) { |
| + rect_ = rect; |
| + updated_ = true; |
| + } |
| + |
| + gfx::RectF rect_; |
| + bool updated_; |
| + |
| + }; |
| + typedef base::hash_map<int, RectMapData> RectMap; |
| + |
| + RectMapData& RectDataForLayer(int layer_id, bool* layer_is_new); |
| + |
| + RectMap rect_history_; |
| gfx::RectF current_damage_rect_; |