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

Unified Diff: cc/resources/resource_provider.cc

Issue 690713002: cc: check valid thread and resource origin for the resource rasterized. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: check if it's valid thread Created 6 years, 2 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
« cc/resources/resource_provider.h ('K') | « cc/resources/resource_provider.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/resource_provider.cc
diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
index b638cb749126649edbb6fe13e4626d946efb3bbf..ff21e99ec05bd08a17fd573bfe9b71f1fd06ea76 100644
--- a/cc/resources/resource_provider.cc
+++ b/cc/resources/resource_provider.cc
@@ -728,7 +728,7 @@ void ResourceProvider::DeleteResourceInternal(ResourceMap::iterator it,
resource->pixels = NULL;
}
if (resource->gpu_memory_buffer) {
- DCHECK(resource->origin != Resource::External);
+ DCHECK(resource->origin == Resource::Internal);
delete resource->gpu_memory_buffer;
resource->gpu_memory_buffer = NULL;
}
@@ -1048,6 +1048,7 @@ ResourceProvider::ScopedWriteLockGpuMemoryBuffer::
ResourceProvider::ScopedWriteLockGpuMemoryBuffer::
~ScopedWriteLockGpuMemoryBuffer() {
+ DCHECK(thread_checker_.CalledOnValidThread());
reveman 2014/10/29 21:08:26 No need to use DCHECK. This is already handled by
dshwang 2014/10/30 05:58:12 DCHECK is needed when checking thread_checker_.Cal
resource_provider_->UnlockForWrite(resource_);
if (!gpu_memory_buffer_)
return;
@@ -1075,6 +1076,7 @@ ResourceProvider::ScopedWriteLockGpuMemoryBuffer::
gfx::GpuMemoryBuffer*
ResourceProvider::ScopedWriteLockGpuMemoryBuffer::GetGpuMemoryBuffer() {
+ DCHECK(!thread_checker_.CalledOnValidThread());
reveman 2014/10/29 21:08:26 This will fail. GetGpuMemoryBuffer is allowed to b
dshwang 2014/10/30 05:58:12 There is ! inside DCHECK. I change it to "DCHECK_E
if (!gpu_memory_buffer_) {
scoped_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer =
gpu_memory_buffer_manager_->AllocateGpuMemoryBuffer(
@@ -1093,11 +1095,13 @@ ResourceProvider::ScopedWriteLockGr::ScopedWriteLockGr(
}
ResourceProvider::ScopedWriteLockGr::~ScopedWriteLockGr() {
+ DCHECK(thread_checker_.CalledOnValidThread());
reveman 2014/10/29 21:08:26 No need to use DCHECK.
resource_provider_->UnlockForWrite(resource_);
}
SkSurface* ResourceProvider::ScopedWriteLockGr::GetSkSurface(
bool use_distance_field_text) {
+ DCHECK(thread_checker_.CalledOnValidThread());
reveman 2014/10/29 21:08:26 No need to use DCHECK.
DCHECK(resource_->locked_for_write);
// If the surface doesn't exist, or doesn't have the correct dff setting,
« cc/resources/resource_provider.h ('K') | « cc/resources/resource_provider.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698