| 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 <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 2213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2224 | 2224 |
| 2225 EXPECT_EQ(UseCase::MAIN_THREAD_GESTURE, | 2225 EXPECT_EQ(UseCase::MAIN_THREAD_GESTURE, |
| 2226 ForceUpdatePolicyAndGetCurrentUseCase()); | 2226 ForceUpdatePolicyAndGetCurrentUseCase()); |
| 2227 EXPECT_TRUE(HaveSeenABeginMainframe()); | 2227 EXPECT_TRUE(HaveSeenABeginMainframe()); |
| 2228 EXPECT_FALSE(LoadingTasksSeemExpensive()); | 2228 EXPECT_FALSE(LoadingTasksSeemExpensive()); |
| 2229 EXPECT_TRUE(TimerTasksSeemExpensive()); | 2229 EXPECT_TRUE(TimerTasksSeemExpensive()); |
| 2230 EXPECT_TRUE(TouchStartExpectedSoon()); | 2230 EXPECT_TRUE(TouchStartExpectedSoon()); |
| 2231 EXPECT_THAT(run_order, testing::ElementsAre(std::string("D1"))); | 2231 EXPECT_THAT(run_order, testing::ElementsAre(std::string("D1"))); |
| 2232 } | 2232 } |
| 2233 | 2233 |
| 2234 TEST_F(RendererSchedulerImplTest, ExpensiveTimerTaskNotBlockedIfDisallowed) { |
| 2235 std::vector<std::string> run_order; |
| 2236 |
| 2237 EnableTaskBlocking(); |
| 2238 scheduler_->SetExpensiveTaskBlockingAllowed(false); |
| 2239 scheduler_->SetHasVisibleRenderWidgetWithTouchHandler(true); |
| 2240 DoMainFrame(); |
| 2241 SimulateExpensiveTasks(timer_task_runner_); |
| 2242 ForceTouchStartToBeExpectedSoon(); |
| 2243 |
| 2244 scheduler_->DidHandleInputEventOnCompositorThread( |
| 2245 FakeInputEvent(blink::WebInputEvent::GestureFlingStart), |
| 2246 RendererScheduler::InputEventState::EVENT_FORWARDED_TO_MAIN_THREAD); |
| 2247 PostTestTasks(&run_order, "T1 D1"); |
| 2248 RunUntilIdle(); |
| 2249 |
| 2250 EXPECT_EQ(UseCase::MAIN_THREAD_GESTURE, |
| 2251 ForceUpdatePolicyAndGetCurrentUseCase()); |
| 2252 EXPECT_TRUE(HaveSeenABeginMainframe()); |
| 2253 EXPECT_FALSE(LoadingTasksSeemExpensive()); |
| 2254 EXPECT_TRUE(TimerTasksSeemExpensive()); |
| 2255 EXPECT_TRUE(TouchStartExpectedSoon()); |
| 2256 EXPECT_THAT(run_order, testing::ElementsAre(std::string("T1"), |
| 2257 std::string("D1"))); |
| 2258 } |
| 2259 |
| 2234 TEST_F(RendererSchedulerImplTest, | 2260 TEST_F(RendererSchedulerImplTest, |
| 2235 ExpensiveTimerTaskBlockedIfTouchStartNotSeen) { | 2261 ExpensiveTimerTaskBlockedIfTouchStartNotSeen) { |
| 2236 std::vector<std::string> run_order; | 2262 std::vector<std::string> run_order; |
| 2237 | 2263 |
| 2238 scheduler_->SetHasVisibleRenderWidgetWithTouchHandler(true); | 2264 scheduler_->SetHasVisibleRenderWidgetWithTouchHandler(true); |
| 2239 DoMainFrame(); | 2265 DoMainFrame(); |
| 2240 SimulateExpensiveTasks(timer_task_runner_); | 2266 SimulateExpensiveTasks(timer_task_runner_); |
| 2241 ForceTouchStartToBeExpectedSoon(); | 2267 ForceTouchStartToBeExpectedSoon(); |
| 2242 | 2268 |
| 2243 scheduler_->DidHandleInputEventOnCompositorThread( | 2269 scheduler_->DidHandleInputEventOnCompositorThread( |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2477 } | 2503 } |
| 2478 | 2504 |
| 2479 base::TimeDelta time_till_next_frame = | 2505 base::TimeDelta time_till_next_frame = |
| 2480 EstimatedNextFrameBegin() - clock_->NowTicks(); | 2506 EstimatedNextFrameBegin() - clock_->NowTicks(); |
| 2481 if (time_till_next_frame > base::TimeDelta()) | 2507 if (time_till_next_frame > base::TimeDelta()) |
| 2482 clock_->Advance(time_till_next_frame); | 2508 clock_->Advance(time_till_next_frame); |
| 2483 } | 2509 } |
| 2484 } | 2510 } |
| 2485 | 2511 |
| 2486 } // namespace scheduler | 2512 } // namespace scheduler |
| OLD | NEW |