| Index: components/scheduler/renderer/web_view_scheduler_impl_unittest.cc | 
| diff --git a/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc b/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc | 
| index 8ccc4dfc83c3f6cf88bdc0c7af2830582c23619f..5a3d54751c7c0560de954d680b3b13d8228dbbd5 100644 | 
| --- a/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc | 
| +++ b/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc | 
| @@ -20,6 +20,7 @@ | 
| #include "third_party/WebKit/public/platform/WebTraceLocation.h" | 
|  | 
| using testing::ElementsAre; | 
| +using VirtualTimePolicy = blink::WebViewScheduler::VirtualTimePolicy; | 
|  | 
| namespace scheduler { | 
|  | 
| @@ -335,7 +336,7 @@ class DelayedRunOrderTask : public blink::WebTaskRunner::Task { | 
| TEST_F(WebViewSchedulerImplTest, VirtualTime_NotAllowedToAdvance) { | 
| std::vector<int> run_order; | 
|  | 
| -  web_view_scheduler_->setAllowVirtualTimeToAdvance(false); | 
| +  web_view_scheduler_->setVirtualTimePolicy(VirtualTimePolicy::PAUSE); | 
| web_view_scheduler_->enableVirtualTime(); | 
|  | 
| web_frame_scheduler_->timerTaskRunner()->postTask( | 
| @@ -362,7 +363,7 @@ TEST_F(WebViewSchedulerImplTest, VirtualTime_NotAllowedToAdvance) { | 
| TEST_F(WebViewSchedulerImplTest, VirtualTime_AllowedToAdvance) { | 
| std::vector<int> run_order; | 
|  | 
| -  web_view_scheduler_->setAllowVirtualTimeToAdvance(true); | 
| +  web_view_scheduler_->setVirtualTimePolicy(VirtualTimePolicy::ADVANCE); | 
| web_view_scheduler_->enableVirtualTime(); | 
|  | 
| web_frame_scheduler_->timerTaskRunner()->postTask( | 
| @@ -411,7 +412,7 @@ TEST_F(WebViewSchedulerImplTestWithDisabledBackgroundTimerThrottling, | 
| TEST_F(WebViewSchedulerImplTest, VirtualTimeSettings_NewWebFrameScheduler) { | 
| std::vector<int> run_order; | 
|  | 
| -  web_view_scheduler_->setAllowVirtualTimeToAdvance(false); | 
| +  web_view_scheduler_->setVirtualTimePolicy(VirtualTimePolicy::PAUSE); | 
| web_view_scheduler_->enableVirtualTime(); | 
|  | 
| std::unique_ptr<WebFrameSchedulerImpl> web_frame_scheduler = | 
| @@ -423,7 +424,7 @@ TEST_F(WebViewSchedulerImplTest, VirtualTimeSettings_NewWebFrameScheduler) { | 
| mock_task_runner_->RunUntilIdle(); | 
| EXPECT_TRUE(run_order.empty()); | 
|  | 
| -  web_view_scheduler_->setAllowVirtualTimeToAdvance(true); | 
| +  web_view_scheduler_->setVirtualTimePolicy(VirtualTimePolicy::ADVANCE); | 
| mock_task_runner_->RunUntilIdle(); | 
|  | 
| EXPECT_THAT(run_order, ElementsAre(1)); | 
| @@ -501,4 +502,29 @@ TEST_F(WebViewSchedulerImplTest, DeleteThrottledQueue_InTask) { | 
| EXPECT_EQ(10, run_count); | 
| } | 
|  | 
| +TEST_F(WebViewSchedulerImplTest, | 
| +       VirtualTimePolicy_PAUSE_IF_NETWORK_FETCHES_PENDING) { | 
| +  web_view_scheduler_->setVirtualTimePolicy( | 
| +      VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING); | 
| +  EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); | 
| + | 
| +  web_view_scheduler_->incrementPendingResourceLoadCount(); | 
| +  EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); | 
| + | 
| +  web_view_scheduler_->incrementPendingResourceLoadCount(); | 
| +  EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); | 
| + | 
| +  web_view_scheduler_->decrementPendingResourceLoadCount(); | 
| +  EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); | 
| + | 
| +  web_view_scheduler_->incrementPendingResourceLoadCount(); | 
| +  EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); | 
| + | 
| +  web_view_scheduler_->decrementPendingResourceLoadCount(); | 
| +  EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); | 
| + | 
| +  web_view_scheduler_->decrementPendingResourceLoadCount(); | 
| +  EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); | 
| +} | 
| + | 
| }  // namespace scheduler | 
|  |