Index: cc/layer_tree_host_impl.cc |
diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc |
index 69eb10bc8f3370fa110d4f2f11566e3f104072c9..26721ad38ee9a6119b7ff3d4aa3ef61aa2b06590 100644 |
--- a/cc/layer_tree_host_impl.cc |
+++ b/cc/layer_tree_host_impl.cc |
@@ -387,10 +387,12 @@ bool LayerTreeHostImpl::calculateRenderPasses(FrameData& frame) |
OcclusionTrackerImpl occlusionTracker(m_rootLayerImpl->renderSurface()->contentRect(), recordMetricsForFrame); |
occlusionTracker.setMinimumTrackingSize(m_settings.minimumOcclusionTrackingSize); |
- if (settings().showOccludingRects) |
- occlusionTracker.setOccludingScreenSpaceRectsContainer(&frame.occludingScreenSpaceRects); |
- if (settings().showNonOccludingRects) |
- occlusionTracker.setNonOccludingScreenSpaceRectsContainer(&frame.nonOccludingScreenSpaceRects); |
+ if (m_hudLayerImpl) { |
+ if (m_hudLayerImpl->flags().showOccludingRects) |
+ occlusionTracker.setOccludingScreenSpaceRectsContainer(&frame.occludingScreenSpaceRects); |
+ if (m_hudLayerImpl->flags().showNonOccludingRects) |
+ occlusionTracker.setNonOccludingScreenSpaceRectsContainer(&frame.nonOccludingScreenSpaceRects); |
+ } |
// Add quads to the Render passes in FrontToBack order to allow for testing occlusion and performing culling during the tree walk. |
typedef LayerIterator<LayerImpl, std::vector<LayerImpl*>, RenderSurfaceImpl, LayerIteratorActions::FrontToBack> LayerIteratorType; |
@@ -694,13 +696,12 @@ void LayerTreeHostImpl::drawLayers(const FrameData& frame) |
// RenderWidget. |
m_fpsCounter->markBeginningOfFrame(base::TimeTicks::Now()); |
- if (m_settings.showDebugRects()) |
- m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(), *frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, frame.nonOccludingScreenSpaceRects, settings()); |
- |
// Because the contents of the HUD depend on everything else in the frame, the contents |
// of its texture are updated as the last thing before the frame is drawn. |
- if (m_hudLayerImpl) |
+ if (m_hudLayerImpl) { |
+ m_debugRectHistory->saveDebugRectsForCurrentFrame(m_rootLayerImpl.get(), *frame.renderSurfaceLayerList, frame.occludingScreenSpaceRects, frame.nonOccludingScreenSpaceRects, m_hudLayerImpl->flags()); |
m_hudLayerImpl->updateHudTexture(m_resourceProvider.get()); |
+ } |
m_renderer->drawFrame(frame.renderPasses, frame.renderPassesById); |