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

Side by Side Diff: cc/resources/raster_worker_pool.cc

Issue 13859012: cc: Remove cheapness estimator usage from tile manager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/resources/raster_worker_pool.h" 5 #include "cc/resources/raster_worker_pool.h"
6 6
7 #include "cc/resources/picture_pile_impl.h" 7 #include "cc/resources/picture_pile_impl.h"
8 8
9 namespace cc { 9 namespace cc {
10 10
11 namespace { 11 namespace {
12 12
13 class RasterWorkerPoolTaskImpl : public internal::WorkerPoolTask { 13 class RasterWorkerPoolTaskImpl : public internal::WorkerPoolTask {
14 public: 14 public:
15 RasterWorkerPoolTaskImpl(PicturePileImpl* picture_pile, 15 RasterWorkerPoolTaskImpl(PicturePileImpl* picture_pile,
16 bool is_cheap,
17 const RasterWorkerPool::RasterCallback& task, 16 const RasterWorkerPool::RasterCallback& task,
18 const base::Closure& reply) 17 const base::Closure& reply)
19 : internal::WorkerPoolTask(reply), 18 : internal::WorkerPoolTask(reply),
20 picture_pile_(picture_pile), 19 picture_pile_(picture_pile),
21 is_cheap_(is_cheap),
22 task_(task) { 20 task_(task) {
23 DCHECK(picture_pile_); 21 DCHECK(picture_pile_);
24 } 22 }
25 23
26 virtual bool IsCheap() OVERRIDE { return is_cheap_; }
27
28 virtual void Run() OVERRIDE {
29 task_.Run(picture_pile_.get());
30 }
31
32 virtual void RunOnThread(unsigned thread_index) OVERRIDE { 24 virtual void RunOnThread(unsigned thread_index) OVERRIDE {
33 task_.Run(picture_pile_->GetCloneForDrawingOnThread(thread_index)); 25 task_.Run(picture_pile_->GetCloneForDrawingOnThread(thread_index));
34 } 26 }
35 27
36 private: 28 private:
37 scoped_refptr<PicturePileImpl> picture_pile_; 29 scoped_refptr<PicturePileImpl> picture_pile_;
38 bool is_cheap_;
39 RasterWorkerPool::RasterCallback task_; 30 RasterWorkerPool::RasterCallback task_;
40 }; 31 };
41 32
42 const char* kWorkerThreadNamePrefix = "CompositorRaster"; 33 const char* kWorkerThreadNamePrefix = "CompositorRaster";
43 34
44 const int kCheckForCompletedTasksDelayMs = 6; 35 const int kCheckForCompletedTasksDelayMs = 6;
45 36
46 } // namespace 37 } // namespace
47 38
48 RasterWorkerPool::RasterWorkerPool( 39 RasterWorkerPool::RasterWorkerPool(
49 WorkerPoolClient* client, size_t num_threads) : WorkerPool( 40 WorkerPoolClient* client, size_t num_threads) : WorkerPool(
50 client, 41 client,
51 num_threads, 42 num_threads,
52 base::TimeDelta::FromMilliseconds(kCheckForCompletedTasksDelayMs), 43 base::TimeDelta::FromMilliseconds(kCheckForCompletedTasksDelayMs),
53 kWorkerThreadNamePrefix) { 44 kWorkerThreadNamePrefix) {
54 } 45 }
55 46
56 RasterWorkerPool::~RasterWorkerPool() { 47 RasterWorkerPool::~RasterWorkerPool() {
57 } 48 }
58 49
59 void RasterWorkerPool::PostRasterTaskAndReply(PicturePileImpl* picture_pile, 50 void RasterWorkerPool::PostRasterTaskAndReply(PicturePileImpl* picture_pile,
60 bool is_cheap,
61 const RasterCallback& task, 51 const RasterCallback& task,
62 const base::Closure& reply) { 52 const base::Closure& reply) {
63 PostTask(make_scoped_ptr(new RasterWorkerPoolTaskImpl( 53 PostTask(make_scoped_ptr(new RasterWorkerPoolTaskImpl(
64 picture_pile, 54 picture_pile,
65 is_cheap,
66 task, 55 task,
67 reply)).PassAs<internal::WorkerPoolTask>()); 56 reply)).PassAs<internal::WorkerPoolTask>());
68 } 57 }
69 58
70 } // namespace cc 59 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698