| 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 48cc8add36c83cb531d2af04ec604a54b8c2c510..e7abd615da970ff376402809fb6e33d56917e641 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
|
| @@ -206,10 +206,7 @@ class RendererSchedulerImplForTest : public RendererSchedulerImpl {
|
|
|
| RendererSchedulerImplForTest(
|
| scoped_refptr<SchedulerTqmDelegate> main_task_runner)
|
| - : RendererSchedulerImpl(main_task_runner), update_policy_count_(0) {
|
| - main_thread_responsiveness_threshold_ =
|
| - base::TimeDelta::FromMilliseconds(200);
|
| - }
|
| + : RendererSchedulerImpl(main_task_runner), update_policy_count_(0) {}
|
|
|
| void UpdatePolicyLocked(UpdateType update_type) override {
|
| update_policy_count_++;
|
| @@ -641,6 +638,10 @@ class RendererSchedulerImplTest : public testing::Test {
|
| RendererSchedulerImpl::kRailsResponseTimeMillis);
|
| }
|
|
|
| + static base::TimeDelta responsiveness_threshold() {
|
| + return base::TimeDelta::FromMilliseconds(200);
|
| + }
|
| +
|
| template <typename E>
|
| static void CallForEachEnumValue(E first,
|
| E last,
|
| @@ -3755,44 +3756,53 @@ TEST_F(RendererSchedulerImplTest,
|
| }
|
|
|
| TEST_F(RendererSchedulerImplTest, UnresponsiveMainThread) {
|
| - EXPECT_FALSE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_FALSE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
|
|
| // Add one second long task.
|
| AdvanceTimeWithTask(1);
|
| - EXPECT_TRUE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_TRUE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
|
|
| // Wait a second.
|
| clock_->Advance(base::TimeDelta::FromSecondsD(2));
|
|
|
| AdvanceTimeWithTask(0.5);
|
| - EXPECT_FALSE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_FALSE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
| }
|
|
|
| TEST_F(RendererSchedulerImplTest, ResponsiveMainThreadDuringTask) {
|
| - EXPECT_FALSE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_FALSE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
| clock_->Advance(base::TimeDelta::FromSecondsD(2));
|
| scheduler_->willProcessTask(
|
| scheduler_->TimerTaskRunner().get(),
|
| (clock_->NowTicks() - base::TimeTicks()).InSecondsF());
|
| - EXPECT_FALSE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_FALSE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
| }
|
|
|
| TEST_F(RendererSchedulerImplTest, UnresponsiveMainThreadWithContention) {
|
| // Process a long task, lock the queueing time estimator, and check that we
|
| // still report the main thread is unresponsive.
|
| AdvanceTimeWithTask(1);
|
| - EXPECT_TRUE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_TRUE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
| GetQueueingTimeEstimatorLock();
|
| - EXPECT_TRUE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_TRUE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
|
|
| // Advance the clock, so that in the last second, we were responsive.
|
| clock_->Advance(base::TimeDelta::FromSecondsD(2));
|
| // While the queueing time estimator is locked, we believe the thread to still
|
| // be unresponsive.
|
| - EXPECT_TRUE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_TRUE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
| // Once we've dropped the lock, we realize the main thread is responsive.
|
| DropQueueingTimeEstimatorLock();
|
| - EXPECT_FALSE(scheduler_->MainThreadSeemsUnresponsive());
|
| + EXPECT_FALSE(
|
| + scheduler_->MainThreadSeemsUnresponsive(responsiveness_threshold()));
|
| }
|
|
|
| } // namespace scheduler
|
|
|