| Index: cc/resources/pixel_buffer_tile_task_worker_pool.cc
|
| diff --git a/cc/resources/pixel_buffer_tile_task_worker_pool.cc b/cc/resources/pixel_buffer_tile_task_worker_pool.cc
|
| index 7256f948ead155f4ac4156396ed9292fbc9c76d1..83b6da874ae560b0e2e3f5f4f7c9a3f7c4592f1b 100644
|
| --- a/cc/resources/pixel_buffer_tile_task_worker_pool.cc
|
| +++ b/cc/resources/pixel_buffer_tile_task_worker_pool.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/debug/trace_event.h"
|
| #include "base/debug/trace_event_argument.h"
|
| #include "base/strings/stringprintf.h"
|
| +#include "cc/base/util.h"
|
| #include "cc/debug/traced_value.h"
|
| #include "cc/resources/raster_buffer.h"
|
| #include "cc/resources/resource.h"
|
| @@ -113,7 +114,8 @@ PixelBufferTileTaskWorkerPool::PixelBufferTileTaskWorkerPool(
|
| ContextProvider* context_provider,
|
| ResourceProvider* resource_provider,
|
| size_t max_transfer_buffer_usage_bytes)
|
| - : task_runner_(task_runner),
|
| + : single_entry_holder(false),
|
| + task_runner_(task_runner),
|
| task_graph_runner_(task_graph_runner),
|
| namespace_token_(task_graph_runner->GetNamespaceToken()),
|
| context_provider_(context_provider),
|
| @@ -153,6 +155,7 @@ void PixelBufferTileTaskWorkerPool::SetClient(TileTaskRunnerClient* client) {
|
|
|
| void PixelBufferTileTaskWorkerPool::Shutdown() {
|
| TRACE_EVENT0("cc", "PixelBufferTileTaskWorkerPool::Shutdown");
|
| + ScopedSingleEntry scoped_single_entry(&single_entry_holder);
|
|
|
| shutdown_ = true;
|
|
|
| @@ -180,6 +183,7 @@ void PixelBufferTileTaskWorkerPool::Shutdown() {
|
|
|
| void PixelBufferTileTaskWorkerPool::ScheduleTasks(TileTaskQueue* queue) {
|
| TRACE_EVENT0("cc", "PixelBufferTileTaskWorkerPool::ScheduleTasks");
|
| + ScopedSingleEntry scoped_single_entry(&single_entry_holder);
|
|
|
| if (should_notify_client_if_no_tasks_are_pending_.none())
|
| TRACE_EVENT_ASYNC_BEGIN0("cc", "ScheduledTasks", this);
|
| @@ -277,6 +281,7 @@ void PixelBufferTileTaskWorkerPool::ScheduleTasks(TileTaskQueue* queue) {
|
|
|
| void PixelBufferTileTaskWorkerPool::CheckForCompletedTasks() {
|
| TRACE_EVENT0("cc", "PixelBufferTileTaskWorkerPool::CheckForCompletedTasks");
|
| + ScopedSingleEntry scoped_single_entry(&single_entry_holder);
|
|
|
| CheckForCompletedRasterizerTasks();
|
| CheckForCompletedUploads();
|
| @@ -441,6 +446,7 @@ void PixelBufferTileTaskWorkerPool::CheckForCompletedUploads() {
|
| void PixelBufferTileTaskWorkerPool::CheckForCompletedRasterTasks() {
|
| TRACE_EVENT0("cc",
|
| "PixelBufferTileTaskWorkerPool::CheckForCompletedRasterTasks");
|
| + ScopedSingleEntry scoped_single_entry(&single_entry_holder);
|
|
|
| // Since this function can be called directly, cancel any pending checks.
|
| check_for_completed_raster_task_notifier_.Cancel();
|
|
|