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

Side by Side Diff: chrome/browser/prerender/prerender_unittest.cc

Issue 1896403002: Prerender: Remove MatchComplete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: re-enable PrerenderDeferredSynchronousXHR Created 4 years, 7 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
« no previous file with comments | « chrome/browser/prerender/prerender_manager.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 7
8 #include <map> 8 #include <map>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 937 matching lines...) Expand 10 before | Expand all | Expand 10 after
948 UnitTestPrerenderManager::kNavigationRecordWindowMs + 500)); 948 UnitTestPrerenderManager::kNavigationRecordWindowMs + 500));
949 949
950 DummyPrerenderContents* prerender_contents = 950 DummyPrerenderContents* prerender_contents =
951 prerender_manager()->CreateNextPrerenderContents( 951 prerender_manager()->CreateNextPrerenderContents(
952 url, FINAL_STATUS_USED); 952 url, FINAL_STATUS_USED);
953 EXPECT_TRUE(AddSimplePrerender(url)); 953 EXPECT_TRUE(AddSimplePrerender(url));
954 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 954 EXPECT_TRUE(prerender_contents->prerendering_has_started());
955 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); 955 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url));
956 } 956 }
957 957
958 // Tests that our PPLT dummy prerender gets created properly.
959 TEST_F(PrerenderTest, PPLTDummy) {
960 RestorePrerenderMode restore_prerender_mode;
961 PrerenderManager::SetMode(
962 PrerenderManager::PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP);
963
964 GURL url("http://www.google.com/");
965 DummyPrerenderContents* prerender_contents =
966 prerender_manager()->CreateNextPrerenderContents(
967 url, FINAL_STATUS_UNSUPPORTED_SCHEME);
968 EXPECT_TRUE(AddSimplePrerender(url));
969 EXPECT_TRUE(prerender_contents->prerendering_has_started());
970 EXPECT_FALSE(IsEmptyPrerenderLinkManager());
971
972 DummyPrerenderContents* pplt_dummy_contents =
973 prerender_manager()->CreateNextPrerenderContents(url,
974 FINAL_STATUS_USED);
975 GURL ftp_url("ftp://ftp.google.com/");
976 // Adding this ftp URL will force the expected unsupported scheme error.
977 prerender_contents->AddAliasURL(ftp_url);
978 EXPECT_FALSE(IsEmptyPrerenderLinkManager());
979
980 ASSERT_EQ(pplt_dummy_contents, prerender_manager()->FindAndUseEntry(url));
981 EXPECT_TRUE(IsEmptyPrerenderLinkManager());
982 }
983
984 // Tests that our PPLT dummy prerender gets created properly, even
985 // when navigating to a page that has been recently navigated to.
986 TEST_F(PrerenderTest, RecentlyVisitedPPLTDummy) {
987 RestorePrerenderMode restore_prerender_mode;
988 PrerenderManager::SetMode(
989 PrerenderManager::PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP);
990
991 GURL url("http://www.google.com/");
992 DummyPrerenderContents* prerender_contents =
993 prerender_manager()->CreateNextPrerenderContents(
994 url, FINAL_STATUS_UNSUPPORTED_SCHEME);
995 EXPECT_TRUE(AddSimplePrerender(url));
996 EXPECT_TRUE(prerender_contents->prerendering_has_started());
997
998 DummyPrerenderContents* pplt_dummy_contents =
999 prerender_manager()->CreateNextPrerenderContents(url,
1000 FINAL_STATUS_USED);
1001 prerender_manager()->RecordNavigation(url);
1002 GURL ftp_url("ftp://ftp.google.com/");
1003 prerender_contents->AddAliasURL(ftp_url);
1004
1005 ASSERT_EQ(pplt_dummy_contents, prerender_manager()->FindAndUseEntry(url));
1006 }
1007
1008 TEST_F(PrerenderTest, PPLTLateCancel) {
1009 RestorePrerenderMode restore_prerender_mode;
1010 PrerenderManager::SetMode(
1011 PrerenderManager::PRERENDER_MODE_EXPERIMENT_MATCH_COMPLETE_GROUP);
1012
1013 GURL url("http://www.google.com");
1014 DummyPrerenderContents* prerender_contents =
1015 prerender_manager()->CreateNextPrerenderContents(
1016 url, FINAL_STATUS_JAVASCRIPT_ALERT);
1017 EXPECT_TRUE(AddSimplePrerender(url));
1018 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1019 // Force the creation of a match complete dummy.
1020 DummyPrerenderContents* duplicate_prerender_contents =
1021 prerender_manager()->CreateNextPrerenderContents(url,
1022 FINAL_STATUS_CANCELLED);
1023 ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
1024 prerender_contents->Destroy(FINAL_STATUS_JAVASCRIPT_ALERT);
1025 ASSERT_EQ(duplicate_prerender_contents, prerender_manager()->FindEntry(url));
1026
1027 // Make sure that events on prerender handles propogate to the match
1028 // complete replacement.
1029 DummyPrerenderContents* null = NULL;
1030 prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
1031 last_prerender_id());
1032 ASSERT_EQ(null, prerender_manager()->FindEntry(url));
1033 }
1034
1035 // Tests that the prerender manager matches include the fragment. 958 // Tests that the prerender manager matches include the fragment.
1036 TEST_F(PrerenderTest, FragmentMatchesTest) { 959 TEST_F(PrerenderTest, FragmentMatchesTest) {
1037 GURL fragment_url("http://www.google.com/#test"); 960 GURL fragment_url("http://www.google.com/#test");
1038 961
1039 DummyPrerenderContents* prerender_contents = 962 DummyPrerenderContents* prerender_contents =
1040 prerender_manager()->CreateNextPrerenderContents(fragment_url, 963 prerender_manager()->CreateNextPrerenderContents(fragment_url,
1041 FINAL_STATUS_USED); 964 FINAL_STATUS_USED);
1042 EXPECT_TRUE(AddSimplePrerender(fragment_url)); 965 EXPECT_TRUE(AddSimplePrerender(fragment_url));
1043 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 966 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1044 ASSERT_EQ(prerender_contents, 967 ASSERT_EQ(prerender_contents,
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
1700 CHECK(prerender_handle.get()); 1623 CHECK(prerender_handle.get());
1701 EXPECT_TRUE(prerender_handle->IsPrerendering()); 1624 EXPECT_TRUE(prerender_handle->IsPrerendering());
1702 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 1625 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1703 EXPECT_EQ(prerender_contents, prerender_handle->contents()); 1626 EXPECT_EQ(prerender_contents, prerender_handle->contents());
1704 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin()); 1627 EXPECT_EQ(ORIGIN_INSTANT, prerender_handle->contents()->origin());
1705 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); 1628 ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url));
1706 EXPECT_FALSE(prerender_handle->IsPrerendering()); 1629 EXPECT_FALSE(prerender_handle->IsPrerendering());
1707 } 1630 }
1708 1631
1709 } // namespace prerender 1632 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698