summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-11 16:46:36 +0000
committerrsleevi@chromium.org <rsleevi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-11 16:46:36 +0000
commitcadac62e5c2b9f5fef59ce0326bb2cd79ffbe622 (patch)
tree7b95f103fce509de887c8c5e643604855b57c0ba /cc
parent9f6e673c7f43f6ee414f72a74585dad8ebaceec3 (diff)
downloadchromium_src-cadac62e5c2b9f5fef59ce0326bb2cd79ffbe622.zip
chromium_src-cadac62e5c2b9f5fef59ce0326bb2cd79ffbe622.tar.gz
chromium_src-cadac62e5c2b9f5fef59ce0326bb2cd79ffbe622.tar.bz2
Call scoped_refptr<T>::get() rather than relying on implicit "operator T*"
This upates calls to bound temporary objects to also use get(). While it has the same semantic equivalence to the existing code, this generally represents a dangerous pattern - indeed, part of the whole motivation for this change is to make this anti-pattern very visible to authors. This change simply updates all of the call sites, to allow the "operator T*" to be removed and preventing new instances. The existing instances will then be reviewed for "suspicious" changes and updated to use/pass scoped_refptr<T> rather than T*, as appropriate. BUG=110610 TBR=darin Review URL: https://codereview.chromium.org/15984016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205560 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r--cc/base/worker_pool.cc2
-rw-r--r--cc/resources/image_raster_worker_pool.cc8
-rw-r--r--cc/resources/pixel_buffer_raster_worker_pool.cc24
-rw-r--r--cc/resources/raster_worker_pool.cc2
-rw-r--r--cc/resources/raster_worker_pool.h2
-rw-r--r--cc/resources/raster_worker_pool_unittest.cc21
-rw-r--r--cc/trees/layer_tree_host_unittest_scroll.cc8
7 files changed, 34 insertions, 33 deletions
diff --git a/cc/base/worker_pool.cc b/cc/base/worker_pool.cc
index 2c2c034..b22ed53 100644
--- a/cc/base/worker_pool.cc
+++ b/cc/base/worker_pool.cc
@@ -493,7 +493,7 @@ void WorkerPool::DispatchCompletionCallbacks(TaskDeque* completed_tasks) {
in_dispatch_completion_callbacks_ = true;
while (!completed_tasks->empty()) {
- internal::WorkerPoolTask* task = completed_tasks->front();
+ internal::WorkerPoolTask* task = completed_tasks->front().get();
task->DidComplete();
task->DispatchCompletionCallback();
diff --git a/cc/resources/image_raster_worker_pool.cc b/cc/resources/image_raster_worker_pool.cc
index 5800ce1..c3b8ed8 100644
--- a/cc/resources/image_raster_worker_pool.cc
+++ b/cc/resources/image_raster_worker_pool.cc
@@ -81,11 +81,11 @@ void ImageRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) {
for (RasterTask::Queue::TaskVector::const_iterator it =
raster_tasks().begin();
it != raster_tasks().end(); ++it) {
- internal::RasterWorkerPoolTask* task = *it;
+ internal::RasterWorkerPoolTask* task = it->get();
TaskMap::iterator image_it = image_tasks_.find(task);
if (image_it != image_tasks_.end()) {
- internal::WorkerPoolTask* image_task = image_it->second;
+ internal::WorkerPoolTask* image_task = image_it->second.get();
tasks.push_back(image_task);
continue;
}
@@ -128,7 +128,7 @@ void ImageRasterWorkerPool::OnRasterTaskCompleted(
TRACE_EVENT1("cc", "ImageRasterWorkerPool::OnRasterTaskCompleted",
"was_canceled", was_canceled);
- DCHECK(image_tasks_.find(task) != image_tasks_.end());
+ DCHECK(image_tasks_.find(task.get()) != image_tasks_.end());
// Balanced with MapImage() call in ScheduleTasks().
resource_provider()->UnmapImage(task->resource()->id());
@@ -142,7 +142,7 @@ void ImageRasterWorkerPool::OnRasterTaskCompleted(
task->DidComplete();
task->DispatchCompletionCallback();
- image_tasks_.erase(task);
+ image_tasks_.erase(task.get());
}
} // namespace cc
diff --git a/cc/resources/pixel_buffer_raster_worker_pool.cc b/cc/resources/pixel_buffer_raster_worker_pool.cc
index b1b5932..e9fed7d 100644
--- a/cc/resources/pixel_buffer_raster_worker_pool.cc
+++ b/cc/resources/pixel_buffer_raster_worker_pool.cc
@@ -105,7 +105,7 @@ void PixelBufferRasterWorkerPool::Shutdown() {
for (TaskMap::iterator it = pixel_buffer_tasks_.begin();
it != pixel_buffer_tasks_.end(); ++it) {
internal::RasterWorkerPoolTask* task = it->first;
- internal::WorkerPoolTask* pixel_buffer_task = it->second;
+ internal::WorkerPoolTask* pixel_buffer_task = it->second.get();
// All inactive tasks needs to be canceled.
if (!pixel_buffer_task)
@@ -125,7 +125,7 @@ void PixelBufferRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) {
for (RasterTask::Queue::TaskVector::const_iterator it =
raster_tasks().begin();
it != raster_tasks().end(); ++it) {
- internal::RasterWorkerPoolTask* task = *it;
+ internal::RasterWorkerPoolTask* task = it->get();
DCHECK(new_pixel_buffer_tasks.find(task) == new_pixel_buffer_tasks.end());
DCHECK(!task->HasCompleted());
@@ -145,7 +145,7 @@ void PixelBufferRasterWorkerPool::ScheduleTasks(RasterTask::Queue* queue) {
for (TaskMap::iterator it = pixel_buffer_tasks_.begin();
it != pixel_buffer_tasks_.end(); ++it) {
internal::RasterWorkerPoolTask* task = it->first;
- internal::WorkerPoolTask* pixel_buffer_task = it->second;
+ internal::WorkerPoolTask* pixel_buffer_task = it->second.get();
// Move task to |new_pixel_buffer_tasks|
new_pixel_buffer_tasks[task] = pixel_buffer_task;
@@ -166,7 +166,7 @@ void PixelBufferRasterWorkerPool::CheckForCompletedTasks() {
CheckForCompletedRasterTasks();
while (!completed_tasks_.empty()) {
- internal::RasterWorkerPoolTask* task = completed_tasks_.front();
+ internal::RasterWorkerPoolTask* task = completed_tasks_.front().get();
DCHECK(pixel_buffer_tasks_.find(task) != pixel_buffer_tasks_.end());
pixel_buffer_tasks_.erase(task);
@@ -182,8 +182,8 @@ bool PixelBufferRasterWorkerPool::ForceUploadToComplete(
const RasterTask& raster_task) {
for (TaskDeque::iterator it = tasks_with_pending_upload_.begin();
it != tasks_with_pending_upload_.end(); ++it) {
- internal::RasterWorkerPoolTask* task = *it;
- if (task == raster_task.internal_) {
+ internal::RasterWorkerPoolTask* task = it->get();
+ if (task == raster_task.internal_.get()) {
resource_provider()->ForceSetPixelsToComplete(task->resource()->id());
return true;
}
@@ -221,7 +221,8 @@ void PixelBufferRasterWorkerPool::CheckForCompletedRasterTasks() {
}
while (!tasks_with_pending_upload_.empty()) {
- internal::RasterWorkerPoolTask* task = tasks_with_pending_upload_.front();
+ internal::RasterWorkerPoolTask* task =
+ tasks_with_pending_upload_.front().get();
DCHECK(pixel_buffer_tasks_.find(task) != pixel_buffer_tasks_.end());
// Uploads complete in the order they are issued.
@@ -253,7 +254,7 @@ void PixelBufferRasterWorkerPool::ScheduleMoreTasks() {
for (RasterTask::Queue::TaskVector::const_iterator it =
raster_tasks().begin();
it != raster_tasks().end(); ++it) {
- internal::RasterWorkerPoolTask* task = *it;
+ internal::RasterWorkerPoolTask* task = it->get();
TaskMap::iterator pixel_buffer_it = pixel_buffer_tasks_.find(task);
if (pixel_buffer_it == pixel_buffer_tasks_.end())
@@ -261,7 +262,7 @@ void PixelBufferRasterWorkerPool::ScheduleMoreTasks() {
scoped_refptr<internal::WorkerPoolTask> pixel_buffer_task(
pixel_buffer_it->second);
- if (pixel_buffer_task) {
+ if (pixel_buffer_task.get()) {
if (!pixel_buffer_task->HasCompleted())
tasks.push_back(pixel_buffer_task);
continue;
@@ -341,7 +342,7 @@ void PixelBufferRasterWorkerPool::OnRasterTaskCompleted(
"was_canceled", was_canceled,
"needs_upload", needs_upload);
- DCHECK(pixel_buffer_tasks_.find(task) != pixel_buffer_tasks_.end());
+ DCHECK(pixel_buffer_tasks_.find(task.get()) != pixel_buffer_tasks_.end());
// Balanced with MapPixelBuffer() call in ScheduleMoreTasks().
resource_provider()->UnmapPixelBuffer(task->resource()->id());
@@ -365,7 +366,8 @@ void PixelBufferRasterWorkerPool::OnRasterTaskCompleted(
void PixelBufferRasterWorkerPool::AbortPendingUploads() {
while (!tasks_with_pending_upload_.empty()) {
- internal::RasterWorkerPoolTask* task = tasks_with_pending_upload_.front();
+ internal::RasterWorkerPoolTask* task =
+ tasks_with_pending_upload_.front().get();
DCHECK(pixel_buffer_tasks_.find(task) != pixel_buffer_tasks_.end());
resource_provider()->AbortSetPixels(task->resource()->id());
diff --git a/cc/resources/raster_worker_pool.cc b/cc/resources/raster_worker_pool.cc
index 091f0ee8..f914ab5 100644
--- a/cc/resources/raster_worker_pool.cc
+++ b/cc/resources/raster_worker_pool.cc
@@ -219,7 +219,7 @@ void RasterWorkerPool::SetRasterTasks(RasterTask::Queue* queue) {
}
void RasterWorkerPool::ScheduleRasterTasks(const RootTask& root) {
- WorkerPool::ScheduleTasks(root.internal_);
+ WorkerPool::ScheduleTasks(root.internal_.get());
}
} // namespace cc
diff --git a/cc/resources/raster_worker_pool.h b/cc/resources/raster_worker_pool.h
index acdfd77..ade8432 100644
--- a/cc/resources/raster_worker_pool.h
+++ b/cc/resources/raster_worker_pool.h
@@ -137,7 +137,7 @@ class CC_EXPORT RasterWorkerPool : public WorkerPool {
~RasterTask();
// Returns true if Task is null (doesn't refer to anything).
- bool is_null() const { return !internal_; }
+ bool is_null() const { return !internal_.get(); }
// Returns the Task into an uninitialized state.
void Reset();
diff --git a/cc/resources/raster_worker_pool_unittest.cc b/cc/resources/raster_worker_pool_unittest.cc
index d3fdaed..b8fdb66 100644
--- a/cc/resources/raster_worker_pool_unittest.cc
+++ b/cc/resources/raster_worker_pool_unittest.cc
@@ -162,17 +162,16 @@ class BasicRasterWorkerPoolTest : public RasterWorkerPoolTest {
const Resource* const_resource = resource.get();
RasterWorkerPool::Task::Set empty;
- tasks_.push_back(
- RasterWorkerPool::RasterTask(
- picture_pile_impl,
- const_resource,
- base::Bind(&BasicRasterWorkerPoolTest::RunRasterTask,
- base::Unretained(this)),
- base::Bind(&BasicRasterWorkerPoolTest::OnTaskCompleted,
- base::Unretained(this),
- base::Passed(&resource),
- id),
- &empty));
+ tasks_.push_back(RasterWorkerPool::RasterTask(
+ picture_pile_impl.get(),
+ const_resource,
+ base::Bind(&BasicRasterWorkerPoolTest::RunRasterTask,
+ base::Unretained(this)),
+ base::Bind(&BasicRasterWorkerPoolTest::OnTaskCompleted,
+ base::Unretained(this),
+ base::Passed(&resource),
+ id),
+ &empty));
}
void ScheduleTasks() {
diff --git a/cc/trees/layer_tree_host_unittest_scroll.cc b/cc/trees/layer_tree_host_unittest_scroll.cc
index febf23f..cd7868e 100644
--- a/cc/trees/layer_tree_host_unittest_scroll.cc
+++ b/cc/trees/layer_tree_host_unittest_scroll.cc
@@ -762,9 +762,9 @@ class LayerTreeHostScrollTestLayerStructureChange
scoped_refptr<Layer> root_layer = Layer::Create();
root_layer->SetBounds(gfx::Size(10, 10));
- Layer* root_scroll_layer = CreateScrollLayer(root_layer,
- &root_scroll_layer_client_);
- CreateScrollLayer(root_layer, &sibling_scroll_layer_client_);
+ Layer* root_scroll_layer =
+ CreateScrollLayer(root_layer.get(), &root_scroll_layer_client_);
+ CreateScrollLayer(root_layer.get(), &sibling_scroll_layer_client_);
CreateScrollLayer(root_scroll_layer, &child_scroll_layer_client_);
layer_tree_host()->SetRootLayer(root_layer);
@@ -822,7 +822,7 @@ class LayerTreeHostScrollTestLayerStructureChange
scroll_layer->SetMaxScrollOffset(gfx::Vector2d(100, 100));
scroll_layer->set_layer_scroll_client(client);
client->owner_ = this;
- client->layer_ = scroll_layer;
+ client->layer_ = scroll_layer.get();
parent->AddChild(scroll_layer);
return scroll_layer.get();
}