summaryrefslogtreecommitdiffstats
path: root/cc/resources/raster_worker_pool.h
diff options
context:
space:
mode:
authorreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-11 22:00:41 +0000
committerreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-11 22:00:41 +0000
commitfecb03b2ee6edacdef469c3b711360cc9f52a8ab (patch)
treec77a53b03d17912a394a236309593ed6291ac295 /cc/resources/raster_worker_pool.h
parent666af6cfb214814388f8ae717c5c176e6d216726 (diff)
downloadchromium_src-fecb03b2ee6edacdef469c3b711360cc9f52a8ab.zip
chromium_src-fecb03b2ee6edacdef469c3b711360cc9f52a8ab.tar.gz
chromium_src-fecb03b2ee6edacdef469c3b711360cc9f52a8ab.tar.bz2
cc: Fix incorrect completion of tiles and missing "ready to activate" signal.
The presence of completed tiles in |tasks_required_for_activation_| prevents us from generating a "ready to activate" signal and can result in an inability to activate the pending tree. Incorrectly canceling tasks can result in the pending tree being activated without all tiles required for activation being properly initialized. BUG=257601 Review URL: https://chromiumcodereview.appspot.com/18614012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211225 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/resources/raster_worker_pool.h')
-rw-r--r--cc/resources/raster_worker_pool.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/cc/resources/raster_worker_pool.h b/cc/resources/raster_worker_pool.h
index fd4551b..88bce1d 100644
--- a/cc/resources/raster_worker_pool.h
+++ b/cc/resources/raster_worker_pool.h
@@ -209,6 +209,7 @@ class CC_EXPORT RasterWorkerPool : public WorkerPool {
typedef std::vector<scoped_refptr<internal::WorkerPoolTask> > TaskVector;
typedef std::vector<scoped_refptr<internal::RasterWorkerPoolTask> >
RasterTaskVector;
+ typedef base::hash_set<internal::RasterWorkerPoolTask*> RasterTaskSet;
typedef internal::RasterWorkerPoolTask* TaskMapKey;
typedef base::hash_map<TaskMapKey,
scoped_refptr<internal::WorkerPoolTask> > TaskMap;
@@ -224,8 +225,9 @@ class CC_EXPORT RasterWorkerPool : public WorkerPool {
RasterWorkerPoolClient* client() const { return client_; }
ResourceProvider* resource_provider() const { return resource_provider_; }
- const RasterTask::Queue::TaskVector& raster_tasks() const {
- return raster_tasks_;
+ const RasterTaskVector& raster_tasks() const { return raster_tasks_; }
+ const RasterTaskSet& raster_tasks_required_for_activation() const {
+ return raster_tasks_required_for_activation_;
}
void set_raster_finished_task(
scoped_refptr<internal::WorkerPoolTask> raster_finished_task) {