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

Unified Diff: chrome/browser/prerender/prerender_unittest.cc

Issue 10553029: Handle interface to prerenders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 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 side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698