Chromium Code Reviews| Index: chrome/browser/prerender/prerender_unittest.cc |
| diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc |
| index 13617a4d8800961dda3b9e3b22a52fb752a45599..b642e60906d39160a32a2706a06c5a62380eec5a 100644 |
| --- a/chrome/browser/prerender/prerender_unittest.cc |
| +++ b/chrome/browser/prerender/prerender_unittest.cc |
| @@ -649,13 +649,12 @@ TEST_F(PrerenderTest, PendingPrerenderTest) { |
| child_id, route_id, pending_url, |
| Referrer(url, WebKit::WebReferrerPolicyDefault), kSize)); |
| CHECK(pending_prerender_handle.get()); |
| - EXPECT_TRUE(pending_prerender_handle->IsValid()); |
| - EXPECT_TRUE(pending_prerender_handle->IsPending()); |
| + EXPECT_FALSE(pending_prerender_handle->IsValid()); |
| EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
| - EXPECT_FALSE(pending_prerender_handle->IsPending()); |
| + EXPECT_TRUE(pending_prerender_handle->IsValid()); |
| ASSERT_EQ(pending_prerender_contents, |
| prerender_manager()->FindAndUseEntry(pending_url)); |
| } |
| @@ -686,14 +685,12 @@ TEST_F(PrerenderTest, InvalidPendingPrerenderTest) { |
| child_id, route_id, pending_url, |
| Referrer(url, WebKit::WebReferrerPolicyDefault), kSize)); |
| DCHECK(pending_prerender_handle.get()); |
| - EXPECT_TRUE(pending_prerender_handle->IsValid()); |
| - EXPECT_TRUE(pending_prerender_handle->IsPending()); |
| + EXPECT_FALSE(pending_prerender_handle->IsValid()); |
| EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
| EXPECT_FALSE(pending_prerender_handle->IsValid()); |
| - EXPECT_FALSE(pending_prerender_handle->IsPending()); |
| } |
| TEST_F(PrerenderTest, CancelPendingPrerenderTest) { |
| @@ -716,13 +713,12 @@ TEST_F(PrerenderTest, CancelPendingPrerenderTest) { |
| child_id, route_id, pending_url, |
| Referrer(url, WebKit::WebReferrerPolicyDefault), kSize)); |
| CHECK(pending_prerender_handle.get()); |
| - EXPECT_TRUE(pending_prerender_handle->IsValid()); |
| - EXPECT_TRUE(pending_prerender_handle->IsPending()); |
| + EXPECT_FALSE(pending_prerender_handle->IsValid()); |
| EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
| pending_prerender_handle->OnCancel(); |
| - EXPECT_FALSE(pending_prerender_handle->IsValid()); |
| + EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); |
| ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
| } |
| @@ -839,13 +835,18 @@ TEST_F(PrerenderTest, PPLTLateCancel) { |
| prerender_contents->Destroy(FINAL_STATUS_JAVASCRIPT_ALERT); |
| ASSERT_EQ(duplicate_prerender_contents, prerender_manager()->FindEntry(url)); |
| + // Surprisingly, OnCancelPrerender isn't expected to do anything because the |
| + // PrerenderLinkManager has already removed this prerender. |
|
mmenke
2012/12/07 16:46:08
Doesn't this mess up book keeping? If the prerend
gavinp
2012/12/10 17:55:10
But the PrerenderStop event was sent, and that rem
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
| last_prerender_id()); |
| + ASSERT_EQ(duplicate_prerender_contents, prerender_manager()->FindEntry(url)); |
| + |
| + // But the PrerenderContents will exist, albiet with no handle. |
| + duplicate_prerender_contents->Destroy(FINAL_STATUS_CANCELLED); |
| DummyPrerenderContents* null = NULL; |
| ASSERT_EQ(null, prerender_manager()->FindEntry(url)); |
| } |
| - |
| // Tests that the prerender manager matches include the fragment. |
| TEST_F(PrerenderTest, FragmentMatchesTest) { |
| GURL fragment_url("http://www.google.com/#test"); |
| @@ -986,7 +987,6 @@ TEST_F(PrerenderTest, LinkManagerAbandon) { |
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
| ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
| - EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
| } |
| TEST_F(PrerenderTest, LinkManagerCancelTwice) { |
| @@ -1116,7 +1116,6 @@ TEST_F(PrerenderTest, LinkManagerAddTwiceAbandonTwice) { |
| prerender_link_manager()->OnAbandonPrerender(kDefaultChildId, |
| second_prerender_id); |
| - EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled()); |
| ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
| } |
| @@ -1172,9 +1171,6 @@ TEST_F(PrerenderTest, LinkManagerExpireThenAddAgain) { |
| EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); |
| ASSERT_EQ(second_prerender_contents, |
| prerender_manager()->FindAndUseEntry(url)); |
| - // The PrerenderLinkManager is not empty since we never removed the first |
| - // prerender. |
| - EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
| } |
| TEST_F(PrerenderTest, LinkManagerCancelThenAddAgain) { |
| @@ -1200,7 +1196,6 @@ TEST_F(PrerenderTest, LinkManagerCancelThenAddAgain) { |
| EXPECT_TRUE(second_prerender_contents->prerendering_has_started()); |
| ASSERT_EQ(second_prerender_contents, |
| prerender_manager()->FindAndUseEntry(url)); |
| - EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
| } |
| } // namespace prerender |