| 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" |
| 11 #include "android_webview/browser/compositor_id.h" |
| 11 #include "android_webview/browser/deferred_gpu_command_service.h" | 12 #include "android_webview/browser/deferred_gpu_command_service.h" |
| 12 #include "android_webview/browser/hardware_renderer.h" | 13 #include "android_webview/browser/hardware_renderer.h" |
| 13 #include "android_webview/browser/render_thread_manager_client.h" | 14 #include "android_webview/browser/render_thread_manager_client.h" |
| 14 #include "android_webview/browser/scoped_app_gl_state_restore.h" | 15 #include "android_webview/browser/scoped_app_gl_state_restore.h" |
| 15 #include "android_webview/public/browser/draw_gl.h" | 16 #include "android_webview/public/browser/draw_gl.h" |
| 16 #include "base/bind.h" | 17 #include "base/bind.h" |
| 17 #include "base/lazy_instance.h" | 18 #include "base/lazy_instance.h" |
| 18 #include "base/location.h" | 19 #include "base/location.h" |
| 19 #include "base/time/time.h" | 20 #include "base/time/time.h" |
| 20 #include "base/trace_event/trace_event_argument.h" | 21 #include "base/trace_event/trace_event_argument.h" |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 return inside_hardware_release_; | 221 return inside_hardware_release_; |
| 221 } | 222 } |
| 222 | 223 |
| 223 RenderThreadManager::ReturnedResources::ReturnedResources() | 224 RenderThreadManager::ReturnedResources::ReturnedResources() |
| 224 : output_surface_id(0u) {} | 225 : output_surface_id(0u) {} |
| 225 | 226 |
| 226 RenderThreadManager::ReturnedResources::~ReturnedResources() {} | 227 RenderThreadManager::ReturnedResources::~ReturnedResources() {} |
| 227 | 228 |
| 228 void RenderThreadManager::InsertReturnedResourcesOnRT( | 229 void RenderThreadManager::InsertReturnedResourcesOnRT( |
| 229 const cc::ReturnedResourceArray& resources, | 230 const cc::ReturnedResourceArray& resources, |
| 230 uint32_t compositor_id, | 231 const CompositorID& compositor_id, |
| 231 uint32_t output_surface_id) { | 232 uint32_t output_surface_id) { |
| 232 base::AutoLock lock(lock_); | 233 base::AutoLock lock(lock_); |
| 233 ReturnedResources& returned_resources = | 234 ReturnedResources& returned_resources = |
| 234 returned_resources_map_[compositor_id]; | 235 returned_resources_map_[compositor_id]; |
| 235 if (returned_resources.output_surface_id != output_surface_id) { | 236 if (returned_resources.output_surface_id != output_surface_id) { |
| 236 returned_resources.resources.clear(); | 237 returned_resources.resources.clear(); |
| 237 } | 238 } |
| 238 returned_resources.resources.insert(returned_resources.resources.end(), | 239 returned_resources.resources.insert(returned_resources.resources.end(), |
| 239 resources.begin(), resources.end()); | 240 resources.begin(), resources.end()); |
| 240 returned_resources.output_surface_id = output_surface_id; | 241 returned_resources.output_surface_id = output_surface_id; |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 395 : render_thread_manager_(render_thread_manager) { | 396 : render_thread_manager_(render_thread_manager) { |
| 396 DCHECK(!render_thread_manager_->IsInsideHardwareRelease()); | 397 DCHECK(!render_thread_manager_->IsInsideHardwareRelease()); |
| 397 render_thread_manager_->SetInsideHardwareRelease(true); | 398 render_thread_manager_->SetInsideHardwareRelease(true); |
| 398 } | 399 } |
| 399 | 400 |
| 400 RenderThreadManager::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { | 401 RenderThreadManager::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { |
| 401 render_thread_manager_->SetInsideHardwareRelease(false); | 402 render_thread_manager_->SetInsideHardwareRelease(false); |
| 402 } | 403 } |
| 403 | 404 |
| 404 } // namespace android_webview | 405 } // namespace android_webview |
| OLD | NEW |