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

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

Issue 2125273002: Fix a problem with duplicate calls to FrameFetchContext::dispatchDidFail (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rename the set Created 4 years, 5 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 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
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,
506 VirtualTimePolicy_PAUSE_IF_NETWORK_FETCHES_PENDING) { 506 VirtualTimePolicy_PAUSE_IF_NETWORK_FETCHES_PENDING) {
507 web_view_scheduler_->setVirtualTimePolicy( 507 web_view_scheduler_->setVirtualTimePolicy(
508 VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING); 508 VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING);
509 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 509 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
510 510
511 web_view_scheduler_->incrementPendingResourceLoadCount(); 511 web_view_scheduler_->DidStartLoading(1u);
512 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 512 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
513 513
514 web_view_scheduler_->incrementPendingResourceLoadCount(); 514 web_view_scheduler_->DidStartLoading(2u);
515 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 515 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
516 516
517 web_view_scheduler_->decrementPendingResourceLoadCount(); 517 web_view_scheduler_->DidStopLoading(2u);
518 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 518 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
519 519
520 web_view_scheduler_->incrementPendingResourceLoadCount(); 520 web_view_scheduler_->DidStartLoading(3u);
521 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 521 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
522 522
523 web_view_scheduler_->decrementPendingResourceLoadCount(); 523 web_view_scheduler_->DidStopLoading(1u);
524 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 524 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
525 525
526 web_view_scheduler_->decrementPendingResourceLoadCount(); 526 web_view_scheduler_->DidStopLoading(3u);
527 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance()); 527 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
528 } 528 }
529 529
530 TEST_F(WebViewSchedulerImplTest, RedundantDidStopLoadingCallsAreHarmless) {
531 web_view_scheduler_->setVirtualTimePolicy(
532 VirtualTimePolicy::PAUSE_IF_NETWORK_FETCHES_PENDING);
533
534 web_view_scheduler_->DidStartLoading(1u);
535 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
536
537 web_view_scheduler_->DidStopLoading(1u);
538 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
539
540 web_view_scheduler_->DidStopLoading(1u);
541 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
542
543 web_view_scheduler_->DidStopLoading(1u);
544 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
545
546 web_view_scheduler_->DidStartLoading(2u);
547 EXPECT_FALSE(web_view_scheduler_->virtualTimeAllowedToAdvance());
548
549 web_view_scheduler_->DidStopLoading(2u);
550 EXPECT_TRUE(web_view_scheduler_->virtualTimeAllowedToAdvance());
551 }
552
530 } // namespace scheduler 553 } // namespace scheduler
OLDNEW
« no previous file with comments | « components/scheduler/renderer/web_view_scheduler_impl.cc ('k') | third_party/WebKit/Source/core/loader/FrameFetchContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698