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 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 | 56 |
57 class MessageLoopTaskRunner : public TaskQueueManagerDelegateForTest { | 57 class MessageLoopTaskRunner : public TaskQueueManagerDelegateForTest { |
58 public: | 58 public: |
59 static scoped_refptr<MessageLoopTaskRunner> Create( | 59 static scoped_refptr<MessageLoopTaskRunner> Create( |
60 std::unique_ptr<base::TickClock> tick_clock) { | 60 std::unique_ptr<base::TickClock> tick_clock) { |
61 return make_scoped_refptr(new MessageLoopTaskRunner(std::move(tick_clock))); | 61 return make_scoped_refptr(new MessageLoopTaskRunner(std::move(tick_clock))); |
62 } | 62 } |
63 | 63 |
64 // TaskQueueManagerDelegateForTest: | 64 // TaskQueueManagerDelegateForTest: |
65 bool IsNested() const override { | 65 bool IsNested() const override { |
66 DCHECK(RunsTasksOnCurrentThread()); | 66 DCHECK(RunsTasksInCurrentSequence()); |
67 return base::RunLoop::IsNestedOnCurrentThread(); | 67 return base::RunLoop::IsNestedOnCurrentThread(); |
68 } | 68 } |
69 | 69 |
70 void AddNestingObserver(base::RunLoop::NestingObserver* observer) override { | 70 void AddNestingObserver(base::RunLoop::NestingObserver* observer) override { |
71 base::RunLoop::AddNestingObserverOnCurrentThread(observer); | 71 base::RunLoop::AddNestingObserverOnCurrentThread(observer); |
72 } | 72 } |
73 | 73 |
74 void RemoveNestingObserver( | 74 void RemoveNestingObserver( |
75 base::RunLoop::NestingObserver* observer) override { | 75 base::RunLoop::NestingObserver* observer) override { |
76 base::RunLoop::RemoveNestingObserverOnCurrentThread(observer); | 76 base::RunLoop::RemoveNestingObserverOnCurrentThread(observer); |
(...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1014 runners_[0]->PostTask( | 1014 runners_[0]->PostTask( |
1015 FROM_HERE, base::Bind(&RemoveQueueObserverTask, runners_[0], &observer)); | 1015 FROM_HERE, base::Bind(&RemoveQueueObserverTask, runners_[0], &observer)); |
1016 | 1016 |
1017 EXPECT_CALL(observer, WillProcessTask(_)).Times(1); | 1017 EXPECT_CALL(observer, WillProcessTask(_)).Times(1); |
1018 EXPECT_CALL(observer, DidProcessTask(_)).Times(0); | 1018 EXPECT_CALL(observer, DidProcessTask(_)).Times(0); |
1019 base::RunLoop().RunUntilIdle(); | 1019 base::RunLoop().RunUntilIdle(); |
1020 } | 1020 } |
1021 | 1021 |
1022 TEST_F(TaskQueueManagerTest, ThreadCheckAfterTermination) { | 1022 TEST_F(TaskQueueManagerTest, ThreadCheckAfterTermination) { |
1023 Initialize(1u); | 1023 Initialize(1u); |
1024 EXPECT_TRUE(runners_[0]->RunsTasksOnCurrentThread()); | 1024 EXPECT_TRUE(runners_[0]->RunsTasksInCurrentSequence()); |
1025 manager_.reset(); | 1025 manager_.reset(); |
1026 EXPECT_TRUE(runners_[0]->RunsTasksOnCurrentThread()); | 1026 EXPECT_TRUE(runners_[0]->RunsTasksInCurrentSequence()); |
1027 } | 1027 } |
1028 | 1028 |
1029 TEST_F(TaskQueueManagerTest, TimeDomain_NextScheduledRunTime) { | 1029 TEST_F(TaskQueueManagerTest, TimeDomain_NextScheduledRunTime) { |
1030 Initialize(2u); | 1030 Initialize(2u); |
1031 now_src_->Advance(base::TimeDelta::FromMicroseconds(10000)); | 1031 now_src_->Advance(base::TimeDelta::FromMicroseconds(10000)); |
1032 | 1032 |
1033 // With no delayed tasks. | 1033 // With no delayed tasks. |
1034 base::TimeTicks run_time; | 1034 base::TimeTicks run_time; |
1035 EXPECT_FALSE(manager_->real_time_domain()->NextScheduledRunTime(&run_time)); | 1035 EXPECT_FALSE(manager_->real_time_domain()->NextScheduledRunTime(&run_time)); |
1036 | 1036 |
(...skipping 1910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2947 manager_->RegisterTimeDomain(domain.get()); | 2947 manager_->RegisterTimeDomain(domain.get()); |
2948 runners_[0]->SetTimeDomain(domain.get()); | 2948 runners_[0]->SetTimeDomain(domain.get()); |
2949 | 2949 |
2950 // Tidy up. | 2950 // Tidy up. |
2951 runners_[0]->UnregisterTaskQueue(); | 2951 runners_[0]->UnregisterTaskQueue(); |
2952 manager_->UnregisterTimeDomain(domain.get()); | 2952 manager_->UnregisterTimeDomain(domain.get()); |
2953 } | 2953 } |
2954 | 2954 |
2955 } // namespace scheduler | 2955 } // namespace scheduler |
2956 } // namespace blink | 2956 } // namespace blink |
OLD | NEW |