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

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

Issue 2397783003: Allows prerendering to continue for offline requests even if the url was recently visited. (Closed)
Patch Set: Created 4 years, 2 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_contents.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 977 matching lines...) Expand 10 before | Expand all | Expand 10 after
988 DummyPrerenderContents* prerender_contents = 988 DummyPrerenderContents* prerender_contents =
989 prerender_manager()->CreateNextPrerenderContents( 989 prerender_manager()->CreateNextPrerenderContents(
990 url, FINAL_STATUS_USED); 990 url, FINAL_STATUS_USED);
991 EXPECT_TRUE(AddSimplePrerender(url)); 991 EXPECT_TRUE(AddSimplePrerender(url));
992 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 992 EXPECT_TRUE(prerender_contents->prerendering_has_started());
993 std::unique_ptr<PrerenderContents> entry = 993 std::unique_ptr<PrerenderContents> entry =
994 prerender_manager()->FindAndUseEntry(url); 994 prerender_manager()->FindAndUseEntry(url);
995 ASSERT_EQ(prerender_contents, entry.get()); 995 ASSERT_EQ(prerender_contents, entry.get());
996 } 996 }
997 997
998 // Tests that the offline origin is not restricted by recently visited check.
999 TEST_F(PrerenderTest, OfflinePrerenderStartsWhenRecentlyVisited) {
1000 GURL url("http://www.google.com/");
1001
1002 prerender_manager()->RecordNavigation(url);
1003
1004 DummyPrerenderContents* prerender_contents =
1005 prerender_manager()->CreateNextPrerenderContents(
1006 url, ORIGIN_OFFLINE, FINAL_STATUS_MANAGER_SHUTDOWN);
1007 std::unique_ptr<PrerenderHandle> prerender_handle =
1008 prerender_manager()->AddPrerenderForOffline(url, nullptr, kSize);
1009 EXPECT_TRUE(prerender_handle);
1010 EXPECT_TRUE(prerender_handle->IsPrerendering());
1011 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1012 }
1013
998 // Tests that the prerender manager matches include the fragment. 1014 // Tests that the prerender manager matches include the fragment.
999 TEST_F(PrerenderTest, FragmentMatchesTest) { 1015 TEST_F(PrerenderTest, FragmentMatchesTest) {
1000 GURL fragment_url("http://www.google.com/#test"); 1016 GURL fragment_url("http://www.google.com/#test");
1001 1017
1002 DummyPrerenderContents* prerender_contents = 1018 DummyPrerenderContents* prerender_contents =
1003 prerender_manager()->CreateNextPrerenderContents(fragment_url, 1019 prerender_manager()->CreateNextPrerenderContents(fragment_url,
1004 FINAL_STATUS_USED); 1020 FINAL_STATUS_USED);
1005 EXPECT_TRUE(AddSimplePrerender(fragment_url)); 1021 EXPECT_TRUE(AddSimplePrerender(fragment_url));
1006 EXPECT_TRUE(prerender_contents->prerendering_has_started()); 1022 EXPECT_TRUE(prerender_contents->prerendering_has_started());
1007 std::unique_ptr<PrerenderContents> entry = 1023 std::unique_ptr<PrerenderContents> entry =
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
1746 prerender_contents->SetPrerenderMode(PREFETCH_ONLY); 1762 prerender_contents->SetPrerenderMode(PREFETCH_ONLY);
1747 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("GET")); 1763 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("GET"));
1748 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("HEAD")); 1764 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("HEAD"));
1749 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("OPTIONS")); 1765 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("OPTIONS"));
1750 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("POST")); 1766 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("POST"));
1751 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("TRACE")); 1767 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("TRACE"));
1752 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER")); 1768 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER"));
1753 } 1769 }
1754 1770
1755 } // namespace prerender 1771 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_contents.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698