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

Unified Diff: android_webview/browser/shared_renderer_state.cc

Issue 408803002: aw: Release hardware onTrimMemory(MODERATE) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: auto reset Created 6 years, 5 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 8845b761cd252c16592d4480003288e53b07de09..582908eb39e699abb54e00ef9294bbd8fe0acc98 100644
--- a/android_webview/browser/shared_renderer_state.cc
+++ b/android_webview/browser/shared_renderer_state.cc
@@ -23,7 +23,7 @@ SharedRendererState::SharedRendererState(
client_on_ui_(client),
weak_factory_on_ui_thread_(this),
ui_thread_weak_ptr_(weak_factory_on_ui_thread_.GetWeakPtr()),
- hardware_allowed_(false),
+ inside_hardware_release_(false),
share_context_(NULL) {
DCHECK(ui_loop_->BelongsToCurrentThread());
DCHECK(client_on_ui_);
@@ -62,14 +62,14 @@ scoped_ptr<DrawGLInput> SharedRendererState::PassDrawGLInput() {
return draw_gl_input_.Pass();
}
-void SharedRendererState::SetHardwareAllowed(bool allowed) {
+void SharedRendererState::SetInsideHardwareRelease(bool inside) {
base::AutoLock lock(lock_);
- hardware_allowed_ = allowed;
+ inside_hardware_release_ = inside;
}
-bool SharedRendererState::IsHardwareAllowed() const {
+bool SharedRendererState::IsInsideHardwareRelease() const {
base::AutoLock lock(lock_);
- return hardware_allowed_;
+ return inside_hardware_release_;
}
void SharedRendererState::SetSharedContext(gpu::GLInProcessContext* context) {
@@ -103,4 +103,15 @@ bool SharedRendererState::ReturnedResourcesEmpty() const {
return returned_resources_.empty();
}
+InsideHardwareReleaseReset::InsideHardwareReleaseReset(
+ SharedRendererState* shared_renderer_state)
+ : shared_renderer_state_(shared_renderer_state) {
+ DCHECK(!shared_renderer_state_->IsInsideHardwareRelease());
+ shared_renderer_state_->SetInsideHardwareRelease(true);
+}
+
+InsideHardwareReleaseReset::~InsideHardwareReleaseReset() {
+ shared_renderer_state_->SetInsideHardwareRelease(false);
+}
+
} // namespace android_webview

Powered by Google App Engine
This is Rietveld 408576698