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 <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 624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
635 EXPECT_TRUE(AddSimplePrerender(url)); | 635 EXPECT_TRUE(AddSimplePrerender(url)); |
636 EXPECT_EQ(prerender_contents1, | 636 EXPECT_EQ(prerender_contents1, |
637 prerender_manager()->next_prerender_contents()); | 637 prerender_manager()->next_prerender_contents()); |
638 EXPECT_FALSE(prerender_contents1->prerendering_has_started()); | 638 EXPECT_FALSE(prerender_contents1->prerendering_has_started()); |
639 | 639 |
640 std::unique_ptr<PrerenderContents> entry = | 640 std::unique_ptr<PrerenderContents> entry = |
641 prerender_manager()->FindAndUseEntry(url); | 641 prerender_manager()->FindAndUseEntry(url); |
642 ASSERT_EQ(prerender_contents, entry.get()); | 642 ASSERT_EQ(prerender_contents, entry.get()); |
643 } | 643 } |
644 | 644 |
645 // Make sure that if queue a request, and a second prerender request for the | |
mattcary
2017/01/10 15:00:50
Maybe say explicitly that this is the same as the
droger
2017/01/10 15:11:42
Done.
| |
646 // same URL comes in, that the second request attaches to the first prerender, | |
647 // and we don't use the second prerender contents. | |
648 TEST_F(PrerenderTest, DuplicateTest_NoStatePrefetch) { | |
649 RestorePrerenderMode restore_prerender_mode; | |
650 prerender_manager()->SetMode( | |
651 PrerenderManager::PRERENDER_MODE_NOSTATE_PREFETCH); | |
652 | |
653 SetConcurrency(2); | |
654 GURL url("http://www.google.com/"); | |
655 DummyPrerenderContents* prerender_contents = | |
656 prerender_manager()->CreateNextPrerenderContents( | |
657 url, | |
658 FINAL_STATUS_USED); | |
659 EXPECT_TRUE(AddSimplePrerender(url)); | |
660 EXPECT_FALSE(prerender_manager()->next_prerender_contents()); | |
661 EXPECT_TRUE(prerender_contents->prerendering_has_started()); | |
662 | |
663 DummyPrerenderContents* prerender_contents1 = | |
664 prerender_manager()->CreateNextPrerenderContents( | |
665 url, | |
666 FINAL_STATUS_MANAGER_SHUTDOWN); | |
667 EXPECT_TRUE(AddSimplePrerender(url)); | |
668 EXPECT_EQ(prerender_contents1, | |
669 prerender_manager()->next_prerender_contents()); | |
670 EXPECT_FALSE(prerender_contents1->prerendering_has_started()); | |
671 | |
672 std::unique_ptr<PrerenderContents> entry = | |
673 prerender_manager()->FindAndUseEntry(url); | |
674 ASSERT_EQ(prerender_contents, entry.get()); | |
675 } | |
676 | |
645 // Ensure that we expire a prerendered page after the max. permitted time. | 677 // Ensure that we expire a prerendered page after the max. permitted time. |
646 TEST_F(PrerenderTest, ExpireTest) { | 678 TEST_F(PrerenderTest, ExpireTest) { |
647 base::SimpleTestTickClock* tick_clock = | 679 base::SimpleTestTickClock* tick_clock = |
648 OverridePrerenderManagerTimeTicks(prerender_manager()); | 680 OverridePrerenderManagerTimeTicks(prerender_manager()); |
649 GURL url("http://www.google.com/"); | 681 GURL url("http://www.google.com/"); |
650 DummyPrerenderContents* prerender_contents = | 682 DummyPrerenderContents* prerender_contents = |
651 prerender_manager()->CreateNextPrerenderContents( | 683 prerender_manager()->CreateNextPrerenderContents( |
652 url, | 684 url, |
653 FINAL_STATUS_TIMED_OUT); | 685 FINAL_STATUS_TIMED_OUT); |
654 EXPECT_TRUE(AddSimplePrerender(url)); | 686 EXPECT_TRUE(AddSimplePrerender(url)); |
(...skipping 1293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1948 prerender_contents->SetPrerenderMode(PREFETCH_ONLY); | 1980 prerender_contents->SetPrerenderMode(PREFETCH_ONLY); |
1949 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("GET")); | 1981 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("GET")); |
1950 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("HEAD")); | 1982 EXPECT_TRUE(prerender_contents->IsValidHttpMethod("HEAD")); |
1951 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("OPTIONS")); | 1983 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("OPTIONS")); |
1952 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("POST")); | 1984 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("POST")); |
1953 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("TRACE")); | 1985 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("TRACE")); |
1954 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER")); | 1986 EXPECT_FALSE(prerender_contents->IsValidHttpMethod("WHATEVER")); |
1955 } | 1987 } |
1956 | 1988 |
1957 } // namespace prerender | 1989 } // namespace prerender |
OLD | NEW |