summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/browser/gpu_memory_buffer_impl.cc7
-rw-r--r--android_webview/browser/gpu_memory_buffer_impl.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/android_webview/browser/gpu_memory_buffer_impl.cc b/android_webview/browser/gpu_memory_buffer_impl.cc
index b44de8c..dcd7345 100644
--- a/android_webview/browser/gpu_memory_buffer_impl.cc
+++ b/android_webview/browser/gpu_memory_buffer_impl.cc
@@ -20,7 +20,8 @@ AwDrawGLFunctionTable* g_gl_draw_functions = NULL;
GpuMemoryBufferImpl::GpuMemoryBufferImpl(gfx::Size size)
: buffer_id_(g_gl_draw_functions->create_graphic_buffer(
size.width(), size.height())),
- size_(size) {
+ size_(size),
+ mapped_(false) {
}
GpuMemoryBufferImpl::~GpuMemoryBufferImpl() {
@@ -32,14 +33,18 @@ GpuMemoryBufferImpl::~GpuMemoryBufferImpl() {
void GpuMemoryBufferImpl::Map(gpu::GpuMemoryBuffer::AccessMode mode,
void** vaddr) {
DCHECK(buffer_id_ != 0);
+ DCHECK(!mapped_);
int err = g_gl_draw_functions->lock(buffer_id_, mode, vaddr);
DCHECK(err == 0);
+ mapped_ = true;
}
void GpuMemoryBufferImpl::Unmap() {
DCHECK(buffer_id_ != 0);
+ DCHECK(mapped_);
int err = g_gl_draw_functions->unlock(buffer_id_);
DCHECK(err == 0);
+ mapped_ = false;
}
void* GpuMemoryBufferImpl::GetNativeBuffer() {
diff --git a/android_webview/browser/gpu_memory_buffer_impl.h b/android_webview/browser/gpu_memory_buffer_impl.h
index 493c140..e584b7c 100644
--- a/android_webview/browser/gpu_memory_buffer_impl.h
+++ b/android_webview/browser/gpu_memory_buffer_impl.h
@@ -30,6 +30,7 @@ class GpuMemoryBufferImpl : public gpu::GpuMemoryBuffer {
private:
int buffer_id_;
gfx::Size size_;
+ bool mapped_;
DISALLOW_COPY_AND_ASSIGN(GpuMemoryBufferImpl);
};