| 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 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 std::unique_ptr<WTF::Closure> MakeVirtualTimeRecorderTask( | 236 std::unique_ptr<WTF::Closure> MakeVirtualTimeRecorderTask( |
| 237 base::SimpleTestTickClock* clock, | 237 base::SimpleTestTickClock* clock, |
| 238 RefPtr<blink::WebTaskRunner> web_task_runner, | 238 RefPtr<blink::WebTaskRunner> web_task_runner, |
| 239 std::vector<base::TimeTicks>* out_real_times, | 239 std::vector<base::TimeTicks>* out_real_times, |
| 240 std::vector<size_t>* out_virtual_times_ms) { | 240 std::vector<size_t>* out_virtual_times_ms) { |
| 241 return WTF::Bind(&RunVirtualTimeRecorderTask, WTF::Unretained(clock), | 241 return WTF::Bind(&RunVirtualTimeRecorderTask, WTF::Unretained(clock), |
| 242 WTF::Passed(std::move(web_task_runner)), | 242 WTF::Passed(std::move(web_task_runner)), |
| 243 WTF::Unretained(out_real_times), | 243 WTF::Unretained(out_real_times), |
| 244 WTF::Unretained(out_virtual_times_ms)); | 244 WTF::Unretained(out_virtual_times_ms)); |
| 245 } | 245 } |
| 246 } | 246 } // namespace |
| 247 | 247 |
| 248 TEST_F(WebViewSchedulerImplTest, VirtualTime_TimerFastForwarding) { | 248 TEST_F(WebViewSchedulerImplTest, VirtualTime_TimerFastForwarding) { |
| 249 std::vector<base::TimeTicks> real_times; | 249 std::vector<base::TimeTicks> real_times; |
| 250 std::vector<size_t> virtual_times_ms; | 250 std::vector<size_t> virtual_times_ms; |
| 251 base::TimeTicks initial_real_time = scheduler_->tick_clock()->NowTicks(); | 251 base::TimeTicks initial_real_time = scheduler_->tick_clock()->NowTicks(); |
| 252 size_t initial_virtual_time_ms = | 252 size_t initial_virtual_time_ms = |
| 253 web_frame_scheduler_->TimerTaskRunner() | 253 web_frame_scheduler_->TimerTaskRunner() |
| 254 ->MonotonicallyIncreasingVirtualTimeSeconds() * | 254 ->MonotonicallyIncreasingVirtualTimeSeconds() * |
| 255 1000.0; | 255 1000.0; |
| 256 | 256 |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 } | 355 } |
| 356 | 356 |
| 357 void DelayedRunOrderTask(int index, | 357 void DelayedRunOrderTask(int index, |
| 358 RefPtr<blink::WebTaskRunner> task_runner, | 358 RefPtr<blink::WebTaskRunner> task_runner, |
| 359 std::vector<int>* out_run_order) { | 359 std::vector<int>* out_run_order) { |
| 360 out_run_order->push_back(index); | 360 out_run_order->push_back(index); |
| 361 task_runner->PostTask( | 361 task_runner->PostTask( |
| 362 BLINK_FROM_HERE, | 362 BLINK_FROM_HERE, |
| 363 WTF::Bind(&RunOrderTask, index + 1, WTF::Unretained(out_run_order))); | 363 WTF::Bind(&RunOrderTask, index + 1, WTF::Unretained(out_run_order))); |
| 364 } | 364 } |
| 365 } | 365 } // namespace |
| 366 | 366 |
| 367 TEST_F(WebViewSchedulerImplTest, VirtualTime_NotAllowedToAdvance) { | 367 TEST_F(WebViewSchedulerImplTest, VirtualTime_NotAllowedToAdvance) { |
| 368 std::vector<int> run_order; | 368 std::vector<int> run_order; |
| 369 | 369 |
| 370 web_view_scheduler_->SetVirtualTimePolicy(VirtualTimePolicy::PAUSE); | 370 web_view_scheduler_->SetVirtualTimePolicy(VirtualTimePolicy::PAUSE); |
| 371 web_view_scheduler_->EnableVirtualTime(); | 371 web_view_scheduler_->EnableVirtualTime(); |
| 372 | 372 |
| 373 web_frame_scheduler_->TimerTaskRunner()->PostTask( | 373 web_frame_scheduler_->TimerTaskRunner()->PostTask( |
| 374 BLINK_FROM_HERE, | 374 BLINK_FROM_HERE, |
| 375 WTF::Bind(&RunOrderTask, 0, WTF::Unretained(&run_order))); | 375 WTF::Bind(&RunOrderTask, 0, WTF::Unretained(&run_order))); |
| (...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 934 // WebSocket is closed, budget-based throttling now applies. | 934 // WebSocket is closed, budget-based throttling now applies. |
| 935 EXPECT_THAT( | 935 EXPECT_THAT( |
| 936 run_times, | 936 run_times, |
| 937 ElementsAre(base::TimeTicks() + base::TimeDelta::FromSeconds(84), | 937 ElementsAre(base::TimeTicks() + base::TimeDelta::FromSeconds(84), |
| 938 base::TimeTicks() + base::TimeDelta::FromSeconds(109), | 938 base::TimeTicks() + base::TimeDelta::FromSeconds(109), |
| 939 base::TimeTicks() + base::TimeDelta::FromSeconds(134))); | 939 base::TimeTicks() + base::TimeDelta::FromSeconds(134))); |
| 940 } | 940 } |
| 941 | 941 |
| 942 } // namespace scheduler | 942 } // namespace scheduler |
| 943 } // namespace blink | 943 } // namespace blink |
| OLD | NEW |