| 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 |