Index: cc/resources/raster_worker_pool.cc |
diff --git a/cc/resources/raster_worker_pool.cc b/cc/resources/raster_worker_pool.cc |
old mode 100644 |
new mode 100755 |
index fd0aaccc2ee7fa260c9d319f191e9f1a4488eb95..4911101d3e1e0500c820942c2c167d6b1a41feea |
--- a/cc/resources/raster_worker_pool.cc |
+++ b/cc/resources/raster_worker_pool.cc |
@@ -373,6 +373,10 @@ class RasterFinishedWorkerPoolTaskImpl : public internal::WorkerPoolTask { |
DISALLOW_COPY_AND_ASSIGN(RasterFinishedWorkerPoolTaskImpl); |
}; |
+const int kDefaultNumRasterThreads = 1; |
+ |
+int g_num_raster_threads = 0; |
+ |
class RasterRequiredForActivationFinishedWorkerPoolTaskImpl |
: public RasterFinishedWorkerPoolTaskImpl { |
public: |
@@ -410,7 +414,6 @@ class RasterRequiredForActivationFinishedWorkerPoolTaskImpl |
RasterRequiredForActivationFinishedWorkerPoolTaskImpl); |
}; |
-const char* kWorkerThreadNamePrefix = "CompositorRaster"; |
} // namespace |
@@ -556,11 +559,25 @@ RasterWorkerPool::Task RasterWorkerPool::CreateImageDecodeTask( |
reply)); |
} |
+// static |
+void RasterWorkerPool::SetNumRasterThreads(int num_threads) { |
+ DCHECK_LT(0, num_threads); |
+ DCHECK_EQ(0, g_num_raster_threads); |
+ |
+ g_num_raster_threads = num_threads; |
+} |
+ |
+// static |
+int WorkerPool::GetNumRasterThreads() { |
+ if (!g_num_raster_threads) |
+ g_num_raster_threads = kDefaultNumRasterThreads; |
+ |
+ return g_num_raster_threads; |
+} |
+ |
RasterWorkerPool::RasterWorkerPool(ResourceProvider* resource_provider, |
- ContextProvider* context_provider, |
- size_t num_threads) |
- : WorkerPool(num_threads, kWorkerThreadNamePrefix), |
- client_(NULL), |
+ ContextProvider* context_provider) |
+ : client_(NULL), |
resource_provider_(resource_provider), |
context_provider_(context_provider), |
weak_ptr_factory_(this) { |