| Index: third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| index 4fa581f5499952eff36d87604c4f6e1f307a6577..9fd59734250fe178ee82fe3a7310573805246941 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl_unittest.cc
|
| @@ -3403,6 +3403,42 @@ TEST_F(RendererSchedulerImplTest, TestIdleRAILMode) {
|
| scheduler_->SetRAILModeObserver(nullptr);
|
| }
|
|
|
| +TEST_F(RendererSchedulerImplTest, TestLoadRAILMode) {
|
| + MockRAILModeObserver observer;
|
| + scheduler_->SetRAILModeObserver(&observer);
|
| + EXPECT_CALL(observer, OnRAILModeChanged(v8::PERFORMANCE_ANIMATION));
|
| + EXPECT_CALL(observer, OnRAILModeChanged(v8::PERFORMANCE_LOAD));
|
| +
|
| + scheduler_->OnNavigationStarted();
|
| + EXPECT_EQ(v8::PERFORMANCE_LOAD, RAILMode());
|
| + EXPECT_EQ(UseCase::LOADING, ForceUpdatePolicyAndGetCurrentUseCase());
|
| + scheduler_->OnFirstMeaningfulPaint();
|
| + EXPECT_EQ(UseCase::NONE, ForceUpdatePolicyAndGetCurrentUseCase());
|
| + EXPECT_EQ(v8::PERFORMANCE_ANIMATION, RAILMode());
|
| + scheduler_->SetRAILModeObserver(nullptr);
|
| +}
|
| +
|
| +TEST_F(RendererSchedulerImplTest, InputTerminatesLoadRAILMode) {
|
| + MockRAILModeObserver observer;
|
| + scheduler_->SetRAILModeObserver(&observer);
|
| + EXPECT_CALL(observer, OnRAILModeChanged(v8::PERFORMANCE_ANIMATION));
|
| + EXPECT_CALL(observer, OnRAILModeChanged(v8::PERFORMANCE_LOAD));
|
| +
|
| + scheduler_->OnNavigationStarted();
|
| + EXPECT_EQ(v8::PERFORMANCE_LOAD, RAILMode());
|
| + EXPECT_EQ(UseCase::LOADING, ForceUpdatePolicyAndGetCurrentUseCase());
|
| + scheduler_->DidHandleInputEventOnCompositorThread(
|
| + FakeInputEvent(blink::WebInputEvent::GestureScrollBegin),
|
| + RendererScheduler::InputEventState::EVENT_CONSUMED_BY_COMPOSITOR);
|
| + scheduler_->DidHandleInputEventOnCompositorThread(
|
| + FakeInputEvent(blink::WebInputEvent::GestureScrollUpdate),
|
| + RendererScheduler::InputEventState::EVENT_CONSUMED_BY_COMPOSITOR);
|
| + EXPECT_EQ(UseCase::COMPOSITOR_GESTURE,
|
| + ForceUpdatePolicyAndGetCurrentUseCase());
|
| + EXPECT_EQ(v8::PERFORMANCE_ANIMATION, RAILMode());
|
| + scheduler_->SetRAILModeObserver(nullptr);
|
| +}
|
| +
|
| TEST_F(RendererSchedulerImplTest, UnthrottledTaskRunner) {
|
| // Ensure neither suspension nor timer task throttling affects an unthrottled
|
| // task runner.
|
|
|