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

Unified Diff: chrome/browser/sessions/session_restore_browsertest.cc

Issue 10850010: Make session restore understand that tabs have multiple SessionStorageNamespaces. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Unittest using jam's new PRE_ method Created 8 years, 4 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/sessions/session_restore_browsertest.cc
diff --git a/chrome/browser/sessions/session_restore_browsertest.cc b/chrome/browser/sessions/session_restore_browsertest.cc
index f6eceaf0a2a899be42c00bd7a574a891aff4f56b..37411ea2005e6d6e8f907eb2cc899de39c91f37c 100644
--- a/chrome/browser/sessions/session_restore_browsertest.cc
+++ b/chrome/browser/sessions/session_restore_browsertest.cc
@@ -773,19 +773,32 @@ IN_PROC_BROWSER_TEST_F(SessionRestoreTest, SessionStorage) {
ui_test_utils::NavigateToURL(browser(), url1_);
const content::NavigationController& controller =
chrome::GetActiveWebContents(browser())->GetController();
- ASSERT_TRUE(controller.GetSessionStorageNamespaceMap().find("")->second);
- std::string session_storage_persistent_id =
- controller.GetSessionStorageNamespaceMap().find("")
- ->second->persistent_id();
+ const content::SessionStorageNamespaceMap& session_storage_namspace_map =
+ controller.GetSessionStorageNamespaceMap();
Charlie Reis 2012/08/06 23:28:11 There will only be one in here, right? I guess th
awong 2012/08/07 00:38:48 Yes...I elected to do the integration-style test c
+ ASSERT_TRUE(!session_storage_namspace_map.empty());
+ std::map<std::string, std::string> expected_persistent_ids;
+ for (content::SessionStorageNamespaceMap::const_iterator it =
+ session_storage_namspace_map.begin();
+ it != session_storage_namspace_map.end();
+ ++it) {
+ expected_persistent_ids[it->first] = it->second->persistent_id();
+ }
+
Browser* new_browser = QuitBrowserAndRestore(browser(), 1);
ASSERT_EQ(1u, BrowserList::size());
ASSERT_EQ(url1_, chrome::GetActiveWebContents(new_browser)->GetURL());
+
const content::NavigationController& new_controller =
chrome::GetActiveWebContents(new_browser)->GetController();
- ASSERT_TRUE(new_controller.GetSessionStorageNamespaceMap().find("")->second);
- std::string restored_session_storage_persistent_id =
- new_controller.GetSessionStorageNamespaceMap().find("")
- ->second->persistent_id();
- EXPECT_EQ(session_storage_persistent_id,
- restored_session_storage_persistent_id);
+
+ const content::SessionStorageNamespaceMap& restored_storage_namespace_map =
+ new_controller.GetSessionStorageNamespaceMap();
+ ASSERT_TRUE(!restored_storage_namespace_map.empty());
+ for (content::SessionStorageNamespaceMap::const_iterator it =
+ restored_storage_namespace_map.begin();
+ it != restored_storage_namespace_map.end();
+ ++it) {
+ EXPECT_EQ(expected_persistent_ids[it->first], it->second->persistent_id())
+ << " for storage partition --" << it->first << "--";
Charlie Reis 2012/08/06 23:28:11 Why the dashes?
awong 2012/08/07 00:38:48 Cause the partition id is often the empty string.
+ }
}

Powered by Google App Engine
This is Rietveld 408576698