| Index: third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc b/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
|
| index 55921202e0005c86e9688ad56a73b74d68a3068f..744c54eaebbc6997c3661af39ba2f792db543e5e 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/web_frame_scheduler_impl_unittest.cc
|
| @@ -74,6 +74,11 @@ class RepeatingTask : public blink::WebTaskRunner::Task {
|
| blink::WebTaskRunner* web_task_runner_; // NOT OWNED
|
| int* run_count_; // NOT OWNED
|
| };
|
| +
|
| +void IncrementCounter(int* counter) {
|
| + ++*counter;
|
| +}
|
| +
|
| } // namespace
|
|
|
| TEST_F(WebFrameSchedulerImplTest, RepeatingTimer_PageInForeground) {
|
| @@ -176,5 +181,27 @@ TEST_F(WebFrameSchedulerImplTest, RepeatingTimer_FrameHidden_CrossOrigin_Throttl
|
| EXPECT_EQ(1000, run_count);
|
| }
|
|
|
| +TEST_F(WebFrameSchedulerImplTest, SuspendAndResume) {
|
| + int counter = 0;
|
| + web_frame_scheduler_->loadingTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&IncrementCounter, WTF::unretained(&counter)));
|
| + web_frame_scheduler_->timerTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&IncrementCounter, WTF::unretained(&counter)));
|
| + web_frame_scheduler_->unthrottledTaskRunner()->postTask(
|
| + BLINK_FROM_HERE, WTF::bind(&IncrementCounter, WTF::unretained(&counter)));
|
| +
|
| + web_frame_scheduler_->setSuspended(true);
|
| +
|
| + EXPECT_EQ(0, counter);
|
| + mock_task_runner_->RunUntilIdle();
|
| + EXPECT_EQ(1, counter);
|
| +
|
| + web_frame_scheduler_->setSuspended(false);
|
| +
|
| + EXPECT_EQ(1, counter);
|
| + mock_task_runner_->RunUntilIdle();
|
| + EXPECT_EQ(3, counter);
|
| +}
|
| +
|
| } // namespace scheduler
|
| } // namespace blink
|
|
|