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

Side by Side Diff: cc/raster_worker_pool.cc

Issue 12471007: Part 8 of cc/ directory shuffles: resources (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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
« no previous file with comments | « cc/raster_worker_pool.h ('k') | cc/resource.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "cc/raster_worker_pool.h"
6
7 #include "cc/picture_pile_impl.h"
8
9 namespace cc {
10
11 namespace {
12
13 class RasterWorkerPoolTaskImpl : public internal::WorkerPoolTask {
14 public:
15 RasterWorkerPoolTaskImpl(PicturePileImpl* picture_pile,
16 bool is_cheap,
17 const RasterWorkerPool::RasterCallback& task,
18 const base::Closure& reply)
19 : internal::WorkerPoolTask(reply),
20 picture_pile_(picture_pile),
21 is_cheap_(is_cheap),
22 task_(task) {
23 DCHECK(picture_pile_);
24 }
25
26 virtual bool IsCheap() OVERRIDE { return is_cheap_; }
27
28 virtual void Run(RenderingStats* rendering_stats) OVERRIDE {
29 task_.Run(picture_pile_.get(), rendering_stats);
30 }
31
32 virtual void RunOnThread(
33 RenderingStats* rendering_stats, unsigned thread_index) OVERRIDE {
34 task_.Run(picture_pile_->GetCloneForDrawingOnThread(thread_index),
35 rendering_stats);
36 }
37
38 private:
39 scoped_refptr<PicturePileImpl> picture_pile_;
40 bool is_cheap_;
41 RasterWorkerPool::RasterCallback task_;
42 };
43
44 const char* kWorkerThreadNamePrefix = "CompositorRaster";
45
46 const int kCheckForCompletedTasksDelayMs = 6;
47
48 } // namespace
49
50 RasterWorkerPool::RasterWorkerPool(
51 WorkerPoolClient* client, size_t num_threads) : WorkerPool(
52 client,
53 num_threads,
54 base::TimeDelta::FromMilliseconds(kCheckForCompletedTasksDelayMs),
55 kWorkerThreadNamePrefix) {
56 }
57
58 RasterWorkerPool::~RasterWorkerPool() {
59 }
60
61 void RasterWorkerPool::PostRasterTaskAndReply(PicturePileImpl* picture_pile,
62 bool is_cheap,
63 const RasterCallback& task,
64 const base::Closure& reply) {
65 PostTask(make_scoped_ptr(new RasterWorkerPoolTaskImpl(
66 picture_pile,
67 is_cheap,
68 task,
69 reply)).PassAs<internal::WorkerPoolTask>());
70 }
71
72 } // namespace cc
OLDNEW
« no previous file with comments | « cc/raster_worker_pool.h ('k') | cc/resource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698