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

Unified Diff: android_webview/browser/hardware_renderer.cc

Issue 255783007: Leak instead of deadlock if executeHardwareAction fails (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: android_webview/browser/hardware_renderer.cc
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc
index a45da7ff724231c5775bfc66b33474068a95fe18..6136aeab9af4aa988b0b410093a94130fa56e37f 100644
--- a/android_webview/browser/hardware_renderer.cc
+++ b/android_webview/browser/hardware_renderer.cc
@@ -206,23 +206,22 @@ void HardwareRenderer::CalculateTileMemoryPolicy() {
namespace internal {
-bool ScopedAllowGL::allow_gl = false;
+base::LazyInstance<base::ThreadLocalBoolean> ScopedAllowGL::allow_gl;
// static
bool ScopedAllowGL::IsAllowed() {
- return GLViewRendererManager::GetInstance()->OnRenderThread() && allow_gl;
+ return allow_gl.Get().Get();
}
ScopedAllowGL::ScopedAllowGL() {
- DCHECK(GLViewRendererManager::GetInstance()->OnRenderThread());
- DCHECK(!allow_gl);
- allow_gl = true;
+ DCHECK(!allow_gl.Get().Get());
+ allow_gl.Get().Set(true);
if (g_service.Get())
g_service.Get()->RunTasks();
}
-ScopedAllowGL::~ScopedAllowGL() { allow_gl = false; }
+ScopedAllowGL::~ScopedAllowGL() { allow_gl.Get().Set(false); }
DeferredGpuCommandService::DeferredGpuCommandService() {}
« no previous file with comments | « android_webview/browser/hardware_renderer.h ('k') | android_webview/java/src/org/chromium/android_webview/AwContents.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698