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

Side by Side Diff: chrome/browser/sessions/session_restore_browsertest_chromeos.cc

Issue 2685333005: ash: fix regression where ctrl+n put new window on wrong desktop (Closed)
Patch Set: Rebase to ToT Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 6
7 #include <list> 7 #include <list>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 browser_list_.erase(iter); 62 browser_list_.erase(iter);
63 return true; 63 return true;
64 } 64 }
65 } 65 }
66 return false; 66 return false;
67 } 67 }
68 68
69 Browser::CreateParams CreateParamsForApp(const std::string name, 69 Browser::CreateParams CreateParamsForApp(const std::string name,
70 bool trusted) { 70 bool trusted) {
71 return Browser::CreateParams::CreateForApp(name, trusted, gfx::Rect(), 71 return Browser::CreateParams::CreateForApp(name, trusted, gfx::Rect(),
72 profile()); 72 profile(), true);
73 } 73 }
74 74
75 // Turn on session restore before we restart. 75 // Turn on session restore before we restart.
76 void TurnOnSessionRestore() { 76 void TurnOnSessionRestore() {
77 SessionStartupPref::SetStartupPref( 77 SessionStartupPref::SetStartupPref(
78 browser()->profile(), SessionStartupPref(SessionStartupPref::LAST)); 78 browser()->profile(), SessionStartupPref(SessionStartupPref::LAST));
79 } 79 }
80 80
81 Profile* profile() { return browser()->profile(); } 81 Profile* profile() { return browser()->profile(); }
82 82
83 std::list<Browser*> browser_list_; 83 std::list<Browser*> browser_list_;
84 }; 84 };
85 85
86 // Thse tests are in pairs. The PRE_ test creates some browser windows and 86 // Thse tests are in pairs. The PRE_ test creates some browser windows and
87 // the following test confirms that the correct windows are restored after a 87 // the following test confirms that the correct windows are restored after a
88 // restart. 88 // restart.
89 89
90 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, PRE_RestoreBrowserWindows) { 90 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, PRE_RestoreBrowserWindows) {
91 // One browser window is always created by default. 91 // One browser window is always created by default.
92 EXPECT_TRUE(browser()); 92 EXPECT_TRUE(browser());
93 // Create a second normal browser window. 93 // Create a second normal browser window.
94 CreateBrowserWithParams(Browser::CreateParams(profile())); 94 CreateBrowserWithParams(Browser::CreateParams(profile(), true));
95 // Create a third incognito browser window which should not get restored. 95 // Create a third incognito browser window which should not get restored.
96 CreateBrowserWithParams( 96 CreateBrowserWithParams(
97 Browser::CreateParams(profile()->GetOffTheRecordProfile())); 97 Browser::CreateParams(profile()->GetOffTheRecordProfile(), true));
98 TurnOnSessionRestore(); 98 TurnOnSessionRestore();
99 } 99 }
100 100
101 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, RestoreBrowserWindows) { 101 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, RestoreBrowserWindows) {
102 size_t total_count = 0; 102 size_t total_count = 0;
103 size_t incognito_count = 0; 103 size_t incognito_count = 0;
104 for (auto* browser : *BrowserList::GetInstance()) { 104 for (auto* browser : *BrowserList::GetInstance()) {
105 ++total_count; 105 ++total_count;
106 if (browser->profile()->IsOffTheRecord()) 106 if (browser->profile()->IsOffTheRecord())
107 ++incognito_count; 107 ++incognito_count;
(...skipping 27 matching lines...) Expand all
135 } 135 }
136 EXPECT_EQ(1u, app1_count); 136 EXPECT_EQ(1u, app1_count);
137 EXPECT_EQ(2u, app2_count); // Only the trusted app windows are restored. 137 EXPECT_EQ(2u, app2_count); // Only the trusted app windows are restored.
138 EXPECT_EQ(4u, total_count); // Default browser() + 3 app windows 138 EXPECT_EQ(4u, total_count); // Default browser() + 3 app windows
139 } 139 }
140 140
141 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, PRE_RestoreMaximized) { 141 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, PRE_RestoreMaximized) {
142 // One browser window is always created by default. 142 // One browser window is always created by default.
143 ASSERT_TRUE(browser()); 143 ASSERT_TRUE(browser());
144 // Create a second browser window and maximize it. 144 // Create a second browser window and maximize it.
145 Browser* browser2 = CreateBrowserWithParams(Browser::CreateParams(profile())); 145 Browser* browser2 =
146 CreateBrowserWithParams(Browser::CreateParams(profile(), true));
146 browser2->window()->Maximize(); 147 browser2->window()->Maximize();
147 148
148 // Create two app popup windows and maximize the second one. 149 // Create two app popup windows and maximize the second one.
149 Browser* app_browser1 = 150 Browser* app_browser1 =
150 CreateBrowserWithParams(CreateParamsForApp(test_app_popup_name1, true)); 151 CreateBrowserWithParams(CreateParamsForApp(test_app_popup_name1, true));
151 Browser* app_browser2 = 152 Browser* app_browser2 =
152 CreateBrowserWithParams(CreateParamsForApp(test_app_popup_name1, true)); 153 CreateBrowserWithParams(CreateParamsForApp(test_app_popup_name1, true));
153 app_browser2->window()->Maximize(); 154 app_browser2->window()->Maximize();
154 155
155 EXPECT_FALSE(browser()->window()->IsMaximized()); 156 EXPECT_FALSE(browser()->window()->IsMaximized());
(...skipping 15 matching lines...) Expand all
171 EXPECT_EQ(4u, total_count); 172 EXPECT_EQ(4u, total_count);
172 EXPECT_EQ(2u, maximized_count); 173 EXPECT_EQ(2u, maximized_count);
173 } 174 }
174 175
175 // Test for crash when restoring minimized windows. http://crbug.com/679513. 176 // Test for crash when restoring minimized windows. http://crbug.com/679513.
176 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, PRE_RestoreMinimized) { 177 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, PRE_RestoreMinimized) {
177 // One browser window is always created by default. 178 // One browser window is always created by default.
178 ASSERT_TRUE(browser()); 179 ASSERT_TRUE(browser());
179 browser()->window()->Minimize(); 180 browser()->window()->Minimize();
180 181
181 Browser* browser2 = CreateBrowserWithParams(Browser::CreateParams(profile())); 182 Browser* browser2 =
183 CreateBrowserWithParams(Browser::CreateParams(profile(), true));
182 browser2->window()->Minimize(); 184 browser2->window()->Minimize();
183 185
184 EXPECT_TRUE(browser()->window()->IsMinimized()); 186 EXPECT_TRUE(browser()->window()->IsMinimized());
185 EXPECT_TRUE(browser2->window()->IsMinimized()); 187 EXPECT_TRUE(browser2->window()->IsMinimized());
186 188
187 TurnOnSessionRestore(); 189 TurnOnSessionRestore();
188 } 190 }
189 191
190 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, RestoreMinimized) { 192 IN_PROC_BROWSER_TEST_F(SessionRestoreTestChromeOS, RestoreMinimized) {
191 size_t total_count = 0; 193 size_t total_count = 0;
192 size_t minimized_count = 0; 194 size_t minimized_count = 0;
193 for (auto* browser : *BrowserList::GetInstance()) { 195 for (auto* browser : *BrowserList::GetInstance()) {
194 ++total_count; 196 ++total_count;
195 if (browser->window()->IsMinimized()) 197 if (browser->window()->IsMinimized())
196 ++minimized_count; 198 ++minimized_count;
197 } 199 }
198 EXPECT_EQ(2u, total_count); 200 EXPECT_EQ(2u, total_count);
199 // Chrome OS always activates the last browser window on login, which results 201 // Chrome OS always activates the last browser window on login, which results
200 // in one window being restored. This seems reasonable as it reminds users 202 // in one window being restored. This seems reasonable as it reminds users
201 // they have a browser running instead of just showing them an empty desktop. 203 // they have a browser running instead of just showing them an empty desktop.
202 EXPECT_EQ(1u, minimized_count); 204 EXPECT_EQ(1u, minimized_count);
203 } 205 }
OLDNEW
« no previous file with comments | « chrome/browser/sessions/session_restore_browsertest.cc ('k') | chrome/browser/ssl/security_state_tab_helper_browser_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698