OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "platform/scheduler/renderer/web_view_scheduler_impl.h" | 5 #include "platform/scheduler/renderer/web_view_scheduler_impl.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 | 272 |
273 web_frame_scheduler_->timerTaskRunner()->postDelayedTask( | 273 web_frame_scheduler_->timerTaskRunner()->postDelayedTask( |
274 BLINK_FROM_HERE, | 274 BLINK_FROM_HERE, |
275 makeVirtualTimeRecorderTask(clock_.get(), | 275 makeVirtualTimeRecorderTask(clock_.get(), |
276 web_frame_scheduler_->timerTaskRunner(), | 276 web_frame_scheduler_->timerTaskRunner(), |
277 &real_times, &virtual_times_ms), | 277 &real_times, &virtual_times_ms), |
278 200.0); | 278 200.0); |
279 | 279 |
280 mock_task_runner_->RunUntilIdle(); | 280 mock_task_runner_->RunUntilIdle(); |
281 | 281 |
282 EXPECT_THAT(real_times, ElementsAre(initial_real_time, initial_real_time, | 282 EXPECT_THAT( |
283 initial_real_time)); | 283 real_times, |
284 EXPECT_THAT(virtual_times_ms, ElementsAre(initial_virtual_time_ms + 2, | 284 ElementsAre(initial_real_time, initial_real_time, initial_real_time)); |
285 initial_virtual_time_ms + 20, | 285 EXPECT_THAT( |
286 initial_virtual_time_ms + 200)); | 286 virtual_times_ms, |
| 287 ElementsAre(initial_virtual_time_ms + 2, initial_virtual_time_ms + 20, |
| 288 initial_virtual_time_ms + 200)); |
287 } | 289 } |
288 | 290 |
289 TEST_F(WebViewSchedulerImplTest, VirtualTime_LoadingTaskFastForwarding) { | 291 TEST_F(WebViewSchedulerImplTest, VirtualTime_LoadingTaskFastForwarding) { |
290 std::vector<base::TimeTicks> real_times; | 292 std::vector<base::TimeTicks> real_times; |
291 std::vector<size_t> virtual_times_ms; | 293 std::vector<size_t> virtual_times_ms; |
292 base::TimeTicks initial_real_time = scheduler_->tick_clock()->NowTicks(); | 294 base::TimeTicks initial_real_time = scheduler_->tick_clock()->NowTicks(); |
293 size_t initial_virtual_time_ms = | 295 size_t initial_virtual_time_ms = |
294 web_frame_scheduler_->timerTaskRunner() | 296 web_frame_scheduler_->timerTaskRunner() |
295 ->monotonicallyIncreasingVirtualTimeSeconds() * | 297 ->monotonicallyIncreasingVirtualTimeSeconds() * |
296 1000.0; | 298 1000.0; |
(...skipping 16 matching lines...) Expand all Loading... |
313 | 315 |
314 web_frame_scheduler_->loadingTaskRunner()->postDelayedTask( | 316 web_frame_scheduler_->loadingTaskRunner()->postDelayedTask( |
315 BLINK_FROM_HERE, | 317 BLINK_FROM_HERE, |
316 makeVirtualTimeRecorderTask(clock_.get(), | 318 makeVirtualTimeRecorderTask(clock_.get(), |
317 web_frame_scheduler_->loadingTaskRunner(), | 319 web_frame_scheduler_->loadingTaskRunner(), |
318 &real_times, &virtual_times_ms), | 320 &real_times, &virtual_times_ms), |
319 200.0); | 321 200.0); |
320 | 322 |
321 mock_task_runner_->RunUntilIdle(); | 323 mock_task_runner_->RunUntilIdle(); |
322 | 324 |
323 EXPECT_THAT(real_times, ElementsAre(initial_real_time, initial_real_time, | 325 EXPECT_THAT( |
324 initial_real_time)); | 326 real_times, |
325 EXPECT_THAT(virtual_times_ms, ElementsAre(initial_virtual_time_ms + 2, | 327 ElementsAre(initial_real_time, initial_real_time, initial_real_time)); |
326 initial_virtual_time_ms + 20, | 328 EXPECT_THAT( |
327 initial_virtual_time_ms + 200)); | 329 virtual_times_ms, |
| 330 ElementsAre(initial_virtual_time_ms + 2, initial_virtual_time_ms + 20, |
| 331 initial_virtual_time_ms + 200)); |
328 } | 332 } |
329 | 333 |
330 TEST_F(WebViewSchedulerImplTest, | 334 TEST_F(WebViewSchedulerImplTest, |
331 RepeatingTimer_PageInBackground_MeansNothingForVirtualTime) { | 335 RepeatingTimer_PageInBackground_MeansNothingForVirtualTime) { |
332 web_view_scheduler_->enableVirtualTime(); | 336 web_view_scheduler_->enableVirtualTime(); |
333 web_view_scheduler_->setPageVisible(false); | 337 web_view_scheduler_->setPageVisible(false); |
334 base::TimeTicks initial_real_time = scheduler_->tick_clock()->NowTicks(); | 338 base::TimeTicks initial_real_time = scheduler_->tick_clock()->NowTicks(); |
335 | 339 |
336 int run_count = 0; | 340 int run_count = 0; |
337 web_frame_scheduler_->timerTaskRunner()->postDelayedTask( | 341 web_frame_scheduler_->timerTaskRunner()->postDelayedTask( |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 // WebSocket is closed, budget-based throttling now applies. | 784 // WebSocket is closed, budget-based throttling now applies. |
781 EXPECT_THAT( | 785 EXPECT_THAT( |
782 run_times, | 786 run_times, |
783 ElementsAre(base::TimeTicks() + base::TimeDelta::FromSeconds(84), | 787 ElementsAre(base::TimeTicks() + base::TimeDelta::FromSeconds(84), |
784 base::TimeTicks() + base::TimeDelta::FromSeconds(109), | 788 base::TimeTicks() + base::TimeDelta::FromSeconds(109), |
785 base::TimeTicks() + base::TimeDelta::FromSeconds(134))); | 789 base::TimeTicks() + base::TimeDelta::FromSeconds(134))); |
786 } | 790 } |
787 | 791 |
788 } // namespace scheduler | 792 } // namespace scheduler |
789 } // namespace blink | 793 } // namespace blink |
OLD | NEW |