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

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

Issue 817653003: Update from https://crrev.com/309717 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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
« no previous file with comments | « cc/resources/tile_manager_unittest.cc ('k') | cc/resources/transform_display_item.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/tile_task_worker_pool.h" 5 #include "cc/resources/tile_task_worker_pool.h"
6 6
7 #include <limits> 7 #include <limits>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/cancelable_callback.h" 10 #include "base/cancelable_callback.h"
11 #include "cc/base/unique_notifier.h"
11 #include "cc/resources/bitmap_tile_task_worker_pool.h" 12 #include "cc/resources/bitmap_tile_task_worker_pool.h"
12 #include "cc/resources/gpu_tile_task_worker_pool.h" 13 #include "cc/resources/gpu_tile_task_worker_pool.h"
13 #include "cc/resources/one_copy_tile_task_worker_pool.h" 14 #include "cc/resources/one_copy_tile_task_worker_pool.h"
14 #include "cc/resources/picture_pile.h" 15 #include "cc/resources/picture_pile.h"
15 #include "cc/resources/picture_pile_impl.h" 16 #include "cc/resources/picture_pile_impl.h"
16 #include "cc/resources/pixel_buffer_tile_task_worker_pool.h" 17 #include "cc/resources/pixel_buffer_tile_task_worker_pool.h"
17 #include "cc/resources/raster_buffer.h" 18 #include "cc/resources/raster_buffer.h"
18 #include "cc/resources/resource_pool.h" 19 #include "cc/resources/resource_pool.h"
19 #include "cc/resources/resource_provider.h" 20 #include "cc/resources/resource_provider.h"
20 #include "cc/resources/scoped_resource.h" 21 #include "cc/resources/scoped_resource.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 unsigned id; 119 unsigned id;
119 bool canceled; 120 bool canceled;
120 }; 121 };
121 122
122 typedef std::vector<scoped_refptr<RasterTask>> RasterTaskVector; 123 typedef std::vector<scoped_refptr<RasterTask>> RasterTaskVector;
123 124
124 enum NamedTaskSet { ALL, REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW }; 125 enum NamedTaskSet { ALL, REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW };
125 126
126 TileTaskWorkerPoolTest() 127 TileTaskWorkerPoolTest()
127 : context_provider_(TestContextProvider::Create()), 128 : context_provider_(TestContextProvider::Create()),
129 all_tile_tasks_finished_(
130 base::MessageLoopProxy::current().get(),
131 base::Bind(&TileTaskWorkerPoolTest::AllTileTasksFinished,
132 base::Unretained(this))),
128 timeout_seconds_(5), 133 timeout_seconds_(5),
129 timed_out_(false) {} 134 timed_out_(false) {}
130 135
131 // Overridden from testing::Test: 136 // Overridden from testing::Test:
132 void SetUp() override { 137 void SetUp() override {
133 switch (GetParam()) { 138 switch (GetParam()) {
134 case TILE_TASK_WORKER_POOL_TYPE_PIXEL_BUFFER: 139 case TILE_TASK_WORKER_POOL_TYPE_PIXEL_BUFFER:
135 Create3dOutputSurfaceAndResourceProvider(); 140 Create3dOutputSurfaceAndResourceProvider();
136 tile_task_worker_pool_ = PixelBufferTileTaskWorkerPool::Create( 141 tile_task_worker_pool_ = PixelBufferTileTaskWorkerPool::Create(
137 base::MessageLoopProxy::current().get(), 142 base::MessageLoopProxy::current().get(),
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 174
170 DCHECK(tile_task_worker_pool_); 175 DCHECK(tile_task_worker_pool_);
171 tile_task_worker_pool_->AsTileTaskRunner()->SetClient(this); 176 tile_task_worker_pool_->AsTileTaskRunner()->SetClient(this);
172 } 177 }
173 178
174 void TearDown() override { 179 void TearDown() override {
175 tile_task_worker_pool_->AsTileTaskRunner()->Shutdown(); 180 tile_task_worker_pool_->AsTileTaskRunner()->Shutdown();
176 tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks(); 181 tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks();
177 } 182 }
178 183
184 void AllTileTasksFinished() {
185 tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks();
186 base::MessageLoop::current()->Quit();
187 }
188
179 // Overriden from TileTaskWorkerPoolClient: 189 // Overriden from TileTaskWorkerPoolClient:
180 void DidFinishRunningTileTasks(TaskSet task_set) override { 190 void DidFinishRunningTileTasks(TaskSet task_set) override {
181 if (task_set == ALL) { 191 if (task_set == ALL)
182 tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks(); 192 all_tile_tasks_finished_.Schedule();
183 base::MessageLoop::current()->Quit();
184 }
185 } 193 }
194
186 TaskSetCollection TasksThatShouldBeForcedToComplete() const override { 195 TaskSetCollection TasksThatShouldBeForcedToComplete() const override {
187 return TaskSetCollection(); 196 return TaskSetCollection();
188 } 197 }
189 198
190 void RunMessageLoopUntilAllTasksHaveCompleted() { 199 void RunMessageLoopUntilAllTasksHaveCompleted() {
191 if (timeout_seconds_) { 200 if (timeout_seconds_) {
192 timeout_.Reset(base::Bind(&TileTaskWorkerPoolTest::OnTimeout, 201 timeout_.Reset(base::Bind(&TileTaskWorkerPoolTest::OnTimeout,
193 base::Unretained(this))); 202 base::Unretained(this)));
194 base::MessageLoopProxy::current()->PostDelayedTask( 203 base::MessageLoopProxy::current()->PostDelayedTask(
195 FROM_HERE, timeout_.callback(), 204 FROM_HERE, timeout_.callback(),
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 protected: 299 protected:
291 scoped_refptr<TestContextProvider> context_provider_; 300 scoped_refptr<TestContextProvider> context_provider_;
292 FakeOutputSurfaceClient output_surface_client_; 301 FakeOutputSurfaceClient output_surface_client_;
293 scoped_ptr<FakeOutputSurface> output_surface_; 302 scoped_ptr<FakeOutputSurface> output_surface_;
294 scoped_ptr<ResourceProvider> resource_provider_; 303 scoped_ptr<ResourceProvider> resource_provider_;
295 scoped_ptr<ResourcePool> staging_resource_pool_; 304 scoped_ptr<ResourcePool> staging_resource_pool_;
296 scoped_ptr<TileTaskWorkerPool> tile_task_worker_pool_; 305 scoped_ptr<TileTaskWorkerPool> tile_task_worker_pool_;
297 TestGpuMemoryBufferManager gpu_memory_buffer_manager_; 306 TestGpuMemoryBufferManager gpu_memory_buffer_manager_;
298 TestSharedBitmapManager shared_bitmap_manager_; 307 TestSharedBitmapManager shared_bitmap_manager_;
299 base::CancelableClosure timeout_; 308 base::CancelableClosure timeout_;
309 UniqueNotifier all_tile_tasks_finished_;
300 int timeout_seconds_; 310 int timeout_seconds_;
301 bool timed_out_; 311 bool timed_out_;
302 RasterTaskVector tasks_; 312 RasterTaskVector tasks_;
303 std::vector<RasterTaskResult> completed_tasks_; 313 std::vector<RasterTaskResult> completed_tasks_;
304 }; 314 };
305 315
306 TEST_P(TileTaskWorkerPoolTest, Basic) { 316 TEST_P(TileTaskWorkerPoolTest, Basic) {
307 AppendTask(0u); 317 AppendTask(0u);
308 AppendTask(1u); 318 AppendTask(1u);
309 ScheduleTasks(); 319 ScheduleTasks();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 TileTaskWorkerPoolTests, 389 TileTaskWorkerPoolTests,
380 TileTaskWorkerPoolTest, 390 TileTaskWorkerPoolTest,
381 ::testing::Values(TILE_TASK_WORKER_POOL_TYPE_PIXEL_BUFFER, 391 ::testing::Values(TILE_TASK_WORKER_POOL_TYPE_PIXEL_BUFFER,
382 TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY, 392 TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY,
383 TILE_TASK_WORKER_POOL_TYPE_ONE_COPY, 393 TILE_TASK_WORKER_POOL_TYPE_ONE_COPY,
384 TILE_TASK_WORKER_POOL_TYPE_GPU, 394 TILE_TASK_WORKER_POOL_TYPE_GPU,
385 TILE_TASK_WORKER_POOL_TYPE_BITMAP)); 395 TILE_TASK_WORKER_POOL_TYPE_BITMAP));
386 396
387 } // namespace 397 } // namespace
388 } // namespace cc 398 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/tile_manager_unittest.cc ('k') | cc/resources/transform_display_item.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698