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

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

Issue 9359022: Aura: Support hovering restore & close buttons for full screen apps (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix browser_test Created 8 years, 10 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
« no previous file with comments | « chrome/browser/sessions/session_service.cc ('k') | chrome/browser/sessions/session_types.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sessions/session_service_unittest.cc
diff --git a/chrome/browser/sessions/session_service_unittest.cc b/chrome/browser/sessions/session_service_unittest.cc
index 38a13035e31b6178ebd21cac3691306fe7fcaebf..e25b83b488f88bd0376843f80579688b1b4d70e0 100644
--- a/chrome/browser/sessions/session_service_unittest.cc
+++ b/chrome/browser/sessions/session_service_unittest.cc
@@ -48,7 +48,8 @@ class SessionServiceTest : public BrowserWithTestWindowTest,
SessionService* session_service = new SessionService(path_);
helper_.set_service(session_service);
- service()->SetWindowType(window_id, Browser::TYPE_TABBED);
+ service()->SetWindowType(
+ window_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL);
service()->SetWindowBounds(window_id,
window_bounds,
ui::SHOW_STATE_NORMAL);
@@ -275,7 +276,8 @@ TEST_F(SessionServiceTest, TwoWindows) {
UpdateNavigation(window_id, tab1_id, nav1, 0, true);
const gfx::Rect window2_bounds(3, 4, 5, 6);
- service()->SetWindowType(window2_id, Browser::TYPE_TABBED);
+ service()->SetWindowType(
+ window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL);
service()->SetWindowBounds(window2_id,
window2_bounds,
ui::SHOW_STATE_MAXIMIZED);
@@ -329,7 +331,8 @@ TEST_F(SessionServiceTest, WindowWithNoTabsGetsPruned) {
UpdateNavigation(window_id, tab1_id, nav1, 0, true);
const gfx::Rect window2_bounds(3, 4, 5, 6);
- service()->SetWindowType(window2_id, Browser::TYPE_TABBED);
+ service()->SetWindowType(
+ window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL);
service()->SetWindowBounds(window2_id,
window2_bounds,
ui::SHOW_STATE_NORMAL);
@@ -391,7 +394,8 @@ TEST_F(SessionServiceTest, WindowCloseCommittedAfterNavigate) {
SessionID tab2_id;
ASSERT_NE(window2_id.id(), window_id.id());
- service()->SetWindowType(window2_id, Browser::TYPE_TABBED);
+ service()->SetWindowType(
+ window2_id, Browser::TYPE_TABBED, SessionService::TYPE_NORMAL);
service()->SetWindowBounds(window2_id,
window_bounds,
ui::SHOW_STATE_NORMAL);
@@ -436,7 +440,8 @@ TEST_F(SessionServiceTest, IgnorePopups) {
SessionID tab2_id;
ASSERT_NE(window2_id.id(), window_id.id());
- service()->SetWindowType(window2_id, Browser::TYPE_POPUP);
+ service()->SetWindowType(
+ window2_id, Browser::TYPE_POPUP, SessionService::TYPE_NORMAL);
service()->SetWindowBounds(window2_id,
window_bounds,
ui::SHOW_STATE_NORMAL);
@@ -477,7 +482,8 @@ TEST_F(SessionServiceTest, RestorePopup) {
SessionID tab2_id;
ASSERT_NE(window2_id.id(), window_id.id());
- service()->SetWindowType(window2_id, Browser::TYPE_POPUP);
+ service()->SetWindowType(
+ window2_id, Browser::TYPE_POPUP, SessionService::TYPE_NORMAL);
service()->SetWindowBounds(window2_id,
window_bounds,
ui::SHOW_STATE_NORMAL);
@@ -519,6 +525,61 @@ TEST_F(SessionServiceTest, RestorePopup) {
helper_.AssertNavigationEquals(nav2, tab->navigations[0]);
}
+#if defined (USE_AURA)
+// Makes sure we track apps. Only applicable on aura.
+TEST_F(SessionServiceTest, RestoreApp) {
+ SessionID window2_id;
+ SessionID tab_id;
+ SessionID tab2_id;
+ ASSERT_NE(window2_id.id(), window_id.id());
+
+ service()->SetWindowType(
+ window2_id, Browser::TYPE_POPUP, SessionService::TYPE_APP);
+ service()->SetWindowBounds(window2_id,
+ window_bounds,
+ ui::SHOW_STATE_NORMAL);
+ service()->SetWindowAppName(window2_id, "TestApp");
+
+ TabNavigation nav1(0, GURL("http://google.com"), content::Referrer(),
+ ASCIIToUTF16("abc"), "def",
+ content::PAGE_TRANSITION_QUALIFIER_MASK);
+ TabNavigation nav2(0, GURL("http://google2.com"), content::Referrer(),
+ ASCIIToUTF16("abcd"), "defg",
+ content::PAGE_TRANSITION_AUTO_BOOKMARK);
+
+ helper_.PrepareTabInWindow(window_id, tab_id, 0, true);
+ UpdateNavigation(window_id, tab_id, nav1, 0, true);
+
+ helper_.PrepareTabInWindow(window2_id, tab2_id, 0, false);
+ UpdateNavigation(window2_id, tab2_id, nav2, 0, true);
+
+ ScopedVector<SessionWindow> windows;
+ ReadWindows(&(windows.get()));
+
+ ASSERT_EQ(2U, windows->size());
+ int tabbed_index = windows[0]->type == Browser::TYPE_TABBED ?
+ 0 : 1;
+ int app_index = tabbed_index == 0 ? 1 : 0;
+ ASSERT_EQ(0, windows[tabbed_index]->selected_tab_index);
+ ASSERT_EQ(window_id.id(), windows[tabbed_index]->window_id.id());
+ ASSERT_EQ(1U, windows[tabbed_index]->tabs.size());
+
+ SessionTab* tab = windows[tabbed_index]->tabs[0];
+ helper_.AssertTabEquals(window_id, tab_id, 0, 0, 1, *tab);
+ helper_.AssertNavigationEquals(nav1, tab->navigations[0]);
+
+ ASSERT_EQ(0, windows[app_index]->selected_tab_index);
+ ASSERT_EQ(window2_id.id(), windows[app_index]->window_id.id());
+ ASSERT_EQ(1U, windows[app_index]->tabs.size());
+ ASSERT_EQ(1U, windows[app_index]->type == Browser::TYPE_POPUP);
+ ASSERT_EQ("TestApp", windows[app_index]->app_name);
+
+ tab = windows[app_index]->tabs[0];
+ helper_.AssertTabEquals(window2_id, tab2_id, 0, 0, 1, *tab);
+ helper_.AssertNavigationEquals(nav2, tab->navigations[0]);
+}
+#endif
+
// Tests pruning from the front.
TEST_F(SessionServiceTest, PruneFromFront) {
const std::string base_url("http://google.com/");
« no previous file with comments | « chrome/browser/sessions/session_service.cc ('k') | chrome/browser/sessions/session_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698