| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "android_webview/browser/render_thread_manager.h" | 5 #include "android_webview/browser/render_thread_manager.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "android_webview/browser/child_frame.h" | 9 #include "android_webview/browser/child_frame.h" |
| 10 #include "android_webview/browser/compositor_frame_producer.h" | 10 #include "android_webview/browser/compositor_frame_producer.h" |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 base::AutoLock lock(lock_); | 215 base::AutoLock lock(lock_); |
| 216 inside_hardware_release_ = inside; | 216 inside_hardware_release_ = inside; |
| 217 } | 217 } |
| 218 | 218 |
| 219 bool RenderThreadManager::IsInsideHardwareRelease() const { | 219 bool RenderThreadManager::IsInsideHardwareRelease() const { |
| 220 base::AutoLock lock(lock_); | 220 base::AutoLock lock(lock_); |
| 221 return inside_hardware_release_; | 221 return inside_hardware_release_; |
| 222 } | 222 } |
| 223 | 223 |
| 224 RenderThreadManager::ReturnedResources::ReturnedResources() | 224 RenderThreadManager::ReturnedResources::ReturnedResources() |
| 225 : output_surface_id(0u) {} | 225 : compositor_frame_sink_id(0u) {} |
| 226 | 226 |
| 227 RenderThreadManager::ReturnedResources::~ReturnedResources() {} | 227 RenderThreadManager::ReturnedResources::~ReturnedResources() {} |
| 228 | 228 |
| 229 void RenderThreadManager::InsertReturnedResourcesOnRT( | 229 void RenderThreadManager::InsertReturnedResourcesOnRT( |
| 230 const cc::ReturnedResourceArray& resources, | 230 const cc::ReturnedResourceArray& resources, |
| 231 const CompositorID& compositor_id, | 231 const CompositorID& compositor_id, |
| 232 uint32_t output_surface_id) { | 232 uint32_t compositor_frame_sink_id) { |
| 233 base::AutoLock lock(lock_); | 233 base::AutoLock lock(lock_); |
| 234 ReturnedResources& returned_resources = | 234 ReturnedResources& returned_resources = |
| 235 returned_resources_map_[compositor_id]; | 235 returned_resources_map_[compositor_id]; |
| 236 if (returned_resources.output_surface_id != output_surface_id) { | 236 if (returned_resources.compositor_frame_sink_id != compositor_frame_sink_id) { |
| 237 returned_resources.resources.clear(); | 237 returned_resources.resources.clear(); |
| 238 } | 238 } |
| 239 returned_resources.resources.insert(returned_resources.resources.end(), | 239 returned_resources.resources.insert(returned_resources.resources.end(), |
| 240 resources.begin(), resources.end()); | 240 resources.begin(), resources.end()); |
| 241 returned_resources.output_surface_id = output_surface_id; | 241 returned_resources.compositor_frame_sink_id = compositor_frame_sink_id; |
| 242 } | 242 } |
| 243 | 243 |
| 244 void RenderThreadManager::SwapReturnedResourcesOnUI( | 244 void RenderThreadManager::SwapReturnedResourcesOnUI( |
| 245 ReturnedResourcesMap* returned_resource_map) { | 245 ReturnedResourcesMap* returned_resource_map) { |
| 246 DCHECK(returned_resource_map->empty()); | 246 DCHECK(returned_resource_map->empty()); |
| 247 base::AutoLock lock(lock_); | 247 base::AutoLock lock(lock_); |
| 248 returned_resource_map->swap(returned_resources_map_); | 248 returned_resource_map->swap(returned_resources_map_); |
| 249 } | 249 } |
| 250 | 250 |
| 251 bool RenderThreadManager::ReturnedResourcesEmptyOnUI() const { | 251 bool RenderThreadManager::ReturnedResourcesEmptyOnUI() const { |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 : render_thread_manager_(render_thread_manager) { | 398 : render_thread_manager_(render_thread_manager) { |
| 399 DCHECK(!render_thread_manager_->IsInsideHardwareRelease()); | 399 DCHECK(!render_thread_manager_->IsInsideHardwareRelease()); |
| 400 render_thread_manager_->SetInsideHardwareRelease(true); | 400 render_thread_manager_->SetInsideHardwareRelease(true); |
| 401 } | 401 } |
| 402 | 402 |
| 403 RenderThreadManager::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { | 403 RenderThreadManager::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { |
| 404 render_thread_manager_->SetInsideHardwareRelease(false); | 404 render_thread_manager_->SetInsideHardwareRelease(false); |
| 405 } | 405 } |
| 406 | 406 |
| 407 } // namespace android_webview | 407 } // namespace android_webview |
| OLD | NEW |