OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/memory/scoped_vector.h" | 6 #include "base/memory/scoped_vector.h" |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/time.h" | 8 #include "base/time.h" |
9 #include "chrome/browser/prerender/prerender_contents.h" | 9 #include "chrome/browser/prerender/prerender_contents.h" |
10 #include "chrome/browser/prerender/prerender_link_manager.h" | 10 #include "chrome/browser/prerender/prerender_link_manager.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 bool prerendering_has_been_cancelled() const { | 71 bool prerendering_has_been_cancelled() const { |
72 return PrerenderContents::prerendering_has_been_cancelled(); | 72 return PrerenderContents::prerendering_has_been_cancelled(); |
73 } | 73 } |
74 | 74 |
75 private: | 75 private: |
76 FinalStatus expected_final_status_; | 76 FinalStatus expected_final_status_; |
77 }; | 77 }; |
78 | 78 |
79 class TestPrerenderManager : public PrerenderManager { | 79 class TestPrerenderManager : public PrerenderManager { |
80 public: | 80 public: |
| 81 using PrerenderManager::FindPrerender; |
| 82 |
81 explicit TestPrerenderManager(PrerenderTracker* prerender_tracker) | 83 explicit TestPrerenderManager(PrerenderTracker* prerender_tracker) |
82 : PrerenderManager(&profile_, prerender_tracker), | 84 : PrerenderManager(&profile_, prerender_tracker), |
83 time_(base::Time::Now()), | 85 time_(base::Time::Now()), |
84 time_ticks_(base::TimeTicks::Now()), | 86 time_ticks_(base::TimeTicks::Now()), |
85 next_prerender_contents_(NULL), | 87 next_prerender_contents_(NULL), |
86 prerender_tracker_(prerender_tracker) { | 88 prerender_tracker_(prerender_tracker) { |
87 set_rate_limit_enabled(false); | 89 set_rate_limit_enabled(false); |
88 } | 90 } |
89 | 91 |
90 virtual ~TestPrerenderManager() { | 92 virtual ~TestPrerenderManager() { |
91 if (next_prerender_contents()) { | 93 if (next_prerender_contents()) { |
92 next_prerender_contents_.release()->Destroy( | 94 next_prerender_contents_.release()->Destroy( |
93 FINAL_STATUS_MANAGER_SHUTDOWN); | 95 FINAL_STATUS_MANAGER_SHUTDOWN); |
94 } | 96 } |
| 97 #if 0 |
95 // Set the final status for all PrerenderContents with an expected final | 98 // Set the final status for all PrerenderContents with an expected final |
96 // status of FINAL_STATUS_USED. These values are normally set when the | 99 // status of FINAL_STATUS_USED. These values are normally set when the |
97 // prerendered RVH is swapped into a tab, which doesn't happen in these | 100 // prerendered RVH is swapped into a tab, which doesn't happen in these |
98 // unit tests. | 101 // unit tests. |
99 for (ScopedVector<PrerenderContents>::iterator it = | 102 for (ScopedVector<PrerenderContents>::iterator it = |
100 used_prerender_contents_.begin(); | 103 used_prerender_contents_.begin(); |
101 it != used_prerender_contents_.end(); ++it) { | 104 it != used_prerender_contents_.end(); ++it) { |
102 (*it)->set_final_status(FINAL_STATUS_USED); | 105 (*it)->set_final_status(FINAL_STATUS_USED); |
103 } | 106 } |
| 107 #endif |
104 DoShutdown(); | 108 DoShutdown(); |
105 } | 109 } |
106 | 110 |
107 void AdvanceTime(base::TimeDelta delta) { | 111 void AdvanceTime(base::TimeDelta delta) { |
108 time_ += delta; | 112 time_ += delta; |
109 } | 113 } |
110 | 114 |
111 void AdvanceTimeTicks(base::TimeDelta delta) { | 115 void AdvanceTimeTicks(base::TimeDelta delta) { |
112 time_ticks_ += delta; | 116 time_ticks_ += delta; |
113 } | 117 } |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 } | 156 } |
153 | 157 |
154 void set_rate_limit_enabled(bool enabled) { | 158 void set_rate_limit_enabled(bool enabled) { |
155 mutable_config().rate_limit_enabled = enabled; | 159 mutable_config().rate_limit_enabled = enabled; |
156 } | 160 } |
157 | 161 |
158 PrerenderContents* next_prerender_contents() { | 162 PrerenderContents* next_prerender_contents() { |
159 return next_prerender_contents_.get(); | 163 return next_prerender_contents_.get(); |
160 } | 164 } |
161 | 165 |
| 166 PrerenderContents* GetEntry(const GURL& url) { |
| 167 // We don't need a valid web_contents, but we do need it to be distinct |
| 168 // from the NULL value it was created with. |
| 169 static int an_integer; |
| 170 content::WebContents* not_really_web_contents = |
| 171 reinterpret_cast<content::WebContents*>(&an_integer); |
| 172 return ClaimPrerender(not_really_web_contents, url, NULL); |
| 173 } |
| 174 |
162 private: | 175 private: |
163 void SetNextPrerenderContents(DummyPrerenderContents* prerender_contents) { | 176 void SetNextPrerenderContents(DummyPrerenderContents* prerender_contents) { |
164 DCHECK(!next_prerender_contents_.get()); | 177 DCHECK(!next_prerender_contents_.get()); |
165 next_prerender_contents_.reset(prerender_contents); | 178 next_prerender_contents_.reset(prerender_contents); |
166 if (prerender_contents->expected_final_status() == FINAL_STATUS_USED) | 179 if (prerender_contents->expected_final_status() == FINAL_STATUS_USED) |
167 used_prerender_contents_.push_back(prerender_contents); | 180 used_prerender_contents_.push_back(prerender_contents); |
168 } | 181 } |
169 | 182 |
170 virtual base::Time GetCurrentTime() const OVERRIDE { | 183 virtual base::Time GetCurrentTime() const OVERRIDE { |
171 return time_; | 184 return time_; |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
240 } | 253 } |
241 | 254 |
242 int last_prerender_id() const { | 255 int last_prerender_id() const { |
243 return last_prerender_id_; | 256 return last_prerender_id_; |
244 } | 257 } |
245 | 258 |
246 int GetNextPrerenderID() { | 259 int GetNextPrerenderID() { |
247 return ++last_prerender_id_; | 260 return ++last_prerender_id_; |
248 } | 261 } |
249 | 262 |
250 // Shorthand to add a simple preload with a reasonable source. | 263 // Shorthand to add a simple prerender with a reasonable source. |
251 bool AddSimplePrerender(const GURL& url) { | 264 bool AddSimplePrerender(const GURL& url) { |
252 return prerender_link_manager()->OnAddPrerender( | 265 return prerender_link_manager()->OnAddPrerender( |
253 kDefaultChildId, GetNextPrerenderID(), | 266 kDefaultChildId, GetNextPrerenderID(), |
254 url, content::Referrer(), | 267 url, content::Referrer(), |
255 gfx::Size(), kDefaultRenderViewRouteId); | 268 gfx::Size(), kDefaultRenderViewRouteId); |
256 } | 269 } |
257 | 270 |
258 private: | 271 private: |
259 PrerenderTracker* prerender_tracker() { | 272 PrerenderTracker* prerender_tracker() { |
260 return g_browser_process->prerender_tracker(); | 273 return g_browser_process->prerender_tracker(); |
261 } | 274 } |
262 | 275 |
263 // Needed to pass PrerenderManager's DCHECKs. | 276 // Needed to pass PrerenderManager's DCHECKs. |
264 MessageLoop message_loop_; | 277 MessageLoop message_loop_; |
265 content::TestBrowserThread ui_thread_; | 278 content::TestBrowserThread ui_thread_; |
266 scoped_ptr<TestPrerenderManager> prerender_manager_; | 279 scoped_ptr<TestPrerenderManager> prerender_manager_; |
267 scoped_ptr<PrerenderLinkManager> prerender_link_manager_; | 280 scoped_ptr<PrerenderLinkManager> prerender_link_manager_; |
268 int last_prerender_id_; | 281 int last_prerender_id_; |
269 }; | 282 }; |
270 | 283 |
271 TEST_F(PrerenderTest, EmptyTest) { | |
272 EXPECT_FALSE(prerender_manager()->MaybeUsePrerenderedPage( | |
273 NULL, | |
274 GURL("http://www.google.com/"))); | |
275 } | |
276 | |
277 TEST_F(PrerenderTest, FoundTest) { | 284 TEST_F(PrerenderTest, FoundTest) { |
278 GURL url("http://www.google.com/"); | 285 GURL url("http://www.google.com/"); |
279 DummyPrerenderContents* prerender_contents = | 286 DummyPrerenderContents* prerender_contents = |
280 prerender_manager()->CreateNextPrerenderContents( | 287 prerender_manager()->CreateNextPrerenderContents( |
281 url, | 288 url, |
282 FINAL_STATUS_USED); | 289 FINAL_STATUS_USED); |
283 EXPECT_TRUE(AddSimplePrerender(url)); | 290 EXPECT_TRUE(AddSimplePrerender(url)); |
284 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 291 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
285 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 292 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
286 } | 293 } |
287 | 294 |
288 // Make sure that if queue a request, and a second prerender request for the | 295 // Make sure that if queue a request, and a second prerender request for the |
289 // same URL comes in, that we drop the second request and keep the first one. | 296 // same URL comes in, that we drop the second request and keep the first one. |
290 TEST_F(PrerenderTest, DropSecondRequestTest) { | 297 TEST_F(PrerenderTest, DropSecondRequestTest) { |
291 GURL url("http://www.google.com/"); | 298 GURL url("http://www.google.com/"); |
292 DummyPrerenderContents* prerender_contents = | 299 DummyPrerenderContents* prerender_contents = |
293 prerender_manager()->CreateNextPrerenderContents( | 300 prerender_manager()->CreateNextPrerenderContents( |
294 url, | 301 url, |
295 FINAL_STATUS_USED); | 302 FINAL_STATUS_USED); |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 FINAL_STATUS_USED); | 489 FINAL_STATUS_USED); |
483 EXPECT_TRUE(AddSimplePrerender(url)); | 490 EXPECT_TRUE(AddSimplePrerender(url)); |
484 | 491 |
485 int child_id; | 492 int child_id; |
486 int route_id; | 493 int route_id; |
487 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); | 494 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); |
488 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); | 495 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); |
489 | 496 |
490 GURL pending_url("http://news.google.com/"); | 497 GURL pending_url("http://news.google.com/"); |
491 | 498 |
492 EXPECT_TRUE(prerender_manager()->AddPrerenderFromLinkRelPrerender( | 499 PrerenderHandle prerender = |
493 child_id, route_id, | 500 prerender_manager()->AddPrerenderFromLinkRelPrerender( |
494 pending_url, Referrer(url, WebKit::WebReferrerPolicyDefault), | 501 child_id, route_id, |
495 gfx::Size())); | 502 pending_url, Referrer(url, WebKit::WebReferrerPolicyDefault), |
| 503 gfx::Size()); |
| 504 EXPECT_TRUE(prerender); |
496 | 505 |
497 EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url)); | 506 EXPECT_TRUE(prerender->IsPending()); |
498 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 507 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
499 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 508 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
500 } | 509 } |
501 | 510 |
502 // Tests that a PrerenderManager created for a browser session in the control | 511 // Tests that a PrerenderManager created for a browser session in the control |
503 // group works as expected. | 512 // group works as expected. |
504 TEST_F(PrerenderTest, ControlGroup) { | 513 TEST_F(PrerenderTest, ControlGroup) { |
505 RestorePrerenderMode restore_prerender_mode; | 514 RestorePrerenderMode restore_prerender_mode; |
506 PrerenderManager::SetMode( | 515 PrerenderManager::SetMode( |
507 PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP); | 516 PrerenderManager::PRERENDER_MODE_EXPERIMENT_CONTROL_GROUP); |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
647 TEST_F(PrerenderTest, ClearTest) { | 656 TEST_F(PrerenderTest, ClearTest) { |
648 GURL url("http://www.google.com/"); | 657 GURL url("http://www.google.com/"); |
649 DummyPrerenderContents* prerender_contents = | 658 DummyPrerenderContents* prerender_contents = |
650 prerender_manager()->CreateNextPrerenderContents( | 659 prerender_manager()->CreateNextPrerenderContents( |
651 url, | 660 url, |
652 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); | 661 FINAL_STATUS_CACHE_OR_HISTORY_CLEARED); |
653 EXPECT_TRUE(AddSimplePrerender(url)); | 662 EXPECT_TRUE(AddSimplePrerender(url)); |
654 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 663 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
655 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS); | 664 prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS); |
656 DummyPrerenderContents* null = NULL; | 665 DummyPrerenderContents* null = NULL; |
657 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); | 666 EXPECT_EQ(null, prerender_manager()->GetEntry(url)); |
658 } | 667 } |
659 | 668 |
660 // Make sure canceling works as expected. | 669 // Make sure canceling works as expected. |
661 TEST_F(PrerenderTest, CancelAllTest) { | 670 TEST_F(PrerenderTest, CancelAllTest) { |
662 GURL url("http://www.google.com/"); | 671 GURL url("http://www.google.com/"); |
663 DummyPrerenderContents* prerender_contents = | 672 DummyPrerenderContents* prerender_contents = |
664 prerender_manager()->CreateNextPrerenderContents( | 673 prerender_manager()->CreateNextPrerenderContents( |
665 url, FINAL_STATUS_CANCELLED); | 674 url, FINAL_STATUS_CANCELLED); |
666 EXPECT_TRUE(AddSimplePrerender(url)); | 675 EXPECT_TRUE(AddSimplePrerender(url)); |
667 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 676 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
668 prerender_manager()->CancelAllPrerenders(); | 677 prerender_manager()->CancelAllPrerenders(); |
669 const DummyPrerenderContents* null = NULL; | 678 const DummyPrerenderContents* null = NULL; |
670 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); | 679 EXPECT_EQ(null, prerender_manager()->GetEntry(url)); |
671 } | |
672 | |
673 // Make sure canceling for omnibox works as expected. | |
674 TEST_F(PrerenderTest, CancelOmniboxRemovesOmniboxTest) { | |
675 // Check canceling removes the Omnibox url. | |
676 GURL url("http://www.google.com/"); | |
677 DummyPrerenderContents* prerender_contents = | |
678 prerender_manager()->CreateNextPrerenderContents( | |
679 url, ORIGIN_OMNIBOX, FINAL_STATUS_CANCELLED); | |
680 EXPECT_TRUE(prerender_manager()->AddPrerenderFromOmnibox(url, NULL)); | |
681 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | |
682 prerender_manager()->CancelOmniboxPrerenders(); | |
683 const DummyPrerenderContents* null = NULL; | |
684 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); | |
685 } | |
686 | |
687 TEST_F(PrerenderTest, CancelOmniboxDoesNotRemoveLinkTest) { | |
688 GURL url("http://www.google.com/"); | |
689 DummyPrerenderContents* prerender_contents = | |
690 prerender_manager()->CreateNextPrerenderContents( | |
691 url, ORIGIN_LINK_REL_PRERENDER, FINAL_STATUS_MANAGER_SHUTDOWN); | |
692 EXPECT_TRUE(AddSimplePrerender(url)); | |
693 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | |
694 prerender_manager()->CancelOmniboxPrerenders(); | |
695 const DummyPrerenderContents* null = NULL; | |
696 EXPECT_NE(null, prerender_manager()->FindEntry(url)); | |
697 } | 680 } |
698 | 681 |
699 TEST_F(PrerenderTest, OmniboxNotAllowedWhenDisabled) { | 682 TEST_F(PrerenderTest, OmniboxNotAllowedWhenDisabled) { |
700 prerender_manager()->set_enabled(false); | 683 prerender_manager()->set_enabled(false); |
701 EXPECT_FALSE(prerender_manager()->AddPrerenderFromOmnibox( | 684 EXPECT_FALSE(prerender_manager()->AddPrerenderFromOmnibox( |
702 GURL("http://www.example.com"), NULL)); | 685 GURL("http://www.example.com"), NULL)); |
703 } | 686 } |
704 | 687 |
705 TEST_F(PrerenderTest, LinkRelNotAllowedWhenDisabled) { | 688 TEST_F(PrerenderTest, LinkRelNotAllowedWhenDisabled) { |
706 prerender_manager()->set_enabled(false); | 689 prerender_manager()->set_enabled(false); |
707 EXPECT_FALSE(AddSimplePrerender( | 690 EXPECT_FALSE(AddSimplePrerender( |
708 GURL("http://www.example.com"))); | 691 GURL("http://www.example.com"))); |
709 } | 692 } |
710 | 693 |
711 TEST_F(PrerenderTest, LinkManagerCancel) { | 694 TEST_F(PrerenderTest, LinkManagerCancel) { |
712 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 695 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
713 GURL url("http://www.myexample.com"); | 696 GURL url("http://www.myexample.com"); |
714 DummyPrerenderContents* prerender_contents = | 697 DummyPrerenderContents* prerender_contents = |
715 prerender_manager()->CreateNextPrerenderContents( | 698 prerender_manager()->CreateNextPrerenderContents( |
716 url, FINAL_STATUS_CANCELLED); | 699 url, FINAL_STATUS_CANCELLED); |
717 | 700 |
718 EXPECT_TRUE(AddSimplePrerender(url)); | 701 EXPECT_TRUE(AddSimplePrerender(url)); |
719 | 702 |
720 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 703 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
721 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 704 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
722 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 705 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
723 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 706 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
724 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 707 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
725 last_prerender_id()); | 708 last_prerender_id()); |
726 | 709 |
727 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 710 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
728 DummyPrerenderContents* null = NULL; | 711 DummyPrerenderContents* null = NULL; |
729 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 712 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
730 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 713 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
731 } | 714 } |
732 | 715 |
733 TEST_F(PrerenderTest, LinkManagerCancelThenAbandon) { | 716 TEST_F(PrerenderTest, LinkManagerCancelThenAbandon) { |
734 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 717 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
735 GURL url("http://www.myexample.com"); | 718 GURL url("http://www.myexample.com"); |
736 DummyPrerenderContents* prerender_contents = | 719 DummyPrerenderContents* prerender_contents = |
737 prerender_manager()->CreateNextPrerenderContents( | 720 prerender_manager()->CreateNextPrerenderContents( |
738 url, FINAL_STATUS_CANCELLED); | 721 url, FINAL_STATUS_CANCELLED); |
739 | 722 |
740 EXPECT_TRUE(AddSimplePrerender(url)); | 723 EXPECT_TRUE(AddSimplePrerender(url)); |
741 | 724 |
742 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 725 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
743 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 726 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
744 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 727 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
745 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 728 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
746 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 729 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
747 last_prerender_id()); | 730 last_prerender_id()); |
748 | 731 |
749 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 732 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
750 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 733 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
751 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 734 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
752 last_prerender_id()); | 735 last_prerender_id()); |
753 | 736 |
754 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 737 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
755 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 738 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
756 DummyPrerenderContents* null = NULL; | 739 DummyPrerenderContents* null = NULL; |
757 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 740 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
758 } | 741 } |
759 | 742 |
760 // TODO(gavinp): Update this test after abandon has an effect on Prerenders, | 743 // TODO(gavinp): Update this test after abandon has an effect on Prerenders, |
761 // like shortening the timeouts. | 744 // like shortening the timeouts. |
762 TEST_F(PrerenderTest, LinkManagerAbandon) { | 745 TEST_F(PrerenderTest, LinkManagerAbandon) { |
763 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 746 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
764 GURL url("http://www.myexample.com"); | 747 GURL url("http://www.myexample.com"); |
765 DummyPrerenderContents* prerender_contents = | 748 DummyPrerenderContents* prerender_contents = |
766 prerender_manager()->CreateNextPrerenderContents( | 749 prerender_manager()->CreateNextPrerenderContents( |
767 url, FINAL_STATUS_USED); | 750 url, FINAL_STATUS_USED); |
768 | 751 |
769 EXPECT_TRUE(AddSimplePrerender(url)); | 752 EXPECT_TRUE(AddSimplePrerender(url)); |
770 | 753 |
771 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 754 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
772 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 755 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
773 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 756 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
774 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 757 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
775 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 758 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
776 last_prerender_id()); | 759 last_prerender_id()); |
777 | 760 |
778 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 761 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
779 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 762 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
780 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 763 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
781 } | 764 } |
782 | 765 |
783 TEST_F(PrerenderTest, LinkManagerCancelTwice) { | 766 TEST_F(PrerenderTest, LinkManagerCancelTwice) { |
784 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 767 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
785 GURL url("http://www.myexample.com"); | 768 GURL url("http://www.myexample.com"); |
786 DummyPrerenderContents* prerender_contents = | 769 DummyPrerenderContents* prerender_contents = |
787 prerender_manager()->CreateNextPrerenderContents( | 770 prerender_manager()->CreateNextPrerenderContents( |
788 url, FINAL_STATUS_CANCELLED); | 771 url, FINAL_STATUS_CANCELLED); |
789 | 772 |
790 EXPECT_TRUE(AddSimplePrerender(url)); | 773 EXPECT_TRUE(AddSimplePrerender(url)); |
791 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 774 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
792 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 775 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
793 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 776 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
794 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 777 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
795 last_prerender_id()); | 778 last_prerender_id()); |
796 | 779 |
797 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 780 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
798 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 781 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
799 DummyPrerenderContents* null = NULL; | 782 DummyPrerenderContents* null = NULL; |
800 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 783 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
801 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 784 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
802 last_prerender_id()); | 785 last_prerender_id()); |
803 } | 786 } |
804 | 787 |
805 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwice) { | 788 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwice) { |
806 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 789 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
807 GURL url("http://www.myexample.com"); | 790 GURL url("http://www.myexample.com"); |
808 DummyPrerenderContents* prerender_contents = | 791 DummyPrerenderContents* prerender_contents = |
809 prerender_manager()->CreateNextPrerenderContents( | 792 prerender_manager()->CreateNextPrerenderContents( |
810 url, FINAL_STATUS_CANCELLED); | 793 url, FINAL_STATUS_CANCELLED); |
811 | 794 |
812 EXPECT_TRUE(AddSimplePrerender(url)); | 795 EXPECT_TRUE(AddSimplePrerender(url)); |
813 | 796 |
814 const int first_prerender_id = last_prerender_id(); | 797 const int first_prerender_id = last_prerender_id(); |
815 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 798 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
816 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 799 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
817 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 800 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
818 EXPECT_TRUE(AddSimplePrerender(url)); | 801 EXPECT_TRUE(AddSimplePrerender(url)); |
819 | 802 |
820 const int second_prerender_id = last_prerender_id(); | 803 const int second_prerender_id = last_prerender_id(); |
821 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 804 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
822 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 805 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
823 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 806 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
824 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 807 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
825 first_prerender_id); | 808 first_prerender_id); |
826 | 809 |
827 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 810 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
828 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 811 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
829 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 812 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
830 second_prerender_id); | 813 second_prerender_id); |
831 | 814 |
832 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 815 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
833 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 816 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
834 DummyPrerenderContents* null = NULL; | 817 DummyPrerenderContents* null = NULL; |
835 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 818 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
836 } | 819 } |
837 | 820 |
838 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwiceThenAbandonTwice) { | 821 TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwiceThenAbandonTwice) { |
839 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 822 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
840 GURL url("http://www.myexample.com"); | 823 GURL url("http://www.myexample.com"); |
841 DummyPrerenderContents* prerender_contents = | 824 DummyPrerenderContents* prerender_contents = |
842 prerender_manager()->CreateNextPrerenderContents( | 825 prerender_manager()->CreateNextPrerenderContents( |
843 url, FINAL_STATUS_CANCELLED); | 826 url, FINAL_STATUS_CANCELLED); |
844 | 827 |
845 EXPECT_TRUE(AddSimplePrerender(url)); | 828 EXPECT_TRUE(AddSimplePrerender(url)); |
846 | 829 |
847 const int first_prerender_id = last_prerender_id(); | 830 const int first_prerender_id = last_prerender_id(); |
848 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 831 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
849 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 832 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
850 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 833 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
851 EXPECT_TRUE(AddSimplePrerender(url)); | 834 EXPECT_TRUE(AddSimplePrerender(url)); |
852 | 835 |
853 const int second_prerender_id = last_prerender_id(); | 836 const int second_prerender_id = last_prerender_id(); |
854 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 837 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
855 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 838 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
856 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 839 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
857 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 840 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
858 first_prerender_id); | 841 first_prerender_id); |
859 | 842 |
860 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 843 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
861 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 844 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
862 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 845 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
863 second_prerender_id); | 846 second_prerender_id); |
864 | 847 |
865 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 848 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
866 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 849 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
867 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 850 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
868 first_prerender_id); | 851 first_prerender_id); |
869 | 852 |
870 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 853 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
871 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); | 854 EXPECT_TRUE(prerender_contents->prerendering_has_been_cancelled()); |
(...skipping 13 matching lines...) Expand all Loading... |
885 GURL url("http://www.myexample.com"); | 868 GURL url("http://www.myexample.com"); |
886 DummyPrerenderContents* prerender_contents = | 869 DummyPrerenderContents* prerender_contents = |
887 prerender_manager()->CreateNextPrerenderContents( | 870 prerender_manager()->CreateNextPrerenderContents( |
888 url, FINAL_STATUS_USED); | 871 url, FINAL_STATUS_USED); |
889 | 872 |
890 EXPECT_TRUE(AddSimplePrerender(url)); | 873 EXPECT_TRUE(AddSimplePrerender(url)); |
891 | 874 |
892 const int first_prerender_id = last_prerender_id(); | 875 const int first_prerender_id = last_prerender_id(); |
893 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 876 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
894 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 877 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
895 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 878 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
896 EXPECT_TRUE(AddSimplePrerender(url)); | 879 EXPECT_TRUE(AddSimplePrerender(url)); |
897 | 880 |
898 const int second_prerender_id = last_prerender_id(); | 881 const int second_prerender_id = last_prerender_id(); |
899 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 882 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
900 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 883 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
901 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 884 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
902 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 885 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
903 first_prerender_id); | 886 first_prerender_id); |
904 | 887 |
905 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 888 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
906 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 889 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
907 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, | 890 prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
908 second_prerender_id); | 891 second_prerender_id); |
909 | 892 |
910 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 893 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
911 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 894 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
912 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); | 895 ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url)); |
913 } | 896 } |
914 | 897 |
915 // TODO(gavinp): After abandon shortens the expire time on a Prerender, | 898 // TODO(gavinp): After abandon shortens the expire time on a Prerender, |
916 // add a series of tests testing advancing the time by either the abandon | 899 // add a series of tests testing advancing the time by either the abandon |
917 // or normal expire, and verifying the expected behaviour with groups | 900 // or normal expire, and verifying the expected behaviour with groups |
918 // of links. | 901 // of links. |
919 TEST_F(PrerenderTest, LinkManagerExpireThenCancel) { | 902 TEST_F(PrerenderTest, LinkManagerExpireThenCancel) { |
920 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 903 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
921 GURL url("http://www.myexample.com"); | 904 GURL url("http://www.myexample.com"); |
922 DummyPrerenderContents* prerender_contents = | 905 DummyPrerenderContents* prerender_contents = |
923 prerender_manager()->CreateNextPrerenderContents( | 906 prerender_manager()->CreateNextPrerenderContents( |
924 url, FINAL_STATUS_TIMED_OUT); | 907 url, FINAL_STATUS_TIMED_OUT); |
925 | 908 |
926 EXPECT_TRUE(AddSimplePrerender(url)); | 909 EXPECT_TRUE(AddSimplePrerender(url)); |
927 | 910 |
928 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 911 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
929 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); | 912 EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
930 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url)); | 913 ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url)); |
931 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + | 914 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + |
932 base::TimeDelta::FromSeconds(1)); | 915 base::TimeDelta::FromSeconds(1)); |
933 | 916 |
934 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 917 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
935 DummyPrerenderContents* null = NULL; | 918 DummyPrerenderContents* null = NULL; |
936 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 919 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
937 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 920 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
938 last_prerender_id()); | 921 last_prerender_id()); |
939 | 922 |
940 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 923 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
941 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 924 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
942 } | 925 } |
943 | 926 |
944 TEST_F(PrerenderTest, LinkManagerExpireThenAddAgain) { | 927 TEST_F(PrerenderTest, LinkManagerExpireThenAddAgain) { |
945 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 928 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
946 GURL url("http://www.myexample.com"); | 929 GURL url("http://www.myexample.com"); |
947 DummyPrerenderContents* first_prerender_contents = | 930 DummyPrerenderContents* first_prerender_contents = |
948 prerender_manager()->CreateNextPrerenderContents( | 931 prerender_manager()->CreateNextPrerenderContents( |
949 url, FINAL_STATUS_TIMED_OUT); | 932 url, FINAL_STATUS_TIMED_OUT); |
950 EXPECT_TRUE(AddSimplePrerender(url)); | 933 EXPECT_TRUE(AddSimplePrerender(url)); |
951 EXPECT_TRUE(first_prerender_contents->prerendering_has_started()); | 934 EXPECT_TRUE(first_prerender_contents->prerendering_has_started()); |
952 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); | 935 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); |
953 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url)); | 936 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindPrerender(url)); |
954 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + | 937 prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() + |
955 base::TimeDelta::FromSeconds(1)); | 938 base::TimeDelta::FromSeconds(1)); |
956 DummyPrerenderContents* null = NULL; | 939 DummyPrerenderContents* null = NULL; |
957 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 940 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
958 DummyPrerenderContents* second_prerender_contents = | 941 DummyPrerenderContents* second_prerender_contents = |
959 prerender_manager()->CreateNextPrerenderContents( | 942 prerender_manager()->CreateNextPrerenderContents( |
960 url, FINAL_STATUS_USED); | 943 url, FINAL_STATUS_USED); |
961 EXPECT_TRUE(AddSimplePrerender(url)); | 944 EXPECT_TRUE(AddSimplePrerender(url)); |
962 EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); | 945 EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); |
963 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); | 946 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); |
964 // The PrerenderLinkManager is not empty since we never removed the first | 947 // The PrerenderLinkManager is not empty since we never removed the first |
965 // prerender. | 948 // prerender. |
966 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 949 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
967 } | 950 } |
968 | 951 |
969 TEST_F(PrerenderTest, LinkManagerCancelThenAddAgain) { | 952 TEST_F(PrerenderTest, LinkManagerCancelThenAddAgain) { |
970 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 953 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
971 GURL url("http://www.myexample.com"); | 954 GURL url("http://www.myexample.com"); |
972 DummyPrerenderContents* first_prerender_contents = | 955 DummyPrerenderContents* first_prerender_contents = |
973 prerender_manager()->CreateNextPrerenderContents( | 956 prerender_manager()->CreateNextPrerenderContents( |
974 url, FINAL_STATUS_CANCELLED); | 957 url, FINAL_STATUS_CANCELLED); |
975 EXPECT_TRUE(AddSimplePrerender(url)); | 958 EXPECT_TRUE(AddSimplePrerender(url)); |
976 EXPECT_TRUE(first_prerender_contents->prerendering_has_started()); | 959 EXPECT_TRUE(first_prerender_contents->prerendering_has_started()); |
977 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); | 960 EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled()); |
978 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url)); | 961 ASSERT_EQ(first_prerender_contents, prerender_manager()->FindPrerender(url)); |
979 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, | 962 prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
980 last_prerender_id()); | 963 last_prerender_id()); |
981 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); | 964 EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
982 EXPECT_TRUE(first_prerender_contents->prerendering_has_been_cancelled()); | 965 EXPECT_TRUE(first_prerender_contents->prerendering_has_been_cancelled()); |
983 DummyPrerenderContents* null = NULL; | 966 DummyPrerenderContents* null = NULL; |
984 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); | 967 ASSERT_EQ(null, prerender_manager()->GetEntry(url)); |
985 DummyPrerenderContents* second_prerender_contents = | 968 DummyPrerenderContents* second_prerender_contents = |
986 prerender_manager()->CreateNextPrerenderContents( | 969 prerender_manager()->CreateNextPrerenderContents( |
987 url, FINAL_STATUS_USED); | 970 url, FINAL_STATUS_USED); |
988 EXPECT_TRUE(AddSimplePrerender(url)); | 971 EXPECT_TRUE(AddSimplePrerender(url)); |
989 EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); | 972 EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); |
990 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); | 973 ASSERT_EQ(second_prerender_contents, prerender_manager()->GetEntry(url)); |
991 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); | 974 EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
992 } | 975 } |
993 | 976 |
994 } // namespace prerender | 977 } // namespace prerender |
OLD | NEW |