Index: chrome/browser/sessions/session_restore_browsertest.cc |
diff --git a/chrome/browser/sessions/session_restore_browsertest.cc b/chrome/browser/sessions/session_restore_browsertest.cc |
index 9155f8237a6b875cdf2678f80e3ff7ed71aa1c4a..f17d9dbec015dd838d75de2e0da20652ae4110a7 100644 |
--- a/chrome/browser/sessions/session_restore_browsertest.cc |
+++ b/chrome/browser/sessions/session_restore_browsertest.cc |
@@ -392,6 +392,7 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignTab) { |
tab.pinned = false; |
tab.navigations.push_back(nav1); |
tab.navigations.push_back(nav2); |
+ tab.user_agent_override = "user_agent_override"; |
ASSERT_EQ(1, browser()->tab_count()); |
@@ -405,8 +406,9 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignTab) { |
observer.Wait(); |
} |
ASSERT_EQ(1, browser()->tab_count()); |
- VerifyNavigationEntries( |
- chrome::GetWebContentsAt(browser(), 0)->GetController(), url1, url2); |
+ content::WebContents* web_contents = chrome::GetWebContentsAt(browser(), 0); |
+ VerifyNavigationEntries(web_contents->GetController(), url1, url2); |
+ ASSERT_EQ(web_contents->GetUserAgentOverride(), tab.user_agent_override); |
sky
2012/08/14 00:05:46
flip the arguments here, 426 and 437.
gone
2012/08/14 01:03:22
Done.
|
// Restore in a new tab. |
{ |
@@ -419,8 +421,9 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignTab) { |
} |
ASSERT_EQ(2, browser()->tab_count()); |
ASSERT_EQ(0, browser()->active_index()); |
- VerifyNavigationEntries( |
- chrome::GetWebContentsAt(browser(), 1)->GetController(), url1, url2); |
+ web_contents = chrome::GetWebContentsAt(browser(), 1); |
+ VerifyNavigationEntries(web_contents->GetController(), url1, url2); |
+ ASSERT_EQ(web_contents->GetUserAgentOverride(), tab.user_agent_override); |
// Restore in a new window. |
ui_test_utils::BrowserAddedObserver browser_observer; |
@@ -429,8 +432,9 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignTab) { |
Browser* new_browser = browser_observer.WaitForSingleNewBrowser(); |
ASSERT_EQ(1, new_browser->tab_count()); |
- VerifyNavigationEntries( |
- chrome::GetWebContentsAt(new_browser, 0)->GetController(), url1, url2); |
+ web_contents = chrome::GetWebContentsAt(new_browser, 0); |
+ VerifyNavigationEntries(web_contents->GetController(), url1, url2); |
+ ASSERT_EQ(web_contents->GetUserAgentOverride(), tab.user_agent_override); |
} |
IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignSession) { |
@@ -442,6 +446,8 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignSession) { |
std::string(), content::PAGE_TRANSITION_TYPED); |
TabNavigation nav2(0, url2, content::Referrer(), ASCIIToUTF16("two"), |
std::string(), content::PAGE_TRANSITION_TYPED); |
+ nav1.set_is_overriding_user_agent(false); |
+ nav2.set_is_overriding_user_agent(true); |
// Set up the restore data -- one window with two tabs. |
std::vector<const SessionWindow*> session; |
@@ -451,6 +457,7 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignSession) { |
tab1.current_navigation_index = 0; |
tab1.pinned = true; |
tab1.navigations.push_back(nav1); |
+ tab1.user_agent_override = "user_agent_override"; |
window.tabs.push_back(&tab1); |
SessionTab tab2; |
@@ -458,6 +465,7 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignSession) { |
tab2.current_navigation_index = 0; |
tab2.pinned = false; |
tab2.navigations.push_back(nav2); |
+ tab2.user_agent_override = "user_agent_override_2"; |
window.tabs.push_back(&tab2); |
session.push_back(static_cast<const SessionWindow*>(&window)); |
@@ -469,8 +477,25 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, RestoreForeignSession) { |
ASSERT_EQ(2u, BrowserList::size()); |
ASSERT_EQ(2, new_browser->tab_count()); |
- ASSERT_EQ(url1, chrome::GetWebContentsAt(new_browser, 0)->GetURL()); |
- ASSERT_EQ(url2, chrome::GetWebContentsAt(new_browser, 1)->GetURL()); |
+ content::WebContents* web_contents_1 = |
+ chrome::GetWebContentsAt(new_browser, 0); |
+ content::WebContents* web_contents_2 = |
+ chrome::GetWebContentsAt(new_browser, 1); |
+ ASSERT_EQ(url1, web_contents_1->GetURL()); |
+ ASSERT_EQ(url2, web_contents_2->GetURL()); |
+ |
+ // Check user agent override state. |
+ ASSERT_EQ(tab1.user_agent_override, web_contents_1->GetUserAgentOverride()); |
+ ASSERT_EQ(tab2.user_agent_override, web_contents_2->GetUserAgentOverride()); |
+ |
+ content::NavigationEntry* entry = |
+ web_contents_1->GetController().GetActiveEntry(); |
+ ASSERT_TRUE(entry); |
+ ASSERT_EQ(nav1.is_overriding_user_agent(), entry->GetIsOverridingUserAgent()); |
+ |
+ entry = web_contents_2->GetController().GetActiveEntry(); |
+ ASSERT_TRUE(entry); |
+ ASSERT_EQ(nav2.is_overriding_user_agent(), entry->GetIsOverridingUserAgent()); |
// The SessionWindow destructor deletes the tabs, so we have to clear them |
// here to avoid a crash. |