summaryrefslogtreecommitdiffstats
path: root/content/browser/tab_contents/navigation_controller_unittest.cc
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-05 10:35:26 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-05 10:35:26 +0000
commit95dacd08712565b8f2410e7d099bcbe610946ec3 (patch)
tree5d5fbf11568d2325f76b0d380ca763eaed7616e0 /content/browser/tab_contents/navigation_controller_unittest.cc
parentb87a2efe6d4567afba7dd3945b390322b5870999 (diff)
downloadchromium_src-95dacd08712565b8f2410e7d099bcbe610946ec3.zip
chromium_src-95dacd08712565b8f2410e7d099bcbe610946ec3.tar.gz
chromium_src-95dacd08712565b8f2410e7d099bcbe610946ec3.tar.bz2
Change NavigationController::LoadURL to take a Referrer class instead of a GURL as referrer
BUG=105028 TEST=no functional change Review URL: http://codereview.chromium.org/8785004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112968 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/tab_contents/navigation_controller_unittest.cc')
-rw-r--r--content/browser/tab_contents/navigation_controller_unittest.cc112
1 files changed, 60 insertions, 52 deletions
diff --git a/content/browser/tab_contents/navigation_controller_unittest.cc b/content/browser/tab_contents/navigation_controller_unittest.cc
index a74e5e0..d9871d4 100644
--- a/content/browser/tab_contents/navigation_controller_unittest.cc
+++ b/content/browser/tab_contents/navigation_controller_unittest.cc
@@ -92,7 +92,7 @@ TEST_F(NavigationControllerTest, LoadURL) {
const GURL url2("http://foo2");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
// Creating a pending notification should not have issued any of the
// notifications we're listening for.
EXPECT_EQ(0U, notifications.size());
@@ -126,7 +126,7 @@ TEST_F(NavigationControllerTest, LoadURL) {
// Load another...
controller().LoadURL(
- url2, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
// The load should now be pending.
EXPECT_EQ(controller().entry_count(), 1);
@@ -168,14 +168,14 @@ TEST_F(NavigationControllerTest, LoadURL_SamePage) {
const GURL url1("http://foo1");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_EQ(0U, notifications.size());
rvh()->SendNavigate(0, url1);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_EQ(0U, notifications.size());
rvh()->SendNavigate(0, url1);
EXPECT_TRUE(notifications.Check1AndReset(
@@ -200,14 +200,14 @@ TEST_F(NavigationControllerTest, LoadURL_Discarded) {
const GURL url2("http://foo2");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_EQ(0U, notifications.size());
rvh()->SendNavigate(0, url1);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
controller().LoadURL(
- url2, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
controller().DiscardNonCommittedEntries();
EXPECT_EQ(0U, notifications.size());
@@ -229,7 +229,7 @@ TEST_F(NavigationControllerTest, LoadURL_NoPending) {
// First make an existing committed entry.
const GURL kExistingURL1("http://eh");
- controller().LoadURL(kExistingURL1, GURL(),
+ controller().LoadURL(kExistingURL1, content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, kExistingURL1);
EXPECT_TRUE(notifications.Check1AndReset(
@@ -258,7 +258,7 @@ TEST_F(NavigationControllerTest, LoadURL_NewPending) {
// First make an existing committed entry.
const GURL kExistingURL1("http://eh");
- controller().LoadURL(kExistingURL1, GURL(),
+ controller().LoadURL(kExistingURL1, content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, kExistingURL1);
EXPECT_TRUE(notifications.Check1AndReset(
@@ -266,7 +266,7 @@ TEST_F(NavigationControllerTest, LoadURL_NewPending) {
// Make a pending entry to somewhere new.
const GURL kExistingURL2("http://bee");
- controller().LoadURL(kExistingURL2, GURL(),
+ controller().LoadURL(kExistingURL2, content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_EQ(0U, notifications.size());
@@ -293,14 +293,14 @@ TEST_F(NavigationControllerTest, LoadURL_ExistingPending) {
// First make some history.
const GURL kExistingURL1("http://foo/eh");
- controller().LoadURL(kExistingURL1, GURL(),
+ controller().LoadURL(kExistingURL1, content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, kExistingURL1);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
const GURL kExistingURL2("http://foo/bee");
- controller().LoadURL(kExistingURL2, GURL(),
+ controller().LoadURL(kExistingURL2, content::Referrer(),
content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(1, kExistingURL2);
EXPECT_TRUE(notifications.Check1AndReset(
@@ -336,15 +336,15 @@ TEST_F(NavigationControllerTest, LoadURL_BackPreemptsPending) {
// First make some history.
const GURL kExistingURL1("http://foo/eh");
- controller().LoadURL(kExistingURL1, GURL(), content::PAGE_TRANSITION_TYPED,
- std::string());
+ controller().LoadURL(kExistingURL1, content::Referrer(),
+ content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, kExistingURL1);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
const GURL kExistingURL2("http://foo/bee");
- controller().LoadURL(kExistingURL2, GURL(), content::PAGE_TRANSITION_TYPED,
- std::string());
+ controller().LoadURL(kExistingURL2, content::Referrer(),
+ content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(1, kExistingURL2);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
@@ -352,7 +352,8 @@ TEST_F(NavigationControllerTest, LoadURL_BackPreemptsPending) {
// Now make a pending new navigation.
const GURL kNewURL("http://foo/see");
controller().LoadURL(
- kNewURL, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ kNewURL, content::Referrer(), content::PAGE_TRANSITION_TYPED,
+ std::string());
EXPECT_EQ(0U, notifications.size());
EXPECT_EQ(-1, controller().pending_entry_index());
EXPECT_EQ(1, controller().last_committed_entry_index());
@@ -387,7 +388,8 @@ TEST_F(NavigationControllerTest, LoadURL_IgnorePreemptsPending) {
// Now make a pending new navigation.
const GURL kNewURL("http://eh");
controller().LoadURL(
- kNewURL, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ kNewURL, content::Referrer(), content::PAGE_TRANSITION_TYPED,
+ std::string());
EXPECT_EQ(0U, notifications.size());
EXPECT_EQ(-1, controller().pending_entry_index());
EXPECT_TRUE(controller().pending_entry());
@@ -424,7 +426,8 @@ TEST_F(NavigationControllerTest, LoadURL_AbortCancelsPending) {
// Now make a pending new navigation.
const GURL kNewURL("http://eh");
controller().LoadURL(
- kNewURL, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ kNewURL, content::Referrer(), content::PAGE_TRANSITION_TYPED,
+ std::string());
EXPECT_EQ(0U, notifications.size());
EXPECT_EQ(-1, controller().pending_entry_index());
EXPECT_TRUE(controller().pending_entry());
@@ -471,7 +474,8 @@ TEST_F(NavigationControllerTest, LoadURL_RedirectAbortCancelsPending) {
// Now make a pending new navigation.
const GURL kNewURL("http://eh");
controller().LoadURL(
- kNewURL, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ kNewURL, content::Referrer(), content::PAGE_TRANSITION_TYPED,
+ std::string());
EXPECT_EQ(0U, notifications.size());
EXPECT_EQ(-1, controller().pending_entry_index());
EXPECT_TRUE(controller().pending_entry());
@@ -521,7 +525,7 @@ TEST_F(NavigationControllerTest, Reload) {
const GURL url1("http://foo1");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_EQ(0U, notifications.size());
rvh()->SendNavigate(0, url1);
EXPECT_TRUE(notifications.Check1AndReset(
@@ -562,7 +566,7 @@ TEST_F(NavigationControllerTest, Reload_GeneratesNewPage) {
const GURL url2("http://foo2");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, url1);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
@@ -635,13 +639,13 @@ TEST_F(NavigationControllerTest, Back_GeneratesNewPage) {
const GURL url3("http://foo/3");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, url1);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
controller().LoadURL(
- url2, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(1, url2);
EXPECT_TRUE(notifications.Check1AndReset(
content::NOTIFICATION_NAV_ENTRY_COMMITTED));
@@ -694,7 +698,8 @@ TEST_F(NavigationControllerTest, Back_NewPending) {
// Now start a new pending navigation and go back before it commits.
controller().LoadURL(
- kUrl3, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ kUrl3, content::Referrer(), content::PAGE_TRANSITION_TYPED,
+ std::string());
EXPECT_EQ(-1, controller().pending_entry_index());
EXPECT_EQ(kUrl3, controller().pending_entry()->url());
controller().GoBack();
@@ -856,7 +861,7 @@ TEST_F(NavigationControllerTest, Redirect) {
// First request
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_EQ(0U, notifications.size());
rvh()->SendNavigate(0, url2);
@@ -865,7 +870,7 @@ TEST_F(NavigationControllerTest, Redirect) {
// Second request
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_TRUE(controller().pending_entry());
EXPECT_EQ(controller().pending_entry_index(), -1);
@@ -913,7 +918,7 @@ TEST_F(NavigationControllerTest, PostThenRedirect) {
// First request as POST
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
controller().GetActiveEntry()->set_has_post_data(true);
EXPECT_EQ(0U, notifications.size());
@@ -923,7 +928,7 @@ TEST_F(NavigationControllerTest, PostThenRedirect) {
// Second request
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_TRUE(controller().pending_entry());
EXPECT_EQ(controller().pending_entry_index(), -1);
@@ -970,7 +975,7 @@ TEST_F(NavigationControllerTest, ImmediateRedirect) {
// First request
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_TRUE(controller().pending_entry());
EXPECT_EQ(controller().pending_entry_index(), -1);
@@ -1421,7 +1426,8 @@ TEST_F(NavigationControllerTest, EnforceMaxNavigationCount) {
for (url_index = 0; url_index < kMaxEntryCount; url_index++) {
GURL url(StringPrintf("http://www.a.com/%d", url_index));
controller().LoadURL(
- url, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url, content::Referrer(), content::PAGE_TRANSITION_TYPED,
+ std::string());
rvh()->SendNavigate(url_index, url);
}
@@ -1433,7 +1439,7 @@ TEST_F(NavigationControllerTest, EnforceMaxNavigationCount) {
// Navigate some more.
GURL url(StringPrintf("http://www.a.com/%d", url_index));
controller().LoadURL(
- url, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(url_index, url);
url_index++;
@@ -1451,7 +1457,8 @@ TEST_F(NavigationControllerTest, EnforceMaxNavigationCount) {
for (int i = 0; i < 3; i++) {
url = GURL(StringPrintf("http:////www.a.com/%d", url_index));
controller().LoadURL(
- url, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url, content::Referrer(), content::PAGE_TRANSITION_TYPED,
+ std::string());
rvh()->SendNavigate(url_index, url);
url_index++;
}
@@ -1601,13 +1608,13 @@ TEST_F(NavigationControllerTest, Interstitial) {
// First navigate somewhere normal.
const GURL url1("http://foo");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, url1);
// Now navigate somewhere with an interstitial.
const GURL url2("http://bar");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
controller().pending_entry()->set_page_type(content::PAGE_TYPE_INTERSTITIAL);
// At this point the interstitial will be displayed and the load will still
@@ -1630,19 +1637,19 @@ TEST_F(NavigationControllerTest, RemoveEntry) {
const GURL default_url("http://foo/default");
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, url1);
controller().LoadURL(
- url2, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(1, url2);
controller().LoadURL(
- url3, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url3, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(2, url3);
controller().LoadURL(
- url4, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url4, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(3, url4);
controller().LoadURL(
- url5, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url5, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(4, url5);
// Remove the last entry.
@@ -1654,8 +1661,8 @@ TEST_F(NavigationControllerTest, RemoveEntry) {
EXPECT_TRUE(pending_entry && pending_entry->url() == url4);
// Add a pending entry.
- controller().LoadURL(pending_url, GURL(), content::PAGE_TRANSITION_TYPED,
- std::string());
+ controller().LoadURL(pending_url, content::Referrer(),
+ content::PAGE_TRANSITION_TYPED, std::string());
// Now remove the last entry.
controller().RemoveEntryAtIndex(
controller().entry_count() - 1, default_url);
@@ -1698,10 +1705,10 @@ TEST_F(NavigationControllerTest, TransientEntry) {
const GURL transient_url("http://foo/transient");
controller().LoadURL(
- url0, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url0, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, url0);
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(1, url1);
notifications.Reset();
@@ -1727,7 +1734,7 @@ TEST_F(NavigationControllerTest, TransientEntry) {
// Navigate.
controller().LoadURL(
- url2, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(2, url2);
// We should have navigated, transient entry should be gone.
@@ -1746,7 +1753,7 @@ TEST_F(NavigationControllerTest, TransientEntry) {
// Initiate a navigation, add a transient then commit navigation.
controller().LoadURL(
- url4, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url4, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
transient_entry = new NavigationEntry;
transient_entry->set_url(transient_url);
controller().AddTransientEntry(transient_entry);
@@ -1829,15 +1836,16 @@ TEST_F(NavigationControllerTest, DontShowRendererURLUntilCommit) {
// For typed navigations (browser-initiated), both active and visible entries
// should update before commit.
- controller().LoadURL(url0, GURL(), content::PAGE_TRANSITION_TYPED,
- std::string());
+ controller().LoadURL(url0, content::Referrer(),
+ content::PAGE_TRANSITION_TYPED, std::string());
EXPECT_EQ(url0, controller().GetActiveEntry()->url());
EXPECT_EQ(url0, controller().GetVisibleEntry()->url());
rvh()->SendNavigate(0, url0);
// For link clicks (renderer-initiated navigations), the active entry should
// update before commit but the visible should not.
- controller().LoadURLFromRenderer(url1, GURL(), content::PAGE_TRANSITION_LINK,
+ controller().LoadURLFromRenderer(url1, content::Referrer(),
+ content::PAGE_TRANSITION_LINK,
std::string());
EXPECT_EQ(url1, controller().GetActiveEntry()->url());
EXPECT_EQ(url0, controller().GetVisibleEntry()->url());
@@ -1955,7 +1963,7 @@ TEST_F(NavigationControllerTest, SubframeWhilePending) {
// Now start a pending load to a totally different page, but don't commit it.
const GURL url2("http://bar/");
controller().LoadURL(
- url2, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url2, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
// Send a subframe update from the first page, as if one had just
// automatically loaded. Auto subframes don't increment the page ID.
@@ -2048,7 +2056,7 @@ TEST_F(NavigationControllerTest, CopyStateFromAndPrune3) {
scoped_ptr<TestTabContents> other_contents(CreateTestTabContents());
NavigationController& other_controller = other_contents->controller();
other_controller.LoadURL(
- url3, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url3, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
other_contents->ExpectSetHistoryLengthAndPrune(NULL, 1, -1);
other_controller.CopyStateFromAndPrune(&controller());
@@ -2185,10 +2193,10 @@ TEST_F(NavigationControllerTest, PruneAllButActiveForTransient) {
const GURL transient_url("http://foo/transient");
controller().LoadURL(
- url0, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url0, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(0, url0);
controller().LoadURL(
- url1, GURL(), content::PAGE_TRANSITION_TYPED, std::string());
+ url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string());
rvh()->SendNavigate(1, url1);
// Adding a transient with no pending entry.