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 "components/scheduler/renderer/renderer_scheduler_impl.h" | 5 #include "components/scheduler/renderer/renderer_scheduler_impl.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/test/simple_test_tick_clock.h" | 8 #include "base/test/simple_test_tick_clock.h" |
9 #include "cc/output/begin_frame_args.h" | 9 #include "cc/output/begin_frame_args.h" |
10 #include "cc/test/ordered_simple_task_runner.h" | 10 #include "cc/test/ordered_simple_task_runner.h" |
(...skipping 2132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2143 RunUntilIdle(); | 2143 RunUntilIdle(); |
2144 | 2144 |
2145 EXPECT_EQ(RendererScheduler::UseCase::NONE, CurrentUseCase()); | 2145 EXPECT_EQ(RendererScheduler::UseCase::NONE, CurrentUseCase()); |
2146 EXPECT_TRUE(HaveSeenABeginMainframe()); | 2146 EXPECT_TRUE(HaveSeenABeginMainframe()); |
2147 EXPECT_TRUE(LoadingTasksSeemExpensive()); | 2147 EXPECT_TRUE(LoadingTasksSeemExpensive()); |
2148 EXPECT_FALSE(TimerTasksSeemExpensive()); | 2148 EXPECT_FALSE(TimerTasksSeemExpensive()); |
2149 EXPECT_TRUE(TouchStartExpectedSoon()); | 2149 EXPECT_TRUE(TouchStartExpectedSoon()); |
2150 EXPECT_THAT(run_order, testing::ElementsAre(std::string("D1"))); | 2150 EXPECT_THAT(run_order, testing::ElementsAre(std::string("D1"))); |
2151 } | 2151 } |
2152 | 2152 |
2153 TEST_F( | |
2154 RendererSchedulerImplTest, | |
2155 TestCompositorPolicy_ExpensiveLoadingTasksNotBlockedDuringMainThreadGestures ) { | |
alex clarke (OOO till 29th)
2015/10/30 14:55:23
Please shorten this.
Sami
2015/10/30 15:01:20
Done.
| |
2156 std::vector<std::string> run_order; | |
2157 | |
2158 SimulateExpensiveTasks(loading_task_runner_); | |
2159 | |
2160 // Loading tasks should not be disabled during main thread user user | |
2161 // interactions. | |
2162 PostTestTasks(&run_order, "C1 L1"); | |
2163 | |
2164 // Trigger main_thread_gesture UseCase | |
2165 WillBeginMainThreadGestureFrame(); | |
2166 RunUntilIdle(); | |
2167 EXPECT_EQ(RendererScheduler::UseCase::MAIN_THREAD_GESTURE, CurrentUseCase()); | |
2168 | |
2169 EXPECT_THAT(run_order, | |
alex clarke (OOO till 29th)
2015/10/30 14:55:23
Please add:
EXPECT_TRUE(LoadingTasksSeemExpensiv
Sami
2015/10/30 15:01:20
Done.
| |
2170 testing::ElementsAre(std::string("C1"), std::string("L1"))); | |
2171 } | |
2172 | |
2153 TEST_F(RendererSchedulerImplTest, ModeratelyExpensiveTimer_NotBlocked) { | 2173 TEST_F(RendererSchedulerImplTest, ModeratelyExpensiveTimer_NotBlocked) { |
2154 scheduler_->SetHasVisibleRenderWidgetWithTouchHandler(true); | 2174 scheduler_->SetHasVisibleRenderWidgetWithTouchHandler(true); |
2155 for (int i = 0; i < 20; i++) { | 2175 for (int i = 0; i < 20; i++) { |
2156 simulate_timer_task_ran_ = false; | 2176 simulate_timer_task_ran_ = false; |
2157 compositor_task_runner_->PostTask( | 2177 compositor_task_runner_->PostTask( |
2158 FROM_HERE, | 2178 FROM_HERE, |
2159 base::Bind( | 2179 base::Bind( |
2160 &RendererSchedulerImplTest::SimulateMainThreadGestureCompositorTask, | 2180 &RendererSchedulerImplTest::SimulateMainThreadGestureCompositorTask, |
2161 base::Unretained(this), base::TimeDelta::FromMilliseconds(4))); | 2181 base::Unretained(this), base::TimeDelta::FromMilliseconds(4))); |
2162 timer_task_runner_->PostTask( | 2182 timer_task_runner_->PostTask( |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2205 } | 2225 } |
2206 | 2226 |
2207 base::TimeDelta time_till_next_frame = | 2227 base::TimeDelta time_till_next_frame = |
2208 EstimatedNextFrameBegin() - clock_->NowTicks(); | 2228 EstimatedNextFrameBegin() - clock_->NowTicks(); |
2209 if (time_till_next_frame > base::TimeDelta()) | 2229 if (time_till_next_frame > base::TimeDelta()) |
2210 clock_->Advance(time_till_next_frame); | 2230 clock_->Advance(time_till_next_frame); |
2211 } | 2231 } |
2212 } | 2232 } |
2213 | 2233 |
2214 } // namespace scheduler | 2234 } // namespace scheduler |
OLD | NEW |