diff options
author | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-11 22:00:41 +0000 |
---|---|---|
committer | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-11 22:00:41 +0000 |
commit | fecb03b2ee6edacdef469c3b711360cc9f52a8ab (patch) | |
tree | c77a53b03d17912a394a236309593ed6291ac295 /cc/resources/raster_worker_pool.h | |
parent | 666af6cfb214814388f8ae717c5c176e6d216726 (diff) | |
download | chromium_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.h | 6 |
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) { |