Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: components/scheduler/renderer/web_view_scheduler_impl_unittest.cc

Issue 2192493002: Let blink scheduler know when background parsing a document (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix some test failures Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "components/scheduler/renderer/web_view_scheduler_impl.h" 5 #include "components/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 484 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 // Note this will run at time t = 10s since we start at time t = 5000us, and 495 // Note this will run at time t = 10s since we start at time t = 5000us, and
496 // it will prevent further tasks from running (i.e. the RepeatingTask) by 496 // it will prevent further tasks from running (i.e. the RepeatingTask) by
497 // deleting the WebFrameScheduler. 497 // deleting the WebFrameScheduler.
498 timer_task_runner->postDelayedTask(BLINK_FROM_HERE, delete_frame_task, 498 timer_task_runner->postDelayedTask(BLINK_FROM_HERE, delete_frame_task,
499 9990.0); 499 9990.0);
500 500
501 mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(100)); 501 mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(100));
502 EXPECT_EQ(10, run_count); 502 EXPECT_EQ(10, run_count);
503 } 503 }
504 504
505 TEST_F(WebViewSchedulerImplTest, 505 TEST_F(WebViewSchedulerImplTest, VirtualTimePolicy_DETERMINISTIC_LOADING) {
506 VirtualTimePolicy_PAUSE_IF_NETWORK_FETCHES_PENDING) {
507 web_view_scheduler_->setVirtualTimePolicy( 506 web_view_scheduler_->setVirtualTimePolicy(
508 VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING); 507 VirtualTimePolicy::DETERMINISTIC_LOADING);
509 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 508 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
510 509
511 web_view_scheduler_->DidStartLoading(1u); 510 web_view_scheduler_->DidStartLoading(1u);
512 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 511 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
513 512
514 web_view_scheduler_->DidStartLoading(2u); 513 web_view_scheduler_->DidStartLoading(2u);
515 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 514 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
516 515
517 web_view_scheduler_->DidStopLoading(2u); 516 web_view_scheduler_->DidStopLoading(2u);
518 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 517 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
519 518
520 web_view_scheduler_->DidStartLoading(3u); 519 web_view_scheduler_->DidStartLoading(3u);
521 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 520 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
522 521
523 web_view_scheduler_->DidStopLoading(1u); 522 web_view_scheduler_->DidStopLoading(1u);
524 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 523 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
525 524
526 web_view_scheduler_->DidStopLoading(3u); 525 web_view_scheduler_->DidStopLoading(3u);
527 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 526 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
528 } 527 }
529 528
530 TEST_F(WebViewSchedulerImplTest, RedundantDidStopLoadingCallsAreHarmless) { 529 TEST_F(WebViewSchedulerImplTest, RedundantDidStopLoadingCallsAreHarmless) {
531 web_view_scheduler_->setVirtualTimePolicy( 530 web_view_scheduler_->setVirtualTimePolicy(
532 VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING); 531 VirtualTimePolicy::DETERMINISTIC_LOADING);
533 532
534 web_view_scheduler_->DidStartLoading(1u); 533 web_view_scheduler_->DidStartLoading(1u);
535 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 534 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
536 535
537 web_view_scheduler_->DidStopLoading(1u); 536 web_view_scheduler_->DidStopLoading(1u);
538 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 537 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
539 538
540 web_view_scheduler_->DidStopLoading(1u); 539 web_view_scheduler_->DidStopLoading(1u);
541 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 540 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
542 541
543 web_view_scheduler_->DidStopLoading(1u); 542 web_view_scheduler_->DidStopLoading(1u);
544 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 543 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
545 544
546 web_view_scheduler_->DidStartLoading(2u); 545 web_view_scheduler_->DidStartLoading(2u);
547 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 546 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
548 547
549 web_view_scheduler_->DidStopLoading(2u); 548 web_view_scheduler_->DidStopLoading(2u);
550 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 549 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
551 } 550 }
552 551
552 TEST_F(WebViewSchedulerImplTest, BackgroundParser_DETERMINISTIC_LOADING) {
553 web_view_scheduler_->setVirtualTimePolicy(
554 VirtualTimePolicy::DETERMINISTIC_LOADING);
555 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
556
557 web_view_scheduler_->IncrementBackgroundParserCount();
558 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
559
560 web_view_scheduler_->IncrementBackgroundParserCount();
561 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
562
563 web_view_scheduler_->DecrementBackgroundParserCount();
564 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
565
566 web_view_scheduler_->DecrementBackgroundParserCount();
567 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
568 }
569
553 } // namespace scheduler 570 } // namespace scheduler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698