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

Side by Side Diff: chrome/browser/chromeos/tab_closeable_state_watcher_browsertest.cc

Issue 9015022: Replace most of Browser::GetSelectedTabContents calls into Browser::GetSelectedWebContents. I've ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "chrome/browser/chromeos/tab_closeable_state_watcher.h" 5 #include "chrome/browser/chromeos/tab_closeable_state_watcher.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/tabs/tab_strip_model.h" 9 #include "chrome/browser/tabs/tab_strip_model.h"
10 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h" 10 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h"
11 #include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" 11 #include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h"
12 #include "chrome/browser/ui/browser.h" 12 #include "chrome/browser/ui/browser.h"
13 #include "chrome/browser/ui/browser_list.h" 13 #include "chrome/browser/ui/browser_list.h"
14 #include "chrome/browser/ui/browser_window.h" 14 #include "chrome/browser/ui/browser_window.h"
15 #include "chrome/common/url_constants.h" 15 #include "chrome/common/url_constants.h"
16 #include "chrome/test/base/in_process_browser_test.h" 16 #include "chrome/test/base/in_process_browser_test.h"
17 #include "chrome/test/base/ui_test_utils.h" 17 #include "chrome/test/base/ui_test_utils.h"
18 #include "content/browser/tab_contents/tab_contents.h"
19 #include "content/public/browser/notification_service.h" 18 #include "content/public/browser/notification_service.h"
20 #include "content/public/browser/notification_types.h" 19 #include "content/public/browser/notification_types.h"
20 #include "content/public/browser/web_contents.h"
21 #include "googleurl/src/gurl.h" 21 #include "googleurl/src/gurl.h"
22 #include "testing/gmock/include/gmock/gmock.h" 22 #include "testing/gmock/include/gmock/gmock.h"
23 #include "testing/gtest/include/gtest/gtest.h" 23 #include "testing/gtest/include/gtest/gtest.h"
24 24
25 using content::WebContents;
26
25 namespace chromeos { 27 namespace chromeos {
26 28
27 class TabCloseableStateWatcherTest : public InProcessBrowserTest { 29 class TabCloseableStateWatcherTest : public InProcessBrowserTest {
28 public: 30 public:
29 TabCloseableStateWatcherTest() { 31 TabCloseableStateWatcherTest() {
30 // This test is testing TabCloseStateWatcher, so enable it. 32 // This test is testing TabCloseStateWatcher, so enable it.
31 EnableTabCloseableStateWatcher(); 33 EnableTabCloseableStateWatcher();
32 blank_url_ = GURL(chrome::kAboutBlankURL); 34 blank_url_ = GURL(chrome::kAboutBlankURL);
33 ntp_url_ = GURL(chrome::kChromeUINewTabURL); 35 ntp_url_ = GURL(chrome::kChromeUINewTabURL);
34 other_url_ = ui_test_utils::GetTestUrl( 36 other_url_ = ui_test_utils::GetTestUrl(
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 EXPECT_FALSE(CanCloseTab(browser())); 183 EXPECT_FALSE(CanCloseTab(browser()));
182 } 184 }
183 185
184 // Tests closing a closeable tab - tab should be closed, browser should remain 186 // Tests closing a closeable tab - tab should be closed, browser should remain
185 // opened with a NewTabPage. 187 // opened with a NewTabPage.
186 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, CloseCloseableTab) { 188 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, CloseCloseableTab) {
187 EXPECT_EQ(1, browser()->tab_count()); 189 EXPECT_EQ(1, browser()->tab_count());
188 EXPECT_TRUE(CanCloseTab(browser())); 190 EXPECT_TRUE(CanCloseTab(browser()));
189 browser()->CloseTab(); 191 browser()->CloseTab();
190 EXPECT_EQ(1, browser()->tab_count()); 192 EXPECT_EQ(1, browser()->tab_count());
191 EXPECT_EQ(ntp_url_, browser()->GetSelectedTabContents()->GetURL()); 193 EXPECT_EQ(ntp_url_, browser()->GetSelectedWebContents()->GetURL());
192 } 194 }
193 195
194 // Tests closing a closeable browser - all tabs in browser should be closed, 196 // Tests closing a closeable browser - all tabs in browser should be closed,
195 // browser should remain opened with a NewTabPage. 197 // browser should remain opened with a NewTabPage.
196 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, CloseCloseableBrowser) { 198 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, CloseCloseableBrowser) {
197 EXPECT_EQ(1, browser()->tab_count()); 199 EXPECT_EQ(1, browser()->tab_count());
198 EXPECT_TRUE(CanCloseTab(browser())); 200 EXPECT_TRUE(CanCloseTab(browser()));
199 browser()->CloseWindow(); 201 browser()->CloseWindow();
200 EXPECT_EQ(1u, BrowserList::size()); 202 EXPECT_EQ(1u, BrowserList::size());
201 EXPECT_EQ(browser(), *(BrowserList::begin())); 203 EXPECT_EQ(browser(), *(BrowserList::begin()));
202 EXPECT_EQ(1, browser()->tab_count()); 204 EXPECT_EQ(1, browser()->tab_count());
203 EXPECT_EQ(ntp_url_, browser()->GetSelectedTabContents()->GetURL()); 205 EXPECT_EQ(ntp_url_, browser()->GetSelectedWebContents()->GetURL());
204 } 206 }
205 207
206 // Tests closing a non-closeable tab and hence non-closeable browser - tab and 208 // Tests closing a non-closeable tab and hence non-closeable browser - tab and
207 // browser should remain opened. 209 // browser should remain opened.
208 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, 210 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest,
209 CloseNonCloseableTabAndBrowser) { 211 CloseNonCloseableTabAndBrowser) {
210 // Close non-closeable tab. 212 // Close non-closeable tab.
211 EXPECT_EQ(1, browser()->tab_count()); 213 EXPECT_EQ(1, browser()->tab_count());
212 NavigateToURL(ntp_url_); 214 NavigateToURL(ntp_url_);
213 EXPECT_FALSE(CanCloseTab(browser())); 215 EXPECT_FALSE(CanCloseTab(browser()));
214 TabContents* tab_contents = browser()->GetSelectedTabContents(); 216 WebContents* web_contents = browser()->GetSelectedWebContents();
215 browser()->CloseTab(); 217 browser()->CloseTab();
216 EXPECT_EQ(1, browser()->tab_count()); 218 EXPECT_EQ(1, browser()->tab_count());
217 EXPECT_EQ(tab_contents, browser()->GetSelectedTabContents()); 219 EXPECT_EQ(web_contents, browser()->GetSelectedWebContents());
218 220
219 // Close browser with non-closeable tab. 221 // Close browser with non-closeable tab.
220 browser()->CloseWindow(); 222 browser()->CloseWindow();
221 EXPECT_EQ(1u, BrowserList::size()); 223 EXPECT_EQ(1u, BrowserList::size());
222 EXPECT_EQ(browser(), *(BrowserList::begin())); 224 EXPECT_EQ(browser(), *(BrowserList::begin()));
223 EXPECT_EQ(1, browser()->tab_count()); 225 EXPECT_EQ(1, browser()->tab_count());
224 EXPECT_EQ(tab_contents, browser()->GetSelectedTabContents()); 226 EXPECT_EQ(web_contents, browser()->GetSelectedWebContents());
225 } 227 }
226 228
227 // Tests an incognito browsr with a normal browser. 229 // Tests an incognito browsr with a normal browser.
228 // - when incognito browser is opened, all browsers (including previously 230 // - when incognito browser is opened, all browsers (including previously
229 // non-clsoeable normal browsers) become closeable. 231 // non-clsoeable normal browsers) become closeable.
230 // - when incognito browser is closed, normal browsers return to adhering to the 232 // - when incognito browser is closed, normal browsers return to adhering to the
231 // original closebable rules. 233 // original closebable rules.
232 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, SecondIncognitoBrowser) { 234 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, SecondIncognitoBrowser) {
233 NavigateToURL(ntp_url_); 235 NavigateToURL(ntp_url_);
234 EXPECT_FALSE(CanCloseTab(browser())); 236 EXPECT_FALSE(CanCloseTab(browser()));
(...skipping 29 matching lines...) Expand all
264 EXPECT_EQ(1u, BrowserList::size()); 266 EXPECT_EQ(1u, BrowserList::size());
265 EXPECT_EQ(incognito_browser, *(BrowserList::begin())); 267 EXPECT_EQ(incognito_browser, *(BrowserList::begin()));
266 EXPECT_TRUE(CanCloseTab(incognito_browser)); 268 EXPECT_TRUE(CanCloseTab(incognito_browser));
267 269
268 // Close incognito browser. 270 // Close incognito browser.
269 incognito_browser->CloseWindow(); 271 incognito_browser->CloseWindow();
270 Browser* new_browser = ui_test_utils::WaitForNewBrowser(); 272 Browser* new_browser = ui_test_utils::WaitForNewBrowser();
271 EXPECT_EQ(1u, BrowserList::size()); 273 EXPECT_EQ(1u, BrowserList::size());
272 EXPECT_FALSE(new_browser->profile()->IsOffTheRecord()); 274 EXPECT_FALSE(new_browser->profile()->IsOffTheRecord());
273 EXPECT_EQ(1, new_browser->tab_count()); 275 EXPECT_EQ(1, new_browser->tab_count());
274 EXPECT_EQ(ntp_url_, new_browser->GetSelectedTabContents()->GetURL()); 276 EXPECT_EQ(ntp_url_, new_browser->GetSelectedWebContents()->GetURL());
275 } 277 }
276 278
277 // Tests closing of browser with BeforeUnload handler where user clicks cancel 279 // Tests closing of browser with BeforeUnload handler where user clicks cancel
278 // (i.e. stay on the page and cancel closing) - browser and its tabs should stay 280 // (i.e. stay on the page and cancel closing) - browser and its tabs should stay
279 // the same. 281 // the same.
280 // Sporadically crashing test. See http://crbug.com/79333 282 // Sporadically crashing test. See http://crbug.com/79333
281 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, 283 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest,
282 DISABLED_CloseBrowserWithBeforeUnloadHandlerCancel) { 284 DISABLED_CloseBrowserWithBeforeUnloadHandlerCancel) {
283 // Navigate to URL with BeforeUnload handler. 285 // Navigate to URL with BeforeUnload handler.
284 NavigateToBeforeUnloadURL(); 286 NavigateToBeforeUnloadURL();
285 EXPECT_TRUE(CanCloseTab(browser())); 287 EXPECT_TRUE(CanCloseTab(browser()));
286 288
287 // Close browser, click Cancel in BeforeUnload confirm dialog. 289 // Close browser, click Cancel in BeforeUnload confirm dialog.
288 TabContents* tab_contents = browser()->GetSelectedTabContents(); 290 WebContents* web_contents = browser()->GetSelectedWebContents();
289 browser()->CloseWindow(); 291 browser()->CloseWindow();
290 AppModalDialog* confirm = ui_test_utils::WaitForAppModalDialog(); 292 AppModalDialog* confirm = ui_test_utils::WaitForAppModalDialog();
291 confirm->native_dialog()->CancelAppModalDialog(); 293 confirm->native_dialog()->CancelAppModalDialog();
292 ui_test_utils::RunAllPendingInMessageLoop(); 294 ui_test_utils::RunAllPendingInMessageLoop();
293 EXPECT_EQ(1u, BrowserList::size()); 295 EXPECT_EQ(1u, BrowserList::size());
294 EXPECT_EQ(browser(), *(BrowserList::begin())); 296 EXPECT_EQ(browser(), *(BrowserList::begin()));
295 EXPECT_EQ(1, browser()->tab_count()); 297 EXPECT_EQ(1, browser()->tab_count());
296 EXPECT_EQ(tab_contents, browser()->GetSelectedTabContents()); 298 EXPECT_EQ(web_contents, browser()->GetSelectedWebContents());
297 299
298 // Close the browser. 300 // Close the browser.
299 browser()->CloseWindow(); 301 browser()->CloseWindow();
300 confirm = ui_test_utils::WaitForAppModalDialog(); 302 confirm = ui_test_utils::WaitForAppModalDialog();
301 confirm->native_dialog()->AcceptAppModalDialog(); 303 confirm->native_dialog()->AcceptAppModalDialog();
302 ui_test_utils::RunAllPendingInMessageLoop(); 304 ui_test_utils::RunAllPendingInMessageLoop();
303 } 305 }
304 306
305 // Tests closing of browser with BeforeUnload handler where user clicks OK (i.e. 307 // Tests closing of browser with BeforeUnload handler where user clicks OK (i.e.
306 // leave the page and proceed with closing), all tabs in browser should close, 308 // leave the page and proceed with closing), all tabs in browser should close,
307 // browser remains opened with a NewTabPage. 309 // browser remains opened with a NewTabPage.
308 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest, 310 IN_PROC_BROWSER_TEST_F(TabCloseableStateWatcherTest,
309 CloseBrowserWithBeforeUnloadHandlerOK) { 311 CloseBrowserWithBeforeUnloadHandlerOK) {
310 // Navigate to URL with BeforeUnload handler. 312 // Navigate to URL with BeforeUnload handler.
311 NavigateToBeforeUnloadURL(); 313 NavigateToBeforeUnloadURL();
312 EXPECT_TRUE(CanCloseTab(browser())); 314 EXPECT_TRUE(CanCloseTab(browser()));
313 315
314 // Close browser, click OK in BeforeUnload confirm dialog. 316 // Close browser, click OK in BeforeUnload confirm dialog.
315 browser()->CloseWindow(); 317 browser()->CloseWindow();
316 AppModalDialog* confirm = ui_test_utils::WaitForAppModalDialog(); 318 AppModalDialog* confirm = ui_test_utils::WaitForAppModalDialog();
317 confirm->native_dialog()->AcceptAppModalDialog(); 319 confirm->native_dialog()->AcceptAppModalDialog();
318 NewTabObserver new_tab_observer(browser()); 320 NewTabObserver new_tab_observer(browser());
319 EXPECT_EQ(1u, BrowserList::size()); 321 EXPECT_EQ(1u, BrowserList::size());
320 EXPECT_EQ(browser(), *(BrowserList::begin())); 322 EXPECT_EQ(browser(), *(BrowserList::begin()));
321 EXPECT_EQ(1, browser()->tab_count()); 323 EXPECT_EQ(1, browser()->tab_count());
322 EXPECT_EQ(ntp_url_, browser()->GetSelectedTabContents()->GetURL()); 324 EXPECT_EQ(ntp_url_, browser()->GetSelectedWebContents()->GetURL());
323 } 325 }
324 326
325 } // namespace chromeos 327 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/browser_focus_uitest.cc ('k') | chrome/browser/custom_handlers/protocol_handler_registry_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698