OLD | NEW |
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/worker_pool.h" | 5 #include "cc/resources/worker_pool.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "cc/base/completion_event.h" | 9 #include "cc/base/completion_event.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 void ScheduleTasks(const std::vector<Task>& tasks) { | 70 void ScheduleTasks(const std::vector<Task>& tasks) { |
71 TaskVector new_tasks; | 71 TaskVector new_tasks; |
72 TaskVector new_dependents; | 72 TaskVector new_dependents; |
73 TaskGraph new_graph; | 73 TaskGraph new_graph; |
74 | 74 |
75 scoped_refptr<FakeWorkerPoolTaskImpl> new_completion_task( | 75 scoped_refptr<FakeWorkerPoolTaskImpl> new_completion_task( |
76 new FakeWorkerPoolTaskImpl( | 76 new FakeWorkerPoolTaskImpl( |
77 base::Bind(&FakeWorkerPool::OnTasksCompleted, | 77 base::Bind(&FakeWorkerPool::OnTasksCompleted, |
78 base::Unretained(this)), | 78 base::Unretained(this)), |
79 base::Closure())); | 79 base::Closure())); |
80 scoped_ptr<GraphNode> completion_node(new GraphNode); | 80 scoped_ptr<internal::GraphNode> completion_node( |
81 completion_node->set_task(new_completion_task.get()); | 81 new internal::GraphNode(new_completion_task.get(), 0u)); |
82 | 82 |
83 for (std::vector<Task>::const_iterator it = tasks.begin(); | 83 for (std::vector<Task>::const_iterator it = tasks.begin(); |
84 it != tasks.end(); ++it) { | 84 it != tasks.end(); ++it) { |
85 scoped_refptr<FakeWorkerPoolTaskImpl> new_task( | 85 scoped_refptr<FakeWorkerPoolTaskImpl> new_task( |
86 new FakeWorkerPoolTaskImpl(it->callback, it->reply)); | 86 new FakeWorkerPoolTaskImpl(it->callback, it->reply)); |
87 scoped_ptr<GraphNode> node(new GraphNode); | 87 scoped_ptr<internal::GraphNode> node( |
88 node->set_task(new_task.get()); | 88 new internal::GraphNode(new_task.get(), it->priority)); |
89 node->set_priority(it->priority); | |
90 | 89 |
91 DCHECK(it->dependent_count); | 90 DCHECK(it->dependent_count); |
92 for (unsigned i = 0; i < it->dependent_count; ++i) { | 91 for (unsigned i = 0; i < it->dependent_count; ++i) { |
93 scoped_refptr<FakeWorkerPoolTaskImpl> new_dependent_task( | 92 scoped_refptr<FakeWorkerPoolTaskImpl> new_dependent_task( |
94 new FakeWorkerPoolTaskImpl(it->dependent, base::Closure())); | 93 new FakeWorkerPoolTaskImpl(it->dependent, base::Closure())); |
95 scoped_ptr<GraphNode> dependent_node(new GraphNode); | 94 scoped_ptr<internal::GraphNode> dependent_node( |
96 dependent_node->set_task(new_dependent_task.get()); | 95 new internal::GraphNode(new_dependent_task.get(), it->priority)); |
97 dependent_node->set_priority(it->priority); | |
98 dependent_node->add_dependent(completion_node.get()); | 96 dependent_node->add_dependent(completion_node.get()); |
99 completion_node->add_dependency(); | 97 completion_node->add_dependency(); |
100 node->add_dependent(dependent_node.get()); | 98 node->add_dependent(dependent_node.get()); |
101 dependent_node->add_dependency(); | 99 dependent_node->add_dependency(); |
102 new_graph.set(new_dependent_task.get(), dependent_node.Pass()); | 100 new_graph.set(new_dependent_task.get(), dependent_node.Pass()); |
103 new_dependents.push_back(new_dependent_task.get()); | 101 new_dependents.push_back(new_dependent_task.get()); |
104 } | 102 } |
105 | 103 |
106 new_graph.set(new_task.get(), node.Pass()); | 104 new_graph.set(new_task.get(), node.Pass()); |
107 new_tasks.push_back(new_task.get()); | 105 new_tasks.push_back(new_task.get()); |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 EXPECT_EQ(1u, run_task_ids()[2]); | 385 EXPECT_EQ(1u, run_task_ids()[2]); |
388 ASSERT_EQ(3u, on_task_completed_ids().size()); | 386 ASSERT_EQ(3u, on_task_completed_ids().size()); |
389 EXPECT_EQ(2u, on_task_completed_ids()[0]); | 387 EXPECT_EQ(2u, on_task_completed_ids()[0]); |
390 EXPECT_EQ(1u, on_task_completed_ids()[1]); | 388 EXPECT_EQ(1u, on_task_completed_ids()[1]); |
391 EXPECT_EQ(0u, on_task_completed_ids()[2]); | 389 EXPECT_EQ(0u, on_task_completed_ids()[2]); |
392 } | 390 } |
393 | 391 |
394 } // namespace | 392 } // namespace |
395 | 393 |
396 } // namespace cc | 394 } // namespace cc |
OLD | NEW |