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/format_macros.h" | 6 #include "base/format_macros.h" |
7 #include "base/memory/scoped_vector.h" | 7 #include "base/memory/scoped_vector.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
678 | 678 |
679 GURL pending_url("http://news.google.com/"); | 679 GURL pending_url("http://news.google.com/"); |
680 | 680 |
681 DummyPrerenderContents* pending_prerender_contents = | 681 DummyPrerenderContents* pending_prerender_contents = |
682 prerender_manager()->CreateNextPrerenderContents( | 682 prerender_manager()->CreateNextPrerenderContents( |
683 pending_url, | 683 pending_url, |
684 ORIGIN_GWS_PRERENDER, | 684 ORIGIN_GWS_PRERENDER, |
685 FINAL_STATUS_USED); | 685 FINAL_STATUS_USED); |
686 scoped_ptr<PrerenderHandle> pending_prerender_handle( | 686 scoped_ptr<PrerenderHandle> pending_prerender_handle( |
687 prerender_manager()->AddPrerenderFromLinkRelPrerender( | 687 prerender_manager()->AddPrerenderFromLinkRelPrerender( |
688 child_id, route_id, pending_url, | 688 child_id, route_id, pending_url, kDefaultRelTypes, |
689 Referrer(url, blink::WebReferrerPolicyDefault), kSize)); | 689 Referrer(url, blink::WebReferrerPolicyDefault), kSize)); |
690 CHECK(pending_prerender_handle.get()); | 690 CHECK(pending_prerender_handle.get()); |
691 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); | 691 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); |
692 | 692 |
693 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 693 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
694 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); | 694 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
695 | 695 |
696 EXPECT_TRUE(pending_prerender_handle->IsPrerendering()); | 696 EXPECT_TRUE(pending_prerender_handle->IsPrerendering()); |
697 ASSERT_EQ(pending_prerender_contents, | 697 ASSERT_EQ(pending_prerender_contents, |
698 prerender_manager()->FindAndUseEntry(pending_url)); | 698 prerender_manager()->FindAndUseEntry(pending_url)); |
(...skipping 16 matching lines...) Expand all Loading... |
715 // This pending URL has an unsupported scheme, and won't be able | 715 // This pending URL has an unsupported scheme, and won't be able |
716 // to start. | 716 // to start. |
717 GURL pending_url("ftp://news.google.com/"); | 717 GURL pending_url("ftp://news.google.com/"); |
718 | 718 |
719 prerender_manager()->CreateNextPrerenderContents( | 719 prerender_manager()->CreateNextPrerenderContents( |
720 pending_url, | 720 pending_url, |
721 ORIGIN_GWS_PRERENDER, | 721 ORIGIN_GWS_PRERENDER, |
722 FINAL_STATUS_UNSUPPORTED_SCHEME); | 722 FINAL_STATUS_UNSUPPORTED_SCHEME); |
723 scoped_ptr<PrerenderHandle> pending_prerender_handle( | 723 scoped_ptr<PrerenderHandle> pending_prerender_handle( |
724 prerender_manager()->AddPrerenderFromLinkRelPrerender( | 724 prerender_manager()->AddPrerenderFromLinkRelPrerender( |
725 child_id, route_id, pending_url, | 725 child_id, route_id, pending_url, kDefaultRelTypes, |
726 Referrer(url, blink::WebReferrerPolicyDefault), kSize)); | 726 Referrer(url, blink::WebReferrerPolicyDefault), kSize)); |
727 DCHECK(pending_prerender_handle.get()); | 727 DCHECK(pending_prerender_handle.get()); |
728 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); | 728 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); |
729 | 729 |
730 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 730 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
731 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); | 731 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
732 | 732 |
733 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); | 733 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); |
734 } | 734 } |
735 | 735 |
736 TEST_F(PrerenderTest, CancelPendingPrerenderTest) { | 736 TEST_F(PrerenderTest, CancelPendingPrerenderTest) { |
737 GURL url("http://www.google.com/"); | 737 GURL url("http://www.google.com/"); |
738 DummyPrerenderContents* prerender_contents = | 738 DummyPrerenderContents* prerender_contents = |
739 prerender_manager()->CreateNextPrerenderContents( | 739 prerender_manager()->CreateNextPrerenderContents( |
740 url, | 740 url, |
741 FINAL_STATUS_USED); | 741 FINAL_STATUS_USED); |
742 EXPECT_TRUE(AddSimplePrerender(url)); | 742 EXPECT_TRUE(AddSimplePrerender(url)); |
743 | 743 |
744 int child_id; | 744 int child_id; |
745 int route_id; | 745 int route_id; |
746 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); | 746 ASSERT_TRUE(prerender_contents->GetChildId(&child_id)); |
747 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); | 747 ASSERT_TRUE(prerender_contents->GetRouteId(&route_id)); |
748 | 748 |
749 GURL pending_url("http://news.google.com/"); | 749 GURL pending_url("http://news.google.com/"); |
750 | 750 |
751 scoped_ptr<PrerenderHandle> pending_prerender_handle( | 751 scoped_ptr<PrerenderHandle> pending_prerender_handle( |
752 prerender_manager()->AddPrerenderFromLinkRelPrerender( | 752 prerender_manager()->AddPrerenderFromLinkRelPrerender( |
753 child_id, route_id, pending_url, | 753 child_id, route_id, pending_url, kDefaultRelTypes, |
754 Referrer(url, blink::WebReferrerPolicyDefault), kSize)); | 754 Referrer(url, blink::WebReferrerPolicyDefault), kSize)); |
755 CHECK(pending_prerender_handle.get()); | 755 CHECK(pending_prerender_handle.get()); |
756 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); | 756 EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); |
757 | 757 |
758 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 758 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
759 | 759 |
760 pending_prerender_handle.reset(); | 760 pending_prerender_handle.reset(); |
761 | 761 |
762 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); | 762 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
763 } | 763 } |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); | 804 EXPECT_EQ(null, prerender_manager()->FindEntry(url)); |
805 } | 805 } |
806 | 806 |
807 // Tests that prerendering does launch rel=next prerenders with the field trial. | 807 // Tests that prerendering does launch rel=next prerenders with the field trial. |
808 TEST_F(PrerenderTest, RelNextByFieldTrial) { | 808 TEST_F(PrerenderTest, RelNextByFieldTrial) { |
809 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("PrerenderRelNextTrial", | 809 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("PrerenderRelNextTrial", |
810 "Yes")); | 810 "Yes")); |
811 GURL url("http://www.google.com/"); | 811 GURL url("http://www.google.com/"); |
812 DummyPrerenderContents* prerender_contents = | 812 DummyPrerenderContents* prerender_contents = |
813 prerender_manager()->CreateNextPrerenderContents( | 813 prerender_manager()->CreateNextPrerenderContents( |
814 url, FINAL_STATUS_MANAGER_SHUTDOWN); | 814 url, ORIGIN_LINK_REL_NEXT, FINAL_STATUS_MANAGER_SHUTDOWN); |
815 | 815 |
816 prerender_link_manager()->OnAddPrerender( | 816 prerender_link_manager()->OnAddPrerender( |
817 kDefaultChildId, GetNextPrerenderID(), url, PrerenderRelTypeNext, | 817 kDefaultChildId, GetNextPrerenderID(), url, PrerenderRelTypeNext, |
818 Referrer(), kSize, kDefaultRenderViewRouteId); | 818 Referrer(), kSize, kDefaultRenderViewRouteId); |
819 EXPECT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); | 819 EXPECT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
820 } | 820 } |
821 | 821 |
822 // Tests that prerendering is cancelled when we launch a second prerender of | 822 // Tests that prerendering is cancelled when we launch a second prerender of |
823 // the same target within a short time interval. | 823 // the same target within a short time interval. |
824 TEST_F(PrerenderTest, RecentlyVisited) { | 824 TEST_F(PrerenderTest, RecentlyVisited) { |
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1506 CHECK(prerender_handle.get()); | 1506 CHECK(prerender_handle.get()); |
1507 EXPECT_TRUE(prerender_handle->IsPrerendering()); | 1507 EXPECT_TRUE(prerender_handle->IsPrerendering()); |
1508 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | 1508 EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
1509 EXPECT_EQ(prerender_contents, prerender_handle->contents()); | 1509 EXPECT_EQ(prerender_contents, prerender_handle->contents()); |
1510 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin()); | 1510 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin()); |
1511 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); | 1511 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
1512 EXPECT_FALSE(prerender_handle->IsPrerendering()); | 1512 EXPECT_FALSE(prerender_handle->IsPrerendering()); |
1513 } | 1513 } |
1514 | 1514 |
1515 } // namespace prerender | 1515 } // namespace prerender |
OLD | NEW |