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

Side by Side Diff: android_webview/browser/render_thread_manager.cc

Issue 1920843002: Test: deleting RTM before BVR does not leak resources. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix clang compile error Created 4 years, 8 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 unified diff | Download patch
OLDNEW
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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 inside_hardware_release_(false), 98 inside_hardware_release_(false),
99 weak_factory_on_ui_thread_(this) { 99 weak_factory_on_ui_thread_(this) {
100 DCHECK(ui_loop_->BelongsToCurrentThread()); 100 DCHECK(ui_loop_->BelongsToCurrentThread());
101 DCHECK(client_); 101 DCHECK(client_);
102 ui_thread_weak_ptr_ = weak_factory_on_ui_thread_.GetWeakPtr(); 102 ui_thread_weak_ptr_ = weak_factory_on_ui_thread_.GetWeakPtr();
103 ResetRequestInvokeGLCallback(); 103 ResetRequestInvokeGLCallback();
104 } 104 }
105 105
106 RenderThreadManager::~RenderThreadManager() { 106 RenderThreadManager::~RenderThreadManager() {
107 DCHECK(ui_loop_->BelongsToCurrentThread()); 107 DCHECK(ui_loop_->BelongsToCurrentThread());
108 DCHECK(!hardware_renderer_.get());
109 if (compositor_frame_producer_) { 108 if (compositor_frame_producer_) {
110 compositor_frame_producer_->OnCompositorFrameConsumerWillDestroy(); 109 compositor_frame_producer_->OnCompositorFrameConsumerWillDestroy();
111 } 110 }
111 DCHECK(!hardware_renderer_.get());
112 } 112 }
113 113
114 void RenderThreadManager::ClientRequestInvokeGL(bool for_idle) { 114 void RenderThreadManager::ClientRequestInvokeGL(bool for_idle) {
115 if (ui_loop_->BelongsToCurrentThread()) { 115 if (ui_loop_->BelongsToCurrentThread()) {
116 if (!g_request_invoke_gl_tracker.Get().ShouldRequestOnUiThread(this)) 116 if (!g_request_invoke_gl_tracker.Get().ShouldRequestOnUiThread(this))
117 return; 117 return;
118 ClientRequestInvokeGLOnUI(); 118 ClientRequestInvokeGLOnUI();
119 } else { 119 } else {
120 if (!g_request_invoke_gl_tracker.Get().ShouldRequestOnNonUiThread(this)) 120 if (!g_request_invoke_gl_tracker.Get().ShouldRequestOnNonUiThread(this))
121 return; 121 return;
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 : render_thread_manager_(render_thread_manager) { 390 : render_thread_manager_(render_thread_manager) {
391 DCHECK(!render_thread_manager_->IsInsideHardwareRelease()); 391 DCHECK(!render_thread_manager_->IsInsideHardwareRelease());
392 render_thread_manager_->SetInsideHardwareRelease(true); 392 render_thread_manager_->SetInsideHardwareRelease(true);
393 } 393 }
394 394
395 RenderThreadManager::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() { 395 RenderThreadManager::InsideHardwareReleaseReset::~InsideHardwareReleaseReset() {
396 render_thread_manager_->SetInsideHardwareRelease(false); 396 render_thread_manager_->SetInsideHardwareRelease(false);
397 } 397 }
398 398
399 } // namespace android_webview 399 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/browser_view_renderer_unittest.cc ('k') | android_webview/browser/test/fake_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698