summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authorkaanb@chromium.org <kaanb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-25 04:34:08 +0000
committerkaanb@chromium.org <kaanb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-25 04:34:08 +0000
commitba5144b65f3910c870d9bc9e5a12e140f7d0e773 (patch)
tree4d9ae17a628ed3165a96b724ec2d16bb8a0cf081 /android_webview
parent0c708a28906edeece847a19aa7102fbab0de0a70 (diff)
downloadchromium_src-ba5144b65f3910c870d9bc9e5a12e140f7d0e773.zip
chromium_src-ba5144b65f3910c870d9bc9e5a12e140f7d0e773.tar.gz
chromium_src-ba5144b65f3910c870d9bc9e5a12e140f7d0e773.tar.bz2
android_webview: Assert map/unmap order for GpuMemoryBuffer
BUG=175012 Review URL: https://chromiumcodereview.appspot.com/14471016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196306 0039d316-1c4b-4281-b951-d872f2087c98
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);
};