OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "platform/scheduler/base/task_queue_manager.h" | 5 #include "platform/scheduler/base/task_queue_manager.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
11 #include "base/location.h" | 11 #include "base/location.h" |
12 #include "base/memory/ptr_util.h" | 12 #include "base/memory/ptr_util.h" |
13 #include "base/memory/ref_counted_memory.h" | 13 #include "base/memory/ref_counted_memory.h" |
14 #include "base/run_loop.h" | 14 #include "base/run_loop.h" |
15 #include "base/single_thread_task_runner.h" | 15 #include "base/single_thread_task_runner.h" |
16 #include "base/test/simple_test_tick_clock.h" | 16 #include "base/test/simple_test_tick_clock.h" |
17 #include "base/test/trace_event_analyzer.h" | 17 #include "base/test/trace_event_analyzer.h" |
18 #include "base/threading/thread.h" | 18 #include "base/threading/thread.h" |
| 19 #include "base/threading/thread_task_runner_handle.h" |
19 #include "base/trace_event/blame_context.h" | 20 #include "base/trace_event/blame_context.h" |
20 #include "base/trace_event/trace_buffer.h" | 21 #include "base/trace_event/trace_buffer.h" |
21 #include "cc/test/ordered_simple_task_runner.h" | 22 #include "cc/test/ordered_simple_task_runner.h" |
22 #include "platform/scheduler/base/real_time_domain.h" | 23 #include "platform/scheduler/base/real_time_domain.h" |
23 #include "platform/scheduler/base/task_queue_impl.h" | 24 #include "platform/scheduler/base/task_queue_impl.h" |
24 #include "platform/scheduler/base/task_queue_manager_delegate_for_test.h" | 25 #include "platform/scheduler/base/task_queue_manager_delegate_for_test.h" |
25 #include "platform/scheduler/base/task_queue_selector.h" | 26 #include "platform/scheduler/base/task_queue_selector.h" |
26 #include "platform/scheduler/base/test_count_uses_time_source.h" | 27 #include "platform/scheduler/base/test_count_uses_time_source.h" |
27 #include "platform/scheduler/base/test_task_time_observer.h" | 28 #include "platform/scheduler/base/test_task_time_observer.h" |
28 #include "platform/scheduler/base/test_time_source.h" | 29 #include "platform/scheduler/base/test_time_source.h" |
(...skipping 29 matching lines...) Expand all Loading... |
58 base::MessageLoop::current()->AddNestingObserver(observer); | 59 base::MessageLoop::current()->AddNestingObserver(observer); |
59 } | 60 } |
60 | 61 |
61 void RemoveNestingObserver( | 62 void RemoveNestingObserver( |
62 base::MessageLoop::NestingObserver* observer) override { | 63 base::MessageLoop::NestingObserver* observer) override { |
63 base::MessageLoop::current()->RemoveNestingObserver(observer); | 64 base::MessageLoop::current()->RemoveNestingObserver(observer); |
64 } | 65 } |
65 | 66 |
66 private: | 67 private: |
67 explicit MessageLoopTaskRunner(std::unique_ptr<base::TickClock> tick_clock) | 68 explicit MessageLoopTaskRunner(std::unique_ptr<base::TickClock> tick_clock) |
68 : TaskQueueManagerDelegateForTest( | 69 : TaskQueueManagerDelegateForTest(base::ThreadTaskRunnerHandle::Get(), |
69 base::MessageLoop::current()->task_runner(), | 70 std::move(tick_clock)) {} |
70 std::move(tick_clock)) {} | |
71 ~MessageLoopTaskRunner() override {} | 71 ~MessageLoopTaskRunner() override {} |
72 }; | 72 }; |
73 | 73 |
74 class TaskQueueManagerTest : public testing::Test { | 74 class TaskQueueManagerTest : public testing::Test { |
75 public: | 75 public: |
76 TaskQueueManagerTest() {} | 76 TaskQueueManagerTest() {} |
77 void DeleteTaskQueueManager() { manager_.reset(); } | 77 void DeleteTaskQueueManager() { manager_.reset(); } |
78 | 78 |
79 protected: | 79 protected: |
80 void InitializeWithClock(size_t num_queues, | 80 void InitializeWithClock(size_t num_queues, |
(...skipping 1944 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2025 | 2025 |
2026 EXPECT_THAT(wakeup_times, | 2026 EXPECT_THAT(wakeup_times, |
2027 ElementsAre(start_time + delay1, start_time + delay3, | 2027 ElementsAre(start_time + delay1, start_time + delay3, |
2028 start_time + delay4)); | 2028 start_time + delay4)); |
2029 | 2029 |
2030 EXPECT_THAT(run_times, ElementsAre(start_time + delay3, start_time + delay4)); | 2030 EXPECT_THAT(run_times, ElementsAre(start_time + delay3, start_time + delay4)); |
2031 } | 2031 } |
2032 | 2032 |
2033 } // namespace scheduler | 2033 } // namespace scheduler |
2034 } // namespace blink | 2034 } // namespace blink |
OLD | NEW |