Index: cc/output/overlay_processor.cc |
diff --git a/cc/output/overlay_processor.cc b/cc/output/overlay_processor.cc |
index 7996ce6789f5c0eb20c6acb1641848028a149cfd..40ac45228dca51e17b7235c5876425098bc42991 100644 |
--- a/cc/output/overlay_processor.cc |
+++ b/cc/output/overlay_processor.cc |
@@ -62,6 +62,10 @@ void OverlayProcessor::ProcessForOverlays(ResourceProvider* resource_provider, |
OverlayCandidateList* candidates, |
CALayerOverlayList* ca_layer_overlays, |
gfx::Rect* damage_rect) { |
+ OverlayCandidateValidator* overlay_validator = |
+ surface_->GetOverlayCandidateValidator(); |
+ overlay_validator->ClearPromotableResources(); |
+ |
// If we have any copy requests, we can't remove any quads for overlays or |
// CALayers because the framebuffer would be missing the removed quads' |
// contents. |
@@ -121,4 +125,13 @@ void OverlayProcessor::UpdateDamageRect(OverlayCandidateList* candidates, |
damage_rect->Union(output_surface_overlay_damage_rect); |
} |
+bool OverlayProcessor::IsResourcePromotable(ResourceId resource_id) { |
+ OverlayCandidateValidator* validator = |
+ surface_->GetOverlayCandidateValidator(); |
+ if (!validator) |
+ return false; |
+ |
+ return validator->IsResourcePromotable(resource_id); |
+} |
+ |
} // namespace cc |