| Index: cc/occlusion_tracker.h
|
| diff --git a/cc/occlusion_tracker.h b/cc/occlusion_tracker.h
|
| index 96df92e31a5756924129b3b3a400f51d8248ed49..260dddbd1061ba92f322166ac5c7d673c17305d5 100644
|
| --- a/cc/occlusion_tracker.h
|
| +++ b/cc/occlusion_tracker.h
|
| @@ -26,7 +26,7 @@ class RenderSurface;
|
| template<typename LayerType, typename RenderSurfaceType>
|
| class CC_EXPORT OcclusionTrackerBase {
|
| public:
|
| - OcclusionTrackerBase(gfx::Rect rootTargetRect, bool recordMetricsForFrame);
|
| + OcclusionTrackerBase(gfx::Rect screenSpaceClipRect, bool recordMetricsForFrame);
|
| ~OcclusionTrackerBase();
|
|
|
| // Called at the beginning of each step in the LayerIterator's front-to-back traversal.
|
| @@ -47,7 +47,10 @@ public:
|
| OverdrawMetrics& overdrawMetrics() const { return *m_overdrawMetrics.get(); }
|
|
|
| // Gives the region of the screen that is not occluded by something opaque.
|
| - Region computeVisibleRegionInScreen() const { return SubtractRegions(m_rootTargetRect, m_stack.back().occlusionInScreen); }
|
| + Region computeVisibleRegionInScreen() const {
|
| + DCHECK(!m_stack.back().target->parent());
|
| + return SubtractRegions(m_screenSpaceClipRect, m_stack.back().occlusionFromInsideTarget);
|
| + }
|
|
|
| void setMinimumTrackingSize(const gfx::Size& size) { m_minimumTrackingSize = size; }
|
|
|
| @@ -60,8 +63,8 @@ protected:
|
| StackObject() : target(0) { }
|
| StackObject(const LayerType* target) : target(target) { }
|
| const LayerType* target;
|
| - Region occlusionInScreen;
|
| - Region occlusionInTarget;
|
| + Region occlusionFromOutsideTarget;
|
| + Region occlusionFromInsideTarget;
|
| };
|
|
|
| // The stack holds occluded regions for subtrees in the RenderSurfaceImpl-Layer tree, so that when we leave a subtree we may
|
| @@ -91,7 +94,7 @@ private:
|
| // Add the layer's occlusion to the tracked state.
|
| void markOccludedBehindLayer(const LayerType*);
|
|
|
| - gfx::Rect m_rootTargetRect;
|
| + gfx::Rect m_screenSpaceClipRect;
|
| scoped_ptr<OverdrawMetrics> m_overdrawMetrics;
|
| gfx::Size m_minimumTrackingSize;
|
|
|
|
|