diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-05 20:29:53 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-05 20:29:53 +0000 |
commit | 0c79ef9a86139c00015a9621ac5ac4a048ce3c4a (patch) | |
tree | d3f25b04fb9c6190e0abd77c4189dddc3335c721 | |
parent | 7a6ac5e326a2523a6485aec9b0480ecb5eb3344f (diff) | |
download | chromium_src-0c79ef9a86139c00015a9621ac5ac4a048ce3c4a.zip chromium_src-0c79ef9a86139c00015a9621ac5ac4a048ce3c4a.tar.gz chromium_src-0c79ef9a86139c00015a9621ac5ac4a048ce3c4a.tar.bz2 |
Make TestTabContents::TestDidNavigate not take a ViewHostMsg_FrameNavigate_Params, since that's an internal content IPC struct.
BUG=98716
Review URL: http://codereview.chromium.org/8801003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113006 0039d316-1c4b-4281-b951-d872f2087c98
8 files changed, 123 insertions, 134 deletions
diff --git a/chrome/browser/chromeos/offline/offline_load_page_unittest.cc b/chrome/browser/chromeos/offline/offline_load_page_unittest.cc index cc1a182..c381266 100644 --- a/chrome/browser/chromeos/offline/offline_load_page_unittest.cc +++ b/chrome/browser/chromeos/offline/offline_load_page_unittest.cc @@ -8,7 +8,6 @@ #include "chrome/test/base/chrome_render_view_host_test_harness.h" #include "content/browser/tab_contents/navigation_entry.h" #include "content/browser/tab_contents/test_tab_contents.h" -#include "content/common/view_messages.h" #include "content/test/test_browser_thread.h" using content::BrowserThread; @@ -75,10 +74,9 @@ class OfflineLoadPageTest : public ChromeRenderViewHostTestHarness { } void Navigate(const char* url, int page_id) { - ViewHostMsg_FrameNavigate_Params params; - InitNavigateParams( - ¶ms, page_id, GURL(url), content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(contents()->render_view_host(), params); + contents()->TestDidNavigate( + contents()->render_view_host(), page_id, GURL(url), + content::PAGE_TRANSITION_TYPED); } void ShowInterstitial(const char* url) { diff --git a/chrome/browser/safe_browsing/browser_feature_extractor_unittest.cc b/chrome/browser/safe_browsing/browser_feature_extractor_unittest.cc index 3bc5a74..3adc68d 100644 --- a/chrome/browser/safe_browsing/browser_feature_extractor_unittest.cc +++ b/chrome/browser/safe_browsing/browser_feature_extractor_unittest.cc @@ -22,12 +22,13 @@ #include "chrome/test/base/testing_profile.h" #include "content/browser/tab_contents/tab_contents.h" #include "content/browser/tab_contents/test_tab_contents.h" -#include "content/common/view_messages.h" #include "content/public/common/page_transition_types.h" +#include "content/public/common/referrer.h" #include "content/test/test_browser_thread.h" #include "googleurl/src/gurl.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" +#include "third_party/WebKit/Source/WebKit/chromium/public/WebReferrerPolicy.h" using ::testing::Return; using ::testing::StrictMock; @@ -97,17 +98,14 @@ class BrowserFeatureExtractorTest : public ChromeRenderViewHostTestHarness { type, std::string()); static int page_id = 0; - ViewHostMsg_FrameNavigate_Params params; - InitNavigateParams(¶ms, ++page_id, url, type); - params.referrer = - content::Referrer(referrer, WebKit::WebReferrerPolicyDefault); - RenderViewHost* rvh = contents()->pending_rvh(); if (!rvh) { rvh = contents()->render_view_host(); } contents()->ProceedWithCrossSiteNavigation(); - contents()->TestDidNavigate(rvh, params); + contents()->TestDidNavigateWithReferrer( + rvh, ++page_id, url, + content::Referrer(referrer, WebKit::WebReferrerPolicyDefault), type); } bool ExtractFeatures(ClientPhishingRequest* request) { diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc index 10be2d4..1bf2e80 100644 --- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc +++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_unittest.cc @@ -11,7 +11,6 @@ #include "chrome/test/base/chrome_render_view_host_test_harness.h" #include "content/browser/tab_contents/navigation_entry.h" #include "content/browser/tab_contents/test_tab_contents.h" -#include "content/common/view_messages.h" #include "content/test/test_browser_thread.h" using content::BrowserThread; @@ -110,10 +109,9 @@ class SafeBrowsingBlockingPageTest : public ChromeRenderViewHostTestHarness, } void Navigate(const char* url, int page_id) { - ViewHostMsg_FrameNavigate_Params params; - InitNavigateParams( - ¶ms, page_id, GURL(url), content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(contents()->render_view_host(), params); + contents()->TestDidNavigate( + contents()->render_view_host(), page_id, GURL(url), + content::PAGE_TRANSITION_TYPED); } void GoBackCrossSite() { @@ -122,10 +120,9 @@ class SafeBrowsingBlockingPageTest : public ChromeRenderViewHostTestHarness, contents()->controller().GoBack(); // The navigation should commit in the pending RVH. - ViewHostMsg_FrameNavigate_Params params; - InitNavigateParams(¶ms, entry->page_id(), GURL(entry->url()), - content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(contents()->pending_rvh(), params); + contents()->TestDidNavigate( + contents()->pending_rvh(), entry->page_id(), GURL(entry->url()), + content::PAGE_TRANSITION_TYPED); } void ShowInterstitial(bool is_subresource, const char* url) { diff --git a/chrome/browser/tab_contents/web_contents_unittest.cc b/chrome/browser/tab_contents/web_contents_unittest.cc index 5722e5e..5228c20 100644 --- a/chrome/browser/tab_contents/web_contents_unittest.cc +++ b/chrome/browser/tab_contents/web_contents_unittest.cc @@ -4,19 +4,15 @@ #include "base/logging.h" #include "base/utf_string_conversions.h" -#include "chrome/browser/dom_operation_notification_details.h" #include "chrome/browser/prefs/pref_service.h" -#include "chrome/browser/tab_contents/chrome_interstitial_page.h" -#include "chrome/common/chrome_notification_types.h" #include "chrome/common/pref_names.h" -#include "chrome/common/render_messages.h" -#include "chrome/common/url_constants.h" #include "chrome/test/base/chrome_render_view_host_test_harness.h" #include "chrome/test/base/testing_pref_service.h" #include "chrome/test/base/testing_profile.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/renderer_host/render_widget_host_view.h" #include "content/browser/site_instance.h" +#include "content/browser/tab_contents/interstitial_page.h" #include "content/browser/tab_contents/navigation_details.h" #include "content/browser/tab_contents/navigation_entry.h" #include "content/browser/tab_contents/test_tab_contents.h" @@ -26,6 +22,7 @@ #include "content/public/browser/notification_source.h" #include "content/public/common/bindings_policy.h" #include "content/public/common/content_constants.h" +#include "content/public/common/url_constants.h" #include "content/test/test_browser_thread.h" #include "testing/gtest/include/gtest/gtest.h" #include "ui/base/message_box_flags.h" @@ -34,7 +31,7 @@ using content::BrowserThread; using webkit_glue::PasswordForm; -class TestInterstitialPage : public ChromeInterstitialPage { +class TestInterstitialPage : public InterstitialPage { public: enum InterstitialState { UNDECIDED = 0, // No decision taken yet. @@ -65,7 +62,7 @@ class TestInterstitialPage : public ChromeInterstitialPage { const GURL& url, InterstitialState* state, bool* deleted) - : ChromeInterstitialPage(tab, new_navigation, url), + : InterstitialPage(tab, new_navigation, url), state_(state), deleted_(deleted), command_received_count_(0), @@ -97,10 +94,8 @@ class TestInterstitialPage : public ChromeInterstitialPage { } void TestDomOperationResponse(const std::string& json_string) { - DomOperationNotificationDetails details(json_string, 1); - Observe(chrome::NOTIFICATION_DOM_OPERATION_RESPONSE, - content::Source<RenderViewHost>(render_view_host()), - content::Details<DomOperationNotificationDetails>(&details)); + if (enabled()) + CommandReceived(json_string); } void TestDidNavigate(int page_id, const GURL& url) { @@ -181,7 +176,7 @@ class TabContentsTest : public ChromeRenderViewHostTestHarness { // is not supposed to overwrite a profile if it's already created. virtual void SetUp() { ChromeRenderViewHostTestHarness::SetUp(); - +/* // Set some (WebKit) user preferences. TestingPrefService* pref_services = profile()->GetTestingPrefService(); #if defined(TOOLKIT_USES_GTK) @@ -197,7 +192,7 @@ class TabContentsTest : public ChromeRenderViewHostTestHarness { pref_services->SetUserPref(prefs::kWebKitUsesUniversalDetector, Value::CreateBooleanValue(true)); pref_services->SetUserPref("webkit.webprefs.foo", - Value::CreateStringValue("bar")); + Value::CreateStringValue("bar"));*/ } content::TestBrowserThread ui_thread_; @@ -257,9 +252,7 @@ TEST_F(TabContentsTest, SimpleNavigation) { EXPECT_TRUE(controller().GetActiveEntry()->site_instance() == NULL); // DidNavigate from the page - ViewHostMsg_FrameNavigate_Params params; - InitNavigateParams(¶ms, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); EXPECT_EQ(instance1, orig_rvh->site_instance()); @@ -293,9 +286,7 @@ TEST_F(TabContentsTest, CrossSiteBoundaries) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); @@ -315,9 +306,8 @@ TEST_F(TabContentsTest, CrossSiteBoundaries) { EXPECT_FALSE(pending_rvh->are_navigations_suspended()); // DidNavigate from the pending page - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 1, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(pending_rvh, params2); + contents()->TestDidNavigate( + pending_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); SiteInstance* instance2 = contents()->GetSiteInstance(); EXPECT_FALSE(contents()->cross_navigation_pending()); @@ -342,7 +332,8 @@ TEST_F(TabContentsTest, CrossSiteBoundaries) { EXPECT_FALSE(goback_rvh->are_navigations_suspended()); // DidNavigate from the back action - contents()->TestDidNavigate(goback_rvh, params1); + contents()->TestDidNavigate( + goback_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(goback_rvh, contents()->render_view_host()); EXPECT_EQ(instance1, contents()->GetSiteInstance()); @@ -370,9 +361,7 @@ TEST_F(TabContentsTest, CrossSiteBoundariesAfterCrash) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); @@ -391,9 +380,7 @@ TEST_F(TabContentsTest, CrossSiteBoundariesAfterCrash) { EXPECT_EQ(orig_rvh_delete_count, 1); // DidNavigate from the new page - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 1, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(new_rvh, params2); + contents()->TestDidNavigate(new_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); SiteInstance* instance2 = contents()->GetSiteInstance(); EXPECT_FALSE(contents()->cross_navigation_pending()); @@ -417,20 +404,18 @@ TEST_F(TabContentsTest, NavigateTwoTabsCrossSite) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); // Open a new tab with the same SiteInstance, navigated to the same site. TestTabContents contents2(profile(), instance1); - params1.page_id = 2; // Need this since the site instance is the same (which - // is the scope of page IDs) and we want to consider - // this a new page. contents2.transition_cross_site = true; contents2.controller().LoadURL(url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - contents2.TestDidNavigate(contents2.render_view_host(), params1); + // Need this page id to be 2 since the site instance is the same (which is the + // scope of page IDs) and we want to consider this a new page. + contents2.TestDidNavigate( + contents2.render_view_host(), 2, url, content::PAGE_TRANSITION_TYPED); // Navigate first tab to a new site const GURL url2a("http://www.yahoo.com"); @@ -439,9 +424,8 @@ TEST_F(TabContentsTest, NavigateTwoTabsCrossSite) { std::string()); orig_rvh->SendShouldCloseACK(true); TestRenderViewHost* pending_rvh_a = contents()->pending_rvh(); - ViewHostMsg_FrameNavigate_Params params2a; - InitNavigateParams(¶ms2a, 1, url2a, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(pending_rvh_a, params2a); + contents()->TestDidNavigate( + pending_rvh_a, 1, url2a, content::PAGE_TRANSITION_TYPED); SiteInstance* instance2a = contents()->GetSiteInstance(); EXPECT_NE(instance1, instance2a); @@ -460,10 +444,8 @@ TEST_F(TabContentsTest, NavigateTwoTabsCrossSite) { // NOTE(creis): We used to be in danger of showing a sad tab page here if the // second tab hadn't navigated somewhere first (bug 1145430). That case is // now covered by the CrossSiteBoundariesAfterCrash test. - - ViewHostMsg_FrameNavigate_Params params2b; - InitNavigateParams(¶ms2b, 2, url2b, content::PAGE_TRANSITION_TYPED); - contents2.TestDidNavigate(pending_rvh_b, params2b); + contents2.TestDidNavigate( + pending_rvh_b, 2, url2b, content::PAGE_TRANSITION_TYPED); SiteInstance* instance2b = contents2.GetSiteInstance(); EXPECT_NE(instance1, instance2b); @@ -482,9 +464,8 @@ TEST_F(TabContentsTest, CrossSiteComparesAgainstCurrentPage) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate( + orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); // Open a related tab to a second site. TestTabContents contents2(profile(), instance1); @@ -498,18 +479,15 @@ TEST_F(TabContentsTest, CrossSiteComparesAgainstCurrentPage) { TestRenderViewHost* rvh2 = static_cast<TestRenderViewHost*>( contents2.render_view_host()); EXPECT_FALSE(contents2.cross_navigation_pending()); - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 2, url2, content::PAGE_TRANSITION_TYPED); - contents2.TestDidNavigate(rvh2, params2); + contents2.TestDidNavigate(rvh2, 2, url2, content::PAGE_TRANSITION_TYPED); SiteInstance* instance2 = contents2.GetSiteInstance(); EXPECT_NE(instance1, instance2); EXPECT_FALSE(contents2.cross_navigation_pending()); // Simulate a link click in first tab to second site. Doesn't switch // SiteInstances, because we don't intercept WebKit navigations. - ViewHostMsg_FrameNavigate_Params params3; - InitNavigateParams(¶ms3, 2, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params3); + contents()->TestDidNavigate( + orig_rvh, 2, url2, content::PAGE_TRANSITION_TYPED); SiteInstance* instance3 = contents()->GetSiteInstance(); EXPECT_EQ(instance1, instance3); EXPECT_FALSE(contents()->cross_navigation_pending()); @@ -520,9 +498,8 @@ TEST_F(TabContentsTest, CrossSiteComparesAgainstCurrentPage) { controller().LoadURL( url3, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); EXPECT_FALSE(contents()->cross_navigation_pending()); - ViewHostMsg_FrameNavigate_Params params4; - InitNavigateParams(¶ms4, 3, url3, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params4); + contents()->TestDidNavigate( + orig_rvh, 3, url3, content::PAGE_TRANSITION_TYPED); SiteInstance* instance4 = contents()->GetSiteInstance(); EXPECT_EQ(instance1, instance4); } @@ -538,9 +515,7 @@ TEST_F(TabContentsTest, CrossSiteUnloadHandlers) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); @@ -569,9 +544,8 @@ TEST_F(TabContentsTest, CrossSiteUnloadHandlers) { // TabContents::OnCrossSiteResponse.) // DidNavigate from the pending page - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 1, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(pending_rvh, params2); + contents()->TestDidNavigate( + pending_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); SiteInstance* instance2 = contents()->GetSiteInstance(); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(pending_rvh, rvh()); @@ -591,9 +565,7 @@ TEST_F(TabContentsTest, CrossSiteNavigationPreempted) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); @@ -625,9 +597,7 @@ TEST_F(TabContentsTest, CrossSiteNavigationBackPreempted) { controller().LoadURL( url1, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); TestRenderViewHost* ntp_rvh = rvh(); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url1, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(ntp_rvh, params1); + contents()->TestDidNavigate(ntp_rvh, 1, url1, content::PAGE_TRANSITION_TYPED); NavigationEntry* entry1 = controller().GetLastCommittedEntry(); SiteInstance* instance1 = contents()->GetSiteInstance(); @@ -649,9 +619,8 @@ TEST_F(TabContentsTest, CrossSiteNavigationBackPreempted) { ntp_rvh->TestOnMessageReceived(ViewHostMsg_ShouldClose_ACK(0, true)); // DidNavigate from the pending page. - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 1, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(google_rvh, params2); + contents()->TestDidNavigate( + google_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); NavigationEntry* entry2 = controller().GetLastCommittedEntry(); SiteInstance* instance2 = contents()->GetSiteInstance(); @@ -669,9 +638,8 @@ TEST_F(TabContentsTest, CrossSiteNavigationBackPreempted) { controller().LoadURL( url3, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); EXPECT_FALSE(contents()->cross_navigation_pending()); - ViewHostMsg_FrameNavigate_Params params3; - InitNavigateParams(¶ms3, 2, url3, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(google_rvh, params3); + contents()->TestDidNavigate( + google_rvh, 2, url3, content::PAGE_TRANSITION_TYPED); NavigationEntry* entry3 = controller().GetLastCommittedEntry(); SiteInstance* instance3 = contents()->GetSiteInstance(); @@ -698,7 +666,8 @@ TEST_F(TabContentsTest, CrossSiteNavigationBackPreempted) { google_rvh->TestOnMessageReceived(ViewHostMsg_ShouldClose_ACK(0, true)); // DidNavigate from the first back. This aborts the second back's pending RVH. - contents()->TestDidNavigate(google_rvh, params2); + contents()->TestDidNavigate( + google_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); // We should commit this page and forget about the second back. EXPECT_FALSE(contents()->cross_navigation_pending()); @@ -723,9 +692,7 @@ TEST_F(TabContentsTest, CrossSiteNavigationNotPreemptedByFrame) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); @@ -778,9 +745,8 @@ TEST_F(TabContentsTest, CrossSiteNotPreemptedDuringBeforeUnload) { EXPECT_FALSE(orig_rvh->is_waiting_for_beforeunload_ack()); // The pending navigation should be able to commit successfully. - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 1, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(pending_rvh, params2); + contents()->TestDidNavigate( + pending_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(pending_rvh, contents()->render_view_host()); } @@ -798,9 +764,7 @@ TEST_F(TabContentsTest, CrossSiteCantPreemptAfterUnload) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); @@ -831,9 +795,8 @@ TEST_F(TabContentsTest, CrossSiteCantPreemptAfterUnload) { EXPECT_TRUE(contents()->pending_rvh() != NULL); // DidNavigate from the pending page should commit it. - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 1, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(pending_rvh, params2); + contents()->TestDidNavigate( + pending_rvh, 1, url2, content::PAGE_TRANSITION_TYPED); SiteInstance* instance2 = contents()->GetSiteInstance(); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(pending_rvh, rvh()); @@ -852,9 +815,7 @@ TEST_F(TabContentsTest, CrossSiteNavigationCanceled) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(orig_rvh, contents()->render_view_host()); @@ -898,9 +859,7 @@ TEST_F(TabContentsTest, NavigationEntryContentState) { EXPECT_TRUE(entry == NULL); // Committed entry should have content state after DidNavigate. - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); entry = controller().GetLastCommittedEntry(); EXPECT_FALSE(entry->content_state().empty()); @@ -912,15 +871,14 @@ TEST_F(TabContentsTest, NavigationEntryContentState) { EXPECT_FALSE(entry->content_state().empty()); // Committed entry should have content state after DidNavigate. - ViewHostMsg_FrameNavigate_Params params2; - InitNavigateParams(¶ms2, 2, url2, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params2); + contents()->TestDidNavigate( + orig_rvh, 2, url2, content::PAGE_TRANSITION_TYPED); entry = controller().GetLastCommittedEntry(); EXPECT_FALSE(entry->content_state().empty()); // Now go back. Committed entry should still have content state. controller().GoBack(); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); entry = controller().GetLastCommittedEntry(); EXPECT_FALSE(entry->content_state().empty()); } @@ -933,10 +891,8 @@ TEST_F(TabContentsTest, NavigationEntryContentStateNewWindow) { // When opening a new window, it is navigated to about:blank internally. // Currently, this results in two DidNavigate events. const GURL url(chrome::kAboutBlankURL); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(orig_rvh, params1); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); + contents()->TestDidNavigate(orig_rvh, 1, url, content::PAGE_TRANSITION_TYPED); // Should have a content state here. NavigationEntry* entry = controller().GetLastCommittedEntry(); @@ -1703,9 +1659,7 @@ TEST_F(TabContentsTest, NoJSMessageOnInterstitials) { kGURL, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); // DidNavigate from the page - ViewHostMsg_FrameNavigate_Params params; - InitNavigateParams(¶ms, 1, kGURL, content::PAGE_TRANSITION_TYPED); - contents()->TestDidNavigate(rvh(), params); + contents()->TestDidNavigate(rvh(), 1, kGURL, content::PAGE_TRANSITION_TYPED); // Simulate showing an interstitial while the page is showing. TestInterstitialPage::InterstitialState state = diff --git a/content/browser/debugger/devtools_manager_unittest.cc b/content/browser/debugger/devtools_manager_unittest.cc index 41618b5..2991741 100644 --- a/content/browser/debugger/devtools_manager_unittest.cc +++ b/content/browser/debugger/devtools_manager_unittest.cc @@ -218,10 +218,7 @@ TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { const GURL url("http://www.google.com"); controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - ViewHostMsg_FrameNavigate_Params params1; - InitNavigateParams(¶ms1, 1, url, content::PAGE_TRANSITION_TYPED); - TestRenderViewHost* orig_rvh = rvh(); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(rvh(), 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); TestDevToolsClientHost client_host; @@ -241,7 +238,7 @@ TEST_F(DevToolsManagerTest, ReattachOnCancelPendingNavigation) { // Interrupt pending navigation and navigate back to the original site. controller().LoadURL( url, content::Referrer(), content::PAGE_TRANSITION_TYPED, std::string()); - contents()->TestDidNavigate(orig_rvh, params1); + contents()->TestDidNavigate(rvh(), 1, url, content::PAGE_TRANSITION_TYPED); EXPECT_FALSE(contents()->cross_navigation_pending()); EXPECT_EQ(&client_host, devtools_manager->GetDevToolsClientHostFor( DevToolsAgentHostRegistry::GetDevToolsAgentHost(rvh()))); diff --git a/content/browser/tab_contents/render_view_host_manager_unittest.cc b/content/browser/tab_contents/render_view_host_manager_unittest.cc index b12b3ea..0d0c02d 100644 --- a/content/browser/tab_contents/render_view_host_manager_unittest.cc +++ b/content/browser/tab_contents/render_view_host_manager_unittest.cc @@ -595,7 +595,7 @@ TEST_F(RenderViewHostManagerTest, PageDoesBackAndReload) { params.was_within_same_page = false; params.is_post = false; params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(kUrl2)); - contents()->TestDidNavigate(evil_rvh, params); + contents()->DidNavigate(evil_rvh, params); // That should have cancelled the pending RVH, and the evil RVH should be the // current one. diff --git a/content/browser/tab_contents/test_tab_contents.cc b/content/browser/tab_contents/test_tab_contents.cc index 95a3c59..52c0cb0 100644 --- a/content/browser/tab_contents/test_tab_contents.cc +++ b/content/browser/tab_contents/test_tab_contents.cc @@ -11,7 +11,10 @@ #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/renderer_host/test_render_view_host.h" #include "content/browser/site_instance.h" +#include "content/common/view_messages.h" #include "content/public/common/page_transition_types.h" +#include "webkit/glue/password_form.h" +#include "webkit/glue/webkit_glue.h" TestTabContents::TestTabContents(content::BrowserContext* browser_context, SiteInstance* instance) @@ -32,6 +35,43 @@ TestRenderViewHost* TestTabContents::pending_rvh() const { render_manager_.pending_render_view_host_); } +void TestTabContents::TestDidNavigate(RenderViewHost* render_view_host, + int page_id, + const GURL& url, + content::PageTransition transition) { + TestDidNavigateWithReferrer(render_view_host, + page_id, + url, + content::Referrer(), + transition); +} + +void TestTabContents::TestDidNavigateWithReferrer( + RenderViewHost* render_view_host, + int page_id, + const GURL& url, + const content::Referrer& referrer, + content::PageTransition transition) { + ViewHostMsg_FrameNavigate_Params params; + + params.page_id = page_id; + params.url = url; + params.referrer = referrer; + params.transition = transition; + params.redirects = std::vector<GURL>(); + params.should_update_history = false; + params.searchable_form_url = GURL(); + params.searchable_form_encoding = std::string(); + params.password_form = webkit_glue::PasswordForm(); + params.security_info = std::string(); + params.gesture = NavigationGestureUser; + params.was_within_same_page = false; + params.is_post = false; + params.content_state = webkit_glue::CreateHistoryStateForURL(GURL(url)); + + DidNavigate(render_view_host, params); +} + bool TestTabContents::CreateRenderViewForRenderManager( RenderViewHost* render_view_host) { // This will go to a TestRenderViewHost. diff --git a/content/browser/tab_contents/test_tab_contents.h b/content/browser/tab_contents/test_tab_contents.h index 72170ab..b6d8342 100644 --- a/content/browser/tab_contents/test_tab_contents.h +++ b/content/browser/tab_contents/test_tab_contents.h @@ -7,6 +7,7 @@ #pragma once #include "content/browser/tab_contents/tab_contents.h" +#include "content/public/common/page_transition_types.h" #include "webkit/glue/webpreferences.h" class TestRenderViewHost; @@ -30,11 +31,15 @@ class TestTabContents : public TabContents { // alternatives without using command-line switches. bool ShouldTransitionCrossSite() { return transition_cross_site; } - // Promote DidNavigate to public. void TestDidNavigate(RenderViewHost* render_view_host, - const ViewHostMsg_FrameNavigate_Params& params) { - DidNavigate(render_view_host, params); - } + int page_id, + const GURL& url, + content::PageTransition transition); + void TestDidNavigateWithReferrer(RenderViewHost* render_view_host, + int page_id, + const GURL& url, + const content::Referrer& referrer, + content::PageTransition transition); // Promote GetWebkitPrefs to public. WebPreferences TestGetWebkitPrefs() { |