Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2035)

Unified Diff: android_webview/browser/shared_renderer_state.cc

Issue 1769913003: sync compositor: Add output_surface_id (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: unit test Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/browser/shared_renderer_state.cc
diff --git a/android_webview/browser/shared_renderer_state.cc b/android_webview/browser/shared_renderer_state.cc
index e81ab1261ec7d19e7a71cfb406070b3a7afa314d..7652217a54b7694da0c4100bd4d3e7d5eac10361 100644
--- a/android_webview/browser/shared_renderer_state.cc
+++ b/android_webview/browser/shared_renderer_state.cc
@@ -213,18 +213,26 @@ bool SharedRendererState::IsInsideHardwareRelease() const {
return inside_hardware_release_;
}
+SharedRendererState::ReturnedResources::ReturnedResources()
+ : output_surface_id(0u) {}
+
void SharedRendererState::InsertReturnedResourcesOnRT(
const cc::ReturnedResourceArray& resources,
- uint32_t compositor_id) {
+ uint32_t compositor_id,
+ uint32_t output_surface_id) {
base::AutoLock lock(lock_);
- cc::ReturnedResourceArray& returned_resources =
+ ReturnedResources& returned_resources =
returned_resources_map_[compositor_id];
- returned_resources.insert(returned_resources.end(), resources.begin(),
- resources.end());
+ if (returned_resources.output_surface_id != output_surface_id) {
+ returned_resources.resources.clear();
+ }
+ returned_resources.resources.insert(returned_resources.resources.end(),
+ resources.begin(), resources.end());
+ returned_resources.output_surface_id = output_surface_id;
}
void SharedRendererState::SwapReturnedResourcesOnUI(
- std::map<uint32_t, cc::ReturnedResourceArray>* returned_resource_map) {
+ ReturnedResourcesMap* returned_resource_map) {
DCHECK(returned_resource_map->empty());
base::AutoLock lock(lock_);
returned_resource_map->swap(returned_resources_map_);

Powered by Google App Engine
This is Rietveld 408576698