Index: chrome/browser/prerender/prerender_unittest.cc |
diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc |
index 27fa12a775ce55fbba447f53e8fd171c6718922c..47c05a561a351bf09fc4c45e3004914c73fd3555 100644 |
--- a/chrome/browser/prerender/prerender_unittest.cc |
+++ b/chrome/browser/prerender/prerender_unittest.cc |
@@ -135,7 +135,7 @@ class UnitTestPrerenderManager : public PrerenderManager { |
active_prerenders_.erase(to_erase); |
prerender_contents->SetFinalStatus(FINAL_STATUS_USED); |
- prerender_contents->StartPendingPrerenders(); |
+ prerender_contents->PrepareForUse(); |
return prerender_contents; |
} |
@@ -362,12 +362,10 @@ TEST_F(PrerenderTest, DuplicateTest) { |
kDefaultChildId, kDefaultRenderViewRouteId, url, |
Referrer(url, WebKit::WebReferrerPolicyDefault), kSize)); |
- EXPECT_TRUE(duplicate_prerender_handle->IsValid()); |
EXPECT_TRUE(duplicate_prerender_handle->IsPrerendering()); |
ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
- EXPECT_FALSE(duplicate_prerender_handle->IsValid()); |
EXPECT_FALSE(duplicate_prerender_handle->IsPrerendering()); |
} |
@@ -649,13 +647,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->IsPrerendering()); |
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->IsPrerendering()); |
ASSERT_EQ(pending_prerender_contents, |
prerender_manager()->FindAndUseEntry(pending_url)); |
} |
@@ -686,14 +683,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->IsPrerendering()); |
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()); |
+ EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); |
} |
TEST_F(PrerenderTest, CancelPendingPrerenderTest) { |
@@ -716,15 +711,17 @@ 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->IsPrerendering()); |
EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
- pending_prerender_handle->OnCancel(); |
- EXPECT_FALSE(pending_prerender_handle->IsValid()); |
+ EXPECT_FALSE(pending_prerender_handle->IsPrerendering()); |
mmenke
2012/12/13 18:27:16
nit: No need to check this twice (Though suppose
gavinp
2012/12/13 20:45:34
Done.
|
+ pending_prerender_handle.reset(); |
ASSERT_EQ(prerender_contents, prerender_manager()->FindAndUseEntry(url)); |
+ // We succeed if we don't crash here; if the pending prerender wasn't canceled |
+ // then CreateNextPrerenderContents will fail an assertion. |
+ SUCCEED(); |
mmenke
2012/12/13 18:27:16
I'm not following this.
gavinp
2012/12/13 20:45:34
Done.
|
} |
// Tests that a PrerenderManager created for a browser session in the control |
@@ -793,6 +790,7 @@ TEST_F(PrerenderTest, PPLTDummy) { |
url, FINAL_STATUS_UNSUPPORTED_SCHEME); |
EXPECT_TRUE(AddSimplePrerender(url)); |
EXPECT_TRUE(prerender_contents->prerendering_has_started()); |
+ EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
DummyPrerenderContents* pplt_dummy_contents = |
prerender_manager()->CreateNextPrerenderContents(url, |
@@ -800,8 +798,10 @@ TEST_F(PrerenderTest, PPLTDummy) { |
GURL ftp_url("ftp://ftp.google.com/"); |
// Adding this ftp URL will force the expected unsupported scheme error. |
prerender_contents->AddAliasURL(ftp_url); |
+ EXPECT_FALSE(IsEmptyPrerenderLinkManager()); |
ASSERT_EQ(pplt_dummy_contents, prerender_manager()->FindAndUseEntry(url)); |
+ EXPECT_TRUE(IsEmptyPrerenderLinkManager()); |
} |
// Tests that our PPLT dummy prerender gets created properly, even |
@@ -839,13 +839,14 @@ TEST_F(PrerenderTest, PPLTLateCancel) { |
prerender_contents->Destroy(FINAL_STATUS_JAVASCRIPT_ALERT); |
ASSERT_EQ(duplicate_prerender_contents, prerender_manager()->FindEntry(url)); |
+ // Make sure that events on prerender handles propogate to the match |
+ // complete replacement. |
+ DummyPrerenderContents* null = NULL; |
prerender_link_manager()->OnCancelPrerender(kDefaultChildId, |
last_prerender_id()); |
- 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)); |
mmenke
2012/12/13 18:27:16
I don't think we have a test with a cancel after a
gavinp
2012/12/13 20:45:34
The abandon tests do try and use the prerender.
I
|
- 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 |