Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(499)

Side by Side Diff: components/scheduler/renderer/renderer_scheduler_impl_unittest.cc

Issue 1587663003: scheduler: Turn expensive task blocking into a finch trial (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698