| Index: chrome/browser/prerender/prerender_unittest.cc
|
| diff --git a/chrome/browser/prerender/prerender_unittest.cc b/chrome/browser/prerender/prerender_unittest.cc
|
| index 185aeb4049f00e66958724b56300b9bd65e1ec36..83998bc51e1335ff46150cc0b1c708373d8ef882 100644
|
| --- a/chrome/browser/prerender/prerender_unittest.cc
|
| +++ b/chrome/browser/prerender/prerender_unittest.cc
|
| @@ -78,6 +78,8 @@ class DummyPrerenderContents : public PrerenderContents {
|
|
|
| class TestPrerenderManager : public PrerenderManager {
|
| public:
|
| + using PrerenderManager::FindPrerender;
|
| +
|
| explicit TestPrerenderManager(PrerenderTracker* prerender_tracker)
|
| : PrerenderManager(&profile_, prerender_tracker),
|
| time_(base::Time::Now()),
|
| @@ -92,6 +94,7 @@ class TestPrerenderManager : public PrerenderManager {
|
| next_prerender_contents_.release()->Destroy(
|
| FINAL_STATUS_MANAGER_SHUTDOWN);
|
| }
|
| +#if 0
|
| // Set the final status for all PrerenderContents with an expected final
|
| // status of FINAL_STATUS_USED. These values are normally set when the
|
| // prerendered RVH is swapped into a tab, which doesn't happen in these
|
| @@ -101,6 +104,7 @@ class TestPrerenderManager : public PrerenderManager {
|
| it != used_prerender_contents_.end(); ++it) {
|
| (*it)->set_final_status(FINAL_STATUS_USED);
|
| }
|
| +#endif
|
| DoShutdown();
|
| }
|
|
|
| @@ -159,6 +163,15 @@ class TestPrerenderManager : public PrerenderManager {
|
| return next_prerender_contents_.get();
|
| }
|
|
|
| + PrerenderContents* GetEntry(const GURL& url) {
|
| + // We don't need a valid web_contents, but we do need it to be distinct
|
| + // from the NULL value it was created with.
|
| + static int an_integer;
|
| + content::WebContents* not_really_web_contents =
|
| + reinterpret_cast<content::WebContents*>(&an_integer);
|
| + return ClaimPrerender(not_really_web_contents, url, NULL);
|
| + }
|
| +
|
| private:
|
| void SetNextPrerenderContents(DummyPrerenderContents* prerender_contents) {
|
| DCHECK(!next_prerender_contents_.get());
|
| @@ -247,7 +260,7 @@ class PrerenderTest : public testing::Test {
|
| return ++last_prerender_id_;
|
| }
|
|
|
| - // Shorthand to add a simple preload with a reasonable source.
|
| + // Shorthand to add a simple prerender with a reasonable source.
|
| bool AddSimplePrerender(const GURL& url) {
|
| return prerender_link_manager()->OnAddPrerender(
|
| kDefaultChildId, GetNextPrerenderID(),
|
| @@ -268,12 +281,6 @@ class PrerenderTest : public testing::Test {
|
| int last_prerender_id_;
|
| };
|
|
|
| -TEST_F(PrerenderTest, EmptyTest) {
|
| - EXPECT_FALSE(prerender_manager()->MaybeUsePrerenderedPage(
|
| - NULL,
|
| - GURL("http://www.google.com/")));
|
| -}
|
| -
|
| TEST_F(PrerenderTest, FoundTest) {
|
| GURL url("http://www.google.com/");
|
| DummyPrerenderContents* prerender_contents =
|
| @@ -282,7 +289,7 @@ TEST_F(PrerenderTest, FoundTest) {
|
| FINAL_STATUS_USED);
|
| EXPECT_TRUE(AddSimplePrerender(url));
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| }
|
|
|
| // Make sure that if queue a request, and a second prerender request for the
|
| @@ -489,12 +496,14 @@ TEST_F(PrerenderTest, PendingPrerenderTest) {
|
|
|
| GURL pending_url("http://news.google.com/");
|
|
|
| - EXPECT_TRUE(prerender_manager()->AddPrerenderFromLinkRelPrerender(
|
| - child_id, route_id,
|
| - pending_url, Referrer(url, WebKit::WebReferrerPolicyDefault),
|
| - gfx::Size()));
|
| + PrerenderHandle prerender =
|
| + prerender_manager()->AddPrerenderFromLinkRelPrerender(
|
| + child_id, route_id,
|
| + pending_url, Referrer(url, WebKit::WebReferrerPolicyDefault),
|
| + gfx::Size());
|
| + EXPECT_TRUE(prerender);
|
|
|
| - EXPECT_TRUE(prerender_manager()->IsPendingEntry(pending_url));
|
| + EXPECT_TRUE(prerender->IsPending());
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| ASSERT_EQ(prerender_contents, prerender_manager()->GetEntry(url));
|
| }
|
| @@ -654,7 +663,7 @@ TEST_F(PrerenderTest, ClearTest) {
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| prerender_manager()->ClearData(PrerenderManager::CLEAR_PRERENDER_CONTENTS);
|
| DummyPrerenderContents* null = NULL;
|
| - EXPECT_EQ(null, prerender_manager()->FindEntry(url));
|
| + EXPECT_EQ(null, prerender_manager()->GetEntry(url));
|
| }
|
|
|
| // Make sure canceling works as expected.
|
| @@ -667,33 +676,7 @@ TEST_F(PrerenderTest, CancelAllTest) {
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| prerender_manager()->CancelAllPrerenders();
|
| const DummyPrerenderContents* null = NULL;
|
| - EXPECT_EQ(null, prerender_manager()->FindEntry(url));
|
| -}
|
| -
|
| -// Make sure canceling for omnibox works as expected.
|
| -TEST_F(PrerenderTest, CancelOmniboxRemovesOmniboxTest) {
|
| - // Check canceling removes the Omnibox url.
|
| - GURL url("http://www.google.com/");
|
| - DummyPrerenderContents* prerender_contents =
|
| - prerender_manager()->CreateNextPrerenderContents(
|
| - url, ORIGIN_OMNIBOX, FINAL_STATUS_CANCELLED);
|
| - EXPECT_TRUE(prerender_manager()->AddPrerenderFromOmnibox(url, NULL));
|
| - EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| - prerender_manager()->CancelOmniboxPrerenders();
|
| - const DummyPrerenderContents* null = NULL;
|
| - EXPECT_EQ(null, prerender_manager()->FindEntry(url));
|
| -}
|
| -
|
| -TEST_F(PrerenderTest, CancelOmniboxDoesNotRemoveLinkTest) {
|
| - GURL url("http://www.google.com/");
|
| - DummyPrerenderContents* prerender_contents =
|
| - prerender_manager()->CreateNextPrerenderContents(
|
| - url, ORIGIN_LINK_REL_PRERENDER, FINAL_STATUS_MANAGER_SHUTDOWN);
|
| - EXPECT_TRUE(AddSimplePrerender(url));
|
| - EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| - prerender_manager()->CancelOmniboxPrerenders();
|
| - const DummyPrerenderContents* null = NULL;
|
| - EXPECT_NE(null, prerender_manager()->FindEntry(url));
|
| + EXPECT_EQ(null, prerender_manager()->GetEntry(url));
|
| }
|
|
|
| TEST_F(PrerenderTest, OmniboxNotAllowedWhenDisabled) {
|
| @@ -719,7 +702,7 @@ TEST_F(PrerenderTest, LinkManagerCancel) {
|
|
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| EXPECT_FALSE(IsEmptyPrerenderLinkManager());
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| last_prerender_id());
|
| @@ -741,7 +724,7 @@ TEST_F(PrerenderTest, LinkManagerCancelThenAbandon) {
|
|
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| EXPECT_FALSE(IsEmptyPrerenderLinkManager());
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| last_prerender_id());
|
| @@ -770,7 +753,7 @@ TEST_F(PrerenderTest, LinkManagerAbandon) {
|
|
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| EXPECT_FALSE(IsEmptyPrerenderLinkManager());
|
| prerender_link_manager()->OnAbandonPrerender(kDefaultChildId,
|
| last_prerender_id());
|
| @@ -790,7 +773,7 @@ TEST_F(PrerenderTest, LinkManagerCancelTwice) {
|
| EXPECT_TRUE(AddSimplePrerender(url));
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| last_prerender_id());
|
|
|
| @@ -814,18 +797,18 @@ TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwice) {
|
| const int first_prerender_id = last_prerender_id();
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| EXPECT_TRUE(AddSimplePrerender(url));
|
|
|
| const int second_prerender_id = last_prerender_id();
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| first_prerender_id);
|
|
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| second_prerender_id);
|
|
|
| @@ -847,18 +830,18 @@ TEST_F(PrerenderTest, LinkManagerAddTwiceCancelTwiceThenAbandonTwice) {
|
| const int first_prerender_id = last_prerender_id();
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| EXPECT_TRUE(AddSimplePrerender(url));
|
|
|
| const int second_prerender_id = last_prerender_id();
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| first_prerender_id);
|
|
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| second_prerender_id);
|
|
|
| @@ -892,18 +875,18 @@ TEST_F(PrerenderTest, LinkManagerAddTwiceAbandonTwice) {
|
| const int first_prerender_id = last_prerender_id();
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| EXPECT_TRUE(AddSimplePrerender(url));
|
|
|
| const int second_prerender_id = last_prerender_id();
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnAbandonPrerender(kDefaultChildId,
|
| first_prerender_id);
|
|
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnAbandonPrerender(kDefaultChildId,
|
| second_prerender_id);
|
|
|
| @@ -927,7 +910,7 @@ TEST_F(PrerenderTest, LinkManagerExpireThenCancel) {
|
|
|
| EXPECT_TRUE(prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() +
|
| base::TimeDelta::FromSeconds(1));
|
|
|
| @@ -950,7 +933,7 @@ TEST_F(PrerenderTest, LinkManagerExpireThenAddAgain) {
|
| EXPECT_TRUE(AddSimplePrerender(url));
|
| EXPECT_TRUE(first_prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(first_prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_manager()->AdvanceTime(prerender_manager()->GetMaxAge() +
|
| base::TimeDelta::FromSeconds(1));
|
| DummyPrerenderContents* null = NULL;
|
| @@ -975,7 +958,7 @@ TEST_F(PrerenderTest, LinkManagerCancelThenAddAgain) {
|
| EXPECT_TRUE(AddSimplePrerender(url));
|
| EXPECT_TRUE(first_prerender_contents->prerendering_has_started());
|
| EXPECT_FALSE(first_prerender_contents->prerendering_has_been_cancelled());
|
| - ASSERT_EQ(first_prerender_contents, prerender_manager()->FindEntry(url));
|
| + ASSERT_EQ(first_prerender_contents, prerender_manager()->FindPrerender(url));
|
| prerender_link_manager()->OnCancelPrerender(kDefaultChildId,
|
| last_prerender_id());
|
| EXPECT_TRUE(IsEmptyPrerenderLinkManager());
|
|
|