Commit 0eb995b9 authored by dongseong.hwang's avatar dongseong.hwang Committed by Commit bot

cc: check valid thread and resource origin for the resource rasterized.

Review URL: https://codereview.chromium.org/690713002

Cr-Commit-Position: refs/heads/master@{#302125}
parent d09466de
...@@ -728,7 +728,7 @@ void ResourceProvider::DeleteResourceInternal(ResourceMap::iterator it, ...@@ -728,7 +728,7 @@ void ResourceProvider::DeleteResourceInternal(ResourceMap::iterator it,
resource->pixels = NULL; resource->pixels = NULL;
} }
if (resource->gpu_memory_buffer) { if (resource->gpu_memory_buffer) {
DCHECK(resource->origin != Resource::External); DCHECK(resource->origin == Resource::Internal);
delete resource->gpu_memory_buffer; delete resource->gpu_memory_buffer;
resource->gpu_memory_buffer = NULL; resource->gpu_memory_buffer = NULL;
} }
...@@ -1030,6 +1030,7 @@ ResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware( ...@@ -1030,6 +1030,7 @@ ResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware(
} }
ResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware() { ResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware() {
DCHECK(thread_checker_.CalledOnValidThread());
resource_provider_->UnlockForWrite(resource_); resource_provider_->UnlockForWrite(resource_);
} }
...@@ -1048,6 +1049,7 @@ ResourceProvider::ScopedWriteLockGpuMemoryBuffer:: ...@@ -1048,6 +1049,7 @@ ResourceProvider::ScopedWriteLockGpuMemoryBuffer::
ResourceProvider::ScopedWriteLockGpuMemoryBuffer:: ResourceProvider::ScopedWriteLockGpuMemoryBuffer::
~ScopedWriteLockGpuMemoryBuffer() { ~ScopedWriteLockGpuMemoryBuffer() {
DCHECK(thread_checker_.CalledOnValidThread());
resource_provider_->UnlockForWrite(resource_); resource_provider_->UnlockForWrite(resource_);
if (!gpu_memory_buffer_) if (!gpu_memory_buffer_)
return; return;
...@@ -1093,11 +1095,13 @@ ResourceProvider::ScopedWriteLockGr::ScopedWriteLockGr( ...@@ -1093,11 +1095,13 @@ ResourceProvider::ScopedWriteLockGr::ScopedWriteLockGr(
} }
ResourceProvider::ScopedWriteLockGr::~ScopedWriteLockGr() { ResourceProvider::ScopedWriteLockGr::~ScopedWriteLockGr() {
DCHECK(thread_checker_.CalledOnValidThread());
resource_provider_->UnlockForWrite(resource_); resource_provider_->UnlockForWrite(resource_);
} }
SkSurface* ResourceProvider::ScopedWriteLockGr::GetSkSurface( SkSurface* ResourceProvider::ScopedWriteLockGr::GetSkSurface(
bool use_distance_field_text) { bool use_distance_field_text) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(resource_->locked_for_write); DCHECK(resource_->locked_for_write);
// If the surface doesn't exist, or doesn't have the correct dff setting, // If the surface doesn't exist, or doesn't have the correct dff setting,
......
...@@ -304,6 +304,7 @@ class CC_EXPORT ResourceProvider { ...@@ -304,6 +304,7 @@ class CC_EXPORT ResourceProvider {
ResourceProvider::Resource* resource_; ResourceProvider::Resource* resource_;
SkBitmap sk_bitmap_; SkBitmap sk_bitmap_;
scoped_ptr<SkCanvas> sk_canvas_; scoped_ptr<SkCanvas> sk_canvas_;
base::ThreadChecker thread_checker_;
DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockSoftware); DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockSoftware);
}; };
...@@ -323,6 +324,7 @@ class CC_EXPORT ResourceProvider { ...@@ -323,6 +324,7 @@ class CC_EXPORT ResourceProvider {
gfx::GpuMemoryBuffer* gpu_memory_buffer_; gfx::GpuMemoryBuffer* gpu_memory_buffer_;
gfx::Size size_; gfx::Size size_;
ResourceFormat format_; ResourceFormat format_;
base::ThreadChecker thread_checker_;
DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer); DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGpuMemoryBuffer);
}; };
...@@ -338,6 +340,7 @@ class CC_EXPORT ResourceProvider { ...@@ -338,6 +340,7 @@ class CC_EXPORT ResourceProvider {
private: private:
ResourceProvider* resource_provider_; ResourceProvider* resource_provider_;
ResourceProvider::Resource* resource_; ResourceProvider::Resource* resource_;
base::ThreadChecker thread_checker_;
DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGr); DISALLOW_COPY_AND_ASSIGN(ScopedWriteLockGr);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment