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

Side by Side Diff: chrome/browser/ui/browser_navigator_browsertest.cc

Issue 12212120: Replace most BrowserList::empty() and BrowserList::size() calls by multi-desktop aware calls. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge up to r182110 Created 7 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 | Annotate | Revision Log
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 "chrome/browser/ui/browser_navigator_browsertest.h" 5 #include "chrome/browser/ui/browser_navigator_browsertest.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "chrome/app/chrome_command_ids.h" 9 #include "chrome/app/chrome_command_ids.h"
10 #include "chrome/browser/prefs/incognito_mode_prefs.h" 10 #include "chrome/browser/prefs/incognito_mode_prefs.h"
11 #include "chrome/browser/profiles/profile.h" 11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/ui/browser_commands.h" 12 #include "chrome/browser/ui/browser_commands.h"
13 #include "chrome/browser/ui/browser_list.h" 13 #include "chrome/browser/ui/browser_finder.h"
14 #include "chrome/browser/ui/browser_navigator.h" 14 #include "chrome/browser/ui/browser_navigator.h"
15 #include "chrome/browser/ui/browser_tabstrip.h" 15 #include "chrome/browser/ui/browser_tabstrip.h"
16 #include "chrome/browser/ui/browser_window.h" 16 #include "chrome/browser/ui/browser_window.h"
17 #include "chrome/browser/ui/chrome_pages.h" 17 #include "chrome/browser/ui/chrome_pages.h"
18 #include "chrome/browser/ui/tabs/tab_strip_model.h" 18 #include "chrome/browser/ui/tabs/tab_strip_model.h"
19 #include "chrome/common/chrome_switches.h" 19 #include "chrome/common/chrome_switches.h"
20 #include "chrome/common/pref_names.h" 20 #include "chrome/common/pref_names.h"
21 #include "chrome/common/url_constants.h" 21 #include "chrome/common/url_constants.h"
22 #include "chrome/test/base/ui_test_utils.h" 22 #include "chrome/test/base/ui_test_utils.h"
23 #include "content/public/browser/notification_service.h" 23 #include "content/public/browser/notification_service.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 } 102 }
103 103
104 void BrowserNavigatorTest::RunSuppressTest(WindowOpenDisposition disposition) { 104 void BrowserNavigatorTest::RunSuppressTest(WindowOpenDisposition disposition) {
105 GURL old_url = browser()->tab_strip_model()->GetActiveWebContents()->GetURL(); 105 GURL old_url = browser()->tab_strip_model()->GetActiveWebContents()->GetURL();
106 chrome::NavigateParams p(MakeNavigateParams()); 106 chrome::NavigateParams p(MakeNavigateParams());
107 p.disposition = disposition; 107 p.disposition = disposition;
108 chrome::Navigate(&p); 108 chrome::Navigate(&p);
109 109
110 // Nothing should have happened as a result of Navigate(); 110 // Nothing should have happened as a result of Navigate();
111 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 111 EXPECT_EQ(1, browser()->tab_strip_model()->count());
112 EXPECT_EQ(1u, BrowserList::size()); 112 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
113 EXPECT_EQ(old_url, 113 EXPECT_EQ(old_url,
114 browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); 114 browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
115 } 115 }
116 116
117 void BrowserNavigatorTest::RunUseNonIncognitoWindowTest(const GURL& url) { 117 void BrowserNavigatorTest::RunUseNonIncognitoWindowTest(const GURL& url) {
118 Browser* incognito_browser = CreateIncognitoBrowser(); 118 Browser* incognito_browser = CreateIncognitoBrowser();
119 119
120 EXPECT_EQ(2u, BrowserList::size()); 120 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
121 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 121 EXPECT_EQ(1, browser()->tab_strip_model()->count());
122 EXPECT_EQ(1, incognito_browser->tab_strip_model()->count()); 122 EXPECT_EQ(1, incognito_browser->tab_strip_model()->count());
123 123
124 // Navigate to the page. 124 // Navigate to the page.
125 chrome::NavigateParams p(MakeNavigateParams(incognito_browser)); 125 chrome::NavigateParams p(MakeNavigateParams(incognito_browser));
126 p.disposition = SINGLETON_TAB; 126 p.disposition = SINGLETON_TAB;
127 p.url = url; 127 p.url = url;
128 p.window_action = chrome::NavigateParams::SHOW_WINDOW; 128 p.window_action = chrome::NavigateParams::SHOW_WINDOW;
129 chrome::Navigate(&p); 129 chrome::Navigate(&p);
130 130
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 179
180 namespace { 180 namespace {
181 181
182 // This test verifies that when a navigation occurs within a tab, the tab count 182 // This test verifies that when a navigation occurs within a tab, the tab count
183 // of the Browser remains the same and the current tab bears the loaded URL. 183 // of the Browser remains the same and the current tab bears the loaded URL.
184 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_CurrentTab) { 184 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_CurrentTab) {
185 ui_test_utils::NavigateToURL(browser(), GetGoogleURL()); 185 ui_test_utils::NavigateToURL(browser(), GetGoogleURL());
186 EXPECT_EQ(GetGoogleURL(), 186 EXPECT_EQ(GetGoogleURL(),
187 browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); 187 browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
188 // We should have one window with one tab. 188 // We should have one window with one tab.
189 EXPECT_EQ(1u, BrowserList::size()); 189 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
190 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 190 EXPECT_EQ(1, browser()->tab_strip_model()->count());
191 } 191 }
192 192
193 // This test verifies that a singleton tab is refocused if one is already opened 193 // This test verifies that a singleton tab is refocused if one is already opened
194 // in another or an existing window, or added if it is not. 194 // in another or an existing window, or added if it is not.
195 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_SingletonTabExisting) { 195 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_SingletonTabExisting) {
196 GURL singleton_url1("http://maps.google.com/"); 196 GURL singleton_url1("http://maps.google.com/");
197 197
198 // Register for a notification if an additional WebContents was instantiated. 198 // Register for a notification if an additional WebContents was instantiated.
199 // Opening a Singleton tab that is already opened should not be opening a new 199 // Opening a Singleton tab that is already opened should not be opening a new
200 // tab nor be creating a new WebContents object. 200 // tab nor be creating a new WebContents object.
201 content::NotificationRegistrar registrar; 201 content::NotificationRegistrar registrar;
202 202
203 // As the registrar object goes out of scope, this will get unregistered 203 // As the registrar object goes out of scope, this will get unregistered
204 registrar.Add(this, 204 registrar.Add(this,
205 content::NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED, 205 content::NOTIFICATION_WEB_CONTENTS_RENDER_VIEW_HOST_CREATED,
206 content::NotificationService::AllSources()); 206 content::NotificationService::AllSources());
207 207
208 chrome::AddSelectedTabWithURL(browser(), singleton_url1, 208 chrome::AddSelectedTabWithURL(browser(), singleton_url1,
209 content::PAGE_TRANSITION_LINK); 209 content::PAGE_TRANSITION_LINK);
210 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(), 210 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(),
211 content::PAGE_TRANSITION_LINK); 211 content::PAGE_TRANSITION_LINK);
212 212
213 // We should have one browser with 3 tabs, the 3rd selected. 213 // We should have one browser with 3 tabs, the 3rd selected.
214 EXPECT_EQ(1u, BrowserList::size()); 214 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
215 EXPECT_EQ(2, browser()->tab_strip_model()->active_index()); 215 EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
216 216
217 unsigned int previous_tab_contents_count = 217 unsigned int previous_tab_contents_count =
218 created_tab_contents_count_ = 0; 218 created_tab_contents_count_ = 0;
219 219
220 // Navigate to singleton_url1. 220 // Navigate to singleton_url1.
221 chrome::NavigateParams p(MakeNavigateParams()); 221 chrome::NavigateParams p(MakeNavigateParams());
222 p.disposition = SINGLETON_TAB; 222 p.disposition = SINGLETON_TAB;
223 p.url = singleton_url1; 223 p.url = singleton_url1;
224 chrome::Navigate(&p); 224 chrome::Navigate(&p);
(...skipping 10 matching lines...) Expand all
235 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 235 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
236 Disposition_SingletonTabRespectingRef) { 236 Disposition_SingletonTabRespectingRef) {
237 GURL singleton_ref_url1("http://maps.google.com/#a"); 237 GURL singleton_ref_url1("http://maps.google.com/#a");
238 GURL singleton_ref_url2("http://maps.google.com/#b"); 238 GURL singleton_ref_url2("http://maps.google.com/#b");
239 GURL singleton_ref_url3("http://maps.google.com/"); 239 GURL singleton_ref_url3("http://maps.google.com/");
240 240
241 chrome::AddSelectedTabWithURL(browser(), singleton_ref_url1, 241 chrome::AddSelectedTabWithURL(browser(), singleton_ref_url1,
242 content::PAGE_TRANSITION_LINK); 242 content::PAGE_TRANSITION_LINK);
243 243
244 // We should have one browser with 2 tabs, 2nd selected. 244 // We should have one browser with 2 tabs, 2nd selected.
245 EXPECT_EQ(1u, BrowserList::size()); 245 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
246 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 246 EXPECT_EQ(2, browser()->tab_strip_model()->count());
247 EXPECT_EQ(1, browser()->tab_strip_model()->active_index()); 247 EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
248 248
249 // Navigate to singleton_url2. 249 // Navigate to singleton_url2.
250 chrome::NavigateParams p(MakeNavigateParams()); 250 chrome::NavigateParams p(MakeNavigateParams());
251 p.disposition = SINGLETON_TAB; 251 p.disposition = SINGLETON_TAB;
252 p.url = singleton_ref_url2; 252 p.url = singleton_ref_url2;
253 chrome::Navigate(&p); 253 chrome::Navigate(&p);
254 254
255 // We should now have 2 tabs, the 2nd one selected. 255 // We should now have 2 tabs, the 2nd one selected.
(...skipping 24 matching lines...) Expand all
280 EXPECT_EQ(browser(), p.browser); 280 EXPECT_EQ(browser(), p.browser);
281 EXPECT_EQ(4, browser()->tab_strip_model()->count()); 281 EXPECT_EQ(4, browser()->tab_strip_model()->count());
282 EXPECT_EQ(3, browser()->tab_strip_model()->active_index()); 282 EXPECT_EQ(3, browser()->tab_strip_model()->active_index());
283 } 283 }
284 284
285 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 285 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
286 Disposition_SingletonTabNoneExisting) { 286 Disposition_SingletonTabNoneExisting) {
287 GURL singleton_url1("http://maps.google.com/"); 287 GURL singleton_url1("http://maps.google.com/");
288 288
289 // We should have one browser with 1 tab. 289 // We should have one browser with 1 tab.
290 EXPECT_EQ(1u, BrowserList::size()); 290 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
291 EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); 291 EXPECT_EQ(0, browser()->tab_strip_model()->active_index());
292 292
293 // Navigate to singleton_url1. 293 // Navigate to singleton_url1.
294 chrome::NavigateParams p(MakeNavigateParams()); 294 chrome::NavigateParams p(MakeNavigateParams());
295 p.disposition = SINGLETON_TAB; 295 p.disposition = SINGLETON_TAB;
296 p.url = singleton_url1; 296 p.url = singleton_url1;
297 chrome::Navigate(&p); 297 chrome::Navigate(&p);
298 298
299 // We should now have 2 tabs, the 2nd one selected. 299 // We should now have 2 tabs, the 2nd one selected.
300 EXPECT_EQ(browser(), p.browser); 300 EXPECT_EQ(browser(), p.browser);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 // Navigate() should have opened the tab in a different browser since the 350 // Navigate() should have opened the tab in a different browser since the
351 // one we supplied didn't support additional tabs. 351 // one we supplied didn't support additional tabs.
352 EXPECT_NE(popup, p.browser); 352 EXPECT_NE(popup, p.browser);
353 353
354 // Since browser() is an existing compatible tabbed browser, it should have 354 // Since browser() is an existing compatible tabbed browser, it should have
355 // opened the tab there. 355 // opened the tab there.
356 EXPECT_EQ(browser(), p.browser); 356 EXPECT_EQ(browser(), p.browser);
357 357
358 // We should be left with 2 windows, the popup with one tab and the browser() 358 // We should be left with 2 windows, the popup with one tab and the browser()
359 // provided by the framework with two. 359 // provided by the framework with two.
360 EXPECT_EQ(2u, BrowserList::size()); 360 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
361 EXPECT_EQ(1, popup->tab_strip_model()->count()); 361 EXPECT_EQ(1, popup->tab_strip_model()->count());
362 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 362 EXPECT_EQ(2, browser()->tab_strip_model()->count());
363 } 363 }
364 364
365 // This test verifies that when a navigation requiring a new foreground tab 365 // This test verifies that when a navigation requiring a new foreground tab
366 // occurs in a Browser that cannot host multiple tabs and no compatible Browser 366 // occurs in a Browser that cannot host multiple tabs and no compatible Browser
367 // that can is open, a compatible Browser is created. 367 // that can is open, a compatible Browser is created.
368 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 368 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
369 Disposition_IncompatibleWindow_NoExisting) { 369 Disposition_IncompatibleWindow_NoExisting) {
370 // We want to simulate not being able to find an existing window compatible 370 // We want to simulate not being able to find an existing window compatible
(...skipping 14 matching lines...) Expand all
385 EXPECT_NE(popup, p.browser); 385 EXPECT_NE(popup, p.browser);
386 386
387 // This time, browser() is _not_ compatible with popup since it is not an 387 // This time, browser() is _not_ compatible with popup since it is not an
388 // incognito window. 388 // incognito window.
389 EXPECT_NE(browser(), p.browser); 389 EXPECT_NE(browser(), p.browser);
390 390
391 // We should have three windows, each with one tab: 391 // We should have three windows, each with one tab:
392 // 1. the browser() provided by the framework (unchanged in this test) 392 // 1. the browser() provided by the framework (unchanged in this test)
393 // 2. the incognito popup we created originally 393 // 2. the incognito popup we created originally
394 // 3. the new incognito tabbed browser that was created by Navigate(). 394 // 3. the new incognito tabbed browser that was created by Navigate().
395 EXPECT_EQ(3u, BrowserList::size()); 395 EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
396 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 396 EXPECT_EQ(1, browser()->tab_strip_model()->count());
397 EXPECT_EQ(1, popup->tab_strip_model()->count()); 397 EXPECT_EQ(1, popup->tab_strip_model()->count());
398 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 398 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
399 EXPECT_TRUE(p.browser->is_type_tabbed()); 399 EXPECT_TRUE(p.browser->is_type_tabbed());
400 } 400 }
401 401
402 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 402 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
403 // from a normal Browser results in a new Browser with TYPE_POPUP. 403 // from a normal Browser results in a new Browser with TYPE_POPUP.
404 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup) { 404 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup) {
405 chrome::NavigateParams p(MakeNavigateParams()); 405 chrome::NavigateParams p(MakeNavigateParams());
406 p.disposition = NEW_POPUP; 406 p.disposition = NEW_POPUP;
407 p.window_bounds = gfx::Rect(0, 0, 200, 200); 407 p.window_bounds = gfx::Rect(0, 0, 200, 200);
408 // Wait for new popup to to load and gain focus. 408 // Wait for new popup to to load and gain focus.
409 ui_test_utils::NavigateToURL(&p); 409 ui_test_utils::NavigateToURL(&p);
410 410
411 // Navigate() should have opened a new, focused popup window. 411 // Navigate() should have opened a new, focused popup window.
412 EXPECT_NE(browser(), p.browser); 412 EXPECT_NE(browser(), p.browser);
413 #if 0 413 #if 0
414 // TODO(stevenjb): Enable this test. See: crbug.com/79493 414 // TODO(stevenjb): Enable this test. See: crbug.com/79493
415 EXPECT_TRUE(p.browser->window()->IsActive()); 415 EXPECT_TRUE(p.browser->window()->IsActive());
416 #endif 416 #endif
417 EXPECT_TRUE(p.browser->is_type_popup()); 417 EXPECT_TRUE(p.browser->is_type_popup());
418 EXPECT_FALSE(p.browser->is_app()); 418 EXPECT_FALSE(p.browser->is_app());
419 419
420 // We should have two windows, the browser() provided by the framework and the 420 // We should have two windows, the browser() provided by the framework and the
421 // new popup window. 421 // new popup window.
422 EXPECT_EQ(2u, BrowserList::size()); 422 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
423 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 423 EXPECT_EQ(1, browser()->tab_strip_model()->count());
424 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 424 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
425 } 425 }
426 426
427 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 427 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
428 // from a normal Browser results in a new Browser with is_app() true. 428 // from a normal Browser results in a new Browser with is_app() true.
429 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup_ExtensionId) { 429 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup_ExtensionId) {
430 chrome::NavigateParams p(MakeNavigateParams()); 430 chrome::NavigateParams p(MakeNavigateParams());
431 p.disposition = NEW_POPUP; 431 p.disposition = NEW_POPUP;
432 p.extension_app_id = "extensionappid"; 432 p.extension_app_id = "extensionappid";
433 p.window_bounds = gfx::Rect(0, 0, 200, 200); 433 p.window_bounds = gfx::Rect(0, 0, 200, 200);
434 // Wait for new popup to to load and gain focus. 434 // Wait for new popup to to load and gain focus.
435 ui_test_utils::NavigateToURL(&p); 435 ui_test_utils::NavigateToURL(&p);
436 436
437 // Navigate() should have opened a new, focused popup window. 437 // Navigate() should have opened a new, focused popup window.
438 EXPECT_NE(browser(), p.browser); 438 EXPECT_NE(browser(), p.browser);
439 EXPECT_TRUE(p.browser->is_type_popup()); 439 EXPECT_TRUE(p.browser->is_type_popup());
440 EXPECT_TRUE(p.browser->is_app()); 440 EXPECT_TRUE(p.browser->is_app());
441 441
442 // We should have two windows, the browser() provided by the framework and the 442 // We should have two windows, the browser() provided by the framework and the
443 // new popup window. 443 // new popup window.
444 EXPECT_EQ(2u, BrowserList::size()); 444 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
445 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 445 EXPECT_EQ(1, browser()->tab_strip_model()->count());
446 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 446 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
447 } 447 }
448 448
449 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 449 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
450 // from a normal popup results in a new Browser with TYPE_POPUP. 450 // from a normal popup results in a new Browser with TYPE_POPUP.
451 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupFromPopup) { 451 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupFromPopup) {
452 // Open a popup. 452 // Open a popup.
453 chrome::NavigateParams p1(MakeNavigateParams()); 453 chrome::NavigateParams p1(MakeNavigateParams());
454 p1.disposition = NEW_POPUP; 454 p1.disposition = NEW_POPUP;
455 p1.window_bounds = gfx::Rect(0, 0, 200, 200); 455 p1.window_bounds = gfx::Rect(0, 0, 200, 200);
456 chrome::Navigate(&p1); 456 chrome::Navigate(&p1);
457 // Open another popup. 457 // Open another popup.
458 chrome::NavigateParams p2(MakeNavigateParams(p1.browser)); 458 chrome::NavigateParams p2(MakeNavigateParams(p1.browser));
459 p2.disposition = NEW_POPUP; 459 p2.disposition = NEW_POPUP;
460 p2.window_bounds = gfx::Rect(0, 0, 200, 200); 460 p2.window_bounds = gfx::Rect(0, 0, 200, 200);
461 chrome::Navigate(&p2); 461 chrome::Navigate(&p2);
462 462
463 // Navigate() should have opened a new normal popup window. 463 // Navigate() should have opened a new normal popup window.
464 EXPECT_NE(p1.browser, p2.browser); 464 EXPECT_NE(p1.browser, p2.browser);
465 EXPECT_TRUE(p2.browser->is_type_popup()); 465 EXPECT_TRUE(p2.browser->is_type_popup());
466 EXPECT_FALSE(p2.browser->is_app()); 466 EXPECT_FALSE(p2.browser->is_app());
467 467
468 // We should have three windows, the browser() provided by the framework, 468 // We should have three windows, the browser() provided by the framework,
469 // the first popup window, and the second popup window. 469 // the first popup window, and the second popup window.
470 EXPECT_EQ(3u, BrowserList::size()); 470 EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
471 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 471 EXPECT_EQ(1, browser()->tab_strip_model()->count());
472 EXPECT_EQ(1, p1.browser->tab_strip_model()->count()); 472 EXPECT_EQ(1, p1.browser->tab_strip_model()->count());
473 EXPECT_EQ(1, p2.browser->tab_strip_model()->count()); 473 EXPECT_EQ(1, p2.browser->tab_strip_model()->count());
474 } 474 }
475 475
476 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 476 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
477 // from an app frame results in a new Browser with TYPE_APP_POPUP. 477 // from an app frame results in a new Browser with TYPE_APP_POPUP.
478 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 478 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
479 Disposition_NewPopupFromAppWindow) { 479 Disposition_NewPopupFromAppWindow) {
480 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED, 480 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED,
481 browser()->profile()); 481 browser()->profile());
482 chrome::NavigateParams p(MakeNavigateParams(app_browser)); 482 chrome::NavigateParams p(MakeNavigateParams(app_browser));
483 p.disposition = NEW_POPUP; 483 p.disposition = NEW_POPUP;
484 p.window_bounds = gfx::Rect(0, 0, 200, 200); 484 p.window_bounds = gfx::Rect(0, 0, 200, 200);
485 chrome::Navigate(&p); 485 chrome::Navigate(&p);
486 486
487 // Navigate() should have opened a new popup app window. 487 // Navigate() should have opened a new popup app window.
488 EXPECT_NE(app_browser, p.browser); 488 EXPECT_NE(app_browser, p.browser);
489 EXPECT_NE(browser(), p.browser); 489 EXPECT_NE(browser(), p.browser);
490 EXPECT_TRUE(p.browser->is_type_popup()); 490 EXPECT_TRUE(p.browser->is_type_popup());
491 EXPECT_TRUE(p.browser->is_app()); 491 EXPECT_TRUE(p.browser->is_app());
492 492
493 // We should now have three windows, the app window, the app popup it created, 493 // We should now have three windows, the app window, the app popup it created,
494 // and the original browser() provided by the framework. 494 // and the original browser() provided by the framework.
495 EXPECT_EQ(3u, BrowserList::size()); 495 EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
496 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 496 EXPECT_EQ(1, browser()->tab_strip_model()->count());
497 EXPECT_EQ(1, app_browser->tab_strip_model()->count()); 497 EXPECT_EQ(1, app_browser->tab_strip_model()->count());
498 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 498 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
499 } 499 }
500 500
501 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 501 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
502 // from an app popup results in a new Browser also of TYPE_APP_POPUP. 502 // from an app popup results in a new Browser also of TYPE_APP_POPUP.
503 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 503 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
504 Disposition_NewPopupFromAppPopup) { 504 Disposition_NewPopupFromAppPopup) {
505 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED, 505 Browser* app_browser = CreateEmptyBrowserForApp(Browser::TYPE_TABBED,
(...skipping 10 matching lines...) Expand all
516 chrome::Navigate(&p2); 516 chrome::Navigate(&p2);
517 517
518 // Navigate() should have opened a new popup app window. 518 // Navigate() should have opened a new popup app window.
519 EXPECT_NE(browser(), p1.browser); 519 EXPECT_NE(browser(), p1.browser);
520 EXPECT_NE(p1.browser, p2.browser); 520 EXPECT_NE(p1.browser, p2.browser);
521 EXPECT_TRUE(p2.browser->is_type_popup()); 521 EXPECT_TRUE(p2.browser->is_type_popup());
522 EXPECT_TRUE(p2.browser->is_app()); 522 EXPECT_TRUE(p2.browser->is_app());
523 523
524 // We should now have four windows, the app window, the first app popup, 524 // We should now have four windows, the app window, the first app popup,
525 // the second app popup, and the original browser() provided by the framework. 525 // the second app popup, and the original browser() provided by the framework.
526 EXPECT_EQ(4u, BrowserList::size()); 526 EXPECT_EQ(4u, chrome::GetTotalBrowserCount());
527 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 527 EXPECT_EQ(1, browser()->tab_strip_model()->count());
528 EXPECT_EQ(1, app_browser->tab_strip_model()->count()); 528 EXPECT_EQ(1, app_browser->tab_strip_model()->count());
529 EXPECT_EQ(1, p1.browser->tab_strip_model()->count()); 529 EXPECT_EQ(1, p1.browser->tab_strip_model()->count());
530 EXPECT_EQ(1, p2.browser->tab_strip_model()->count()); 530 EXPECT_EQ(1, p2.browser->tab_strip_model()->count());
531 } 531 }
532 532
533 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP 533 // This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
534 // from an extension app tab results in a new Browser with TYPE_APP_POPUP. 534 // from an extension app tab results in a new Browser with TYPE_APP_POPUP.
535 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 535 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
536 Disposition_NewPopupFromExtensionApp) { 536 Disposition_NewPopupFromExtensionApp) {
(...skipping 25 matching lines...) Expand all
562 chrome::NavigateParams p(MakeNavigateParams()); 562 chrome::NavigateParams p(MakeNavigateParams());
563 p.disposition = NEW_WINDOW; 563 p.disposition = NEW_WINDOW;
564 chrome::Navigate(&p); 564 chrome::Navigate(&p);
565 565
566 // Navigate() should have opened a new toplevel window. 566 // Navigate() should have opened a new toplevel window.
567 EXPECT_NE(browser(), p.browser); 567 EXPECT_NE(browser(), p.browser);
568 EXPECT_TRUE(p.browser->is_type_tabbed()); 568 EXPECT_TRUE(p.browser->is_type_tabbed());
569 569
570 // We should now have two windows, the browser() provided by the framework and 570 // We should now have two windows, the browser() provided by the framework and
571 // the new normal window. 571 // the new normal window.
572 EXPECT_EQ(2u, BrowserList::size()); 572 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
573 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 573 EXPECT_EQ(1, browser()->tab_strip_model()->count());
574 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 574 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
575 } 575 }
576 576
577 // This test verifies that navigating with WindowOpenDisposition = INCOGNITO 577 // This test verifies that navigating with WindowOpenDisposition = INCOGNITO
578 // opens a new incognito window if no existing incognito window is present. 578 // opens a new incognito window if no existing incognito window is present.
579 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_Incognito) { 579 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_Incognito) {
580 chrome::NavigateParams p(MakeNavigateParams()); 580 chrome::NavigateParams p(MakeNavigateParams());
581 p.disposition = OFF_THE_RECORD; 581 p.disposition = OFF_THE_RECORD;
582 chrome::Navigate(&p); 582 chrome::Navigate(&p);
583 583
584 // Navigate() should have opened a new toplevel incognito window. 584 // Navigate() should have opened a new toplevel incognito window.
585 EXPECT_NE(browser(), p.browser); 585 EXPECT_NE(browser(), p.browser);
586 EXPECT_EQ(browser()->profile()->GetOffTheRecordProfile(), 586 EXPECT_EQ(browser()->profile()->GetOffTheRecordProfile(),
587 p.browser->profile()); 587 p.browser->profile());
588 588
589 // |source_contents| should be set to NULL because the profile for the new 589 // |source_contents| should be set to NULL because the profile for the new
590 // page is different from the originating page. 590 // page is different from the originating page.
591 EXPECT_EQ(NULL, p.source_contents); 591 EXPECT_EQ(NULL, p.source_contents);
592 592
593 // We should now have two windows, the browser() provided by the framework and 593 // We should now have two windows, the browser() provided by the framework and
594 // the new incognito window. 594 // the new incognito window.
595 EXPECT_EQ(2u, BrowserList::size()); 595 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
596 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 596 EXPECT_EQ(1, browser()->tab_strip_model()->count());
597 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 597 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
598 } 598 }
599 599
600 // This test verifies that navigating with WindowOpenDisposition = INCOGNITO 600 // This test verifies that navigating with WindowOpenDisposition = INCOGNITO
601 // reuses an existing incognito window when possible. 601 // reuses an existing incognito window when possible.
602 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_IncognitoRefocus) { 602 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_IncognitoRefocus) {
603 Browser* incognito_browser = 603 Browser* incognito_browser =
604 CreateEmptyBrowserForType(Browser::TYPE_TABBED, 604 CreateEmptyBrowserForType(Browser::TYPE_TABBED,
605 browser()->profile()->GetOffTheRecordProfile()); 605 browser()->profile()->GetOffTheRecordProfile());
606 chrome::NavigateParams p(MakeNavigateParams()); 606 chrome::NavigateParams p(MakeNavigateParams());
607 p.disposition = OFF_THE_RECORD; 607 p.disposition = OFF_THE_RECORD;
608 chrome::Navigate(&p); 608 chrome::Navigate(&p);
609 609
610 // Navigate() should have opened a new tab in the existing incognito window. 610 // Navigate() should have opened a new tab in the existing incognito window.
611 EXPECT_NE(browser(), p.browser); 611 EXPECT_NE(browser(), p.browser);
612 EXPECT_EQ(p.browser, incognito_browser); 612 EXPECT_EQ(p.browser, incognito_browser);
613 613
614 // We should now have two windows, the browser() provided by the framework and 614 // We should now have two windows, the browser() provided by the framework and
615 // the incognito window we opened earlier. 615 // the incognito window we opened earlier.
616 EXPECT_EQ(2u, BrowserList::size()); 616 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
617 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 617 EXPECT_EQ(1, browser()->tab_strip_model()->count());
618 EXPECT_EQ(2, incognito_browser->tab_strip_model()->count()); 618 EXPECT_EQ(2, incognito_browser->tab_strip_model()->count());
619 } 619 }
620 620
621 // This test verifies that no navigation action occurs when 621 // This test verifies that no navigation action occurs when
622 // WindowOpenDisposition = SUPPRESS_OPEN. 622 // WindowOpenDisposition = SUPPRESS_OPEN.
623 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_SuppressOpen) { 623 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_SuppressOpen) {
624 RunSuppressTest(SUPPRESS_OPEN); 624 RunSuppressTest(SUPPRESS_OPEN);
625 } 625 }
626 626
(...skipping 16 matching lines...) Expand all
643 p.target_contents = CreateWebContents(); 643 p.target_contents = CreateWebContents();
644 chrome::Navigate(&p); 644 chrome::Navigate(&p);
645 645
646 // Navigate() should have opened the contents in a new foreground in the 646 // Navigate() should have opened the contents in a new foreground in the
647 // current Browser. 647 // current Browser.
648 EXPECT_EQ(browser(), p.browser); 648 EXPECT_EQ(browser(), p.browser);
649 EXPECT_EQ(browser()->tab_strip_model()->GetActiveWebContents(), 649 EXPECT_EQ(browser()->tab_strip_model()->GetActiveWebContents(),
650 p.target_contents); 650 p.target_contents);
651 651
652 // We should have one window, with two tabs. 652 // We should have one window, with two tabs.
653 EXPECT_EQ(1u, BrowserList::size()); 653 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
654 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 654 EXPECT_EQ(2, browser()->tab_strip_model()->count());
655 } 655 }
656 656
657 #if defined(OS_WIN) 657 #if defined(OS_WIN)
658 // This tests adding a popup with a predefined WebContents. 658 // This tests adding a popup with a predefined WebContents.
659 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, DISABLED_TargetContents_Popup) { 659 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, DISABLED_TargetContents_Popup) {
660 chrome::NavigateParams p(MakeNavigateParams()); 660 chrome::NavigateParams p(MakeNavigateParams());
661 p.disposition = NEW_POPUP; 661 p.disposition = NEW_POPUP;
662 p.target_contents = CreateWebContents(); 662 p.target_contents = CreateWebContents();
663 p.window_bounds = gfx::Rect(10, 10, 500, 500); 663 p.window_bounds = gfx::Rect(10, 10, 500, 500);
(...skipping 16 matching lines...) Expand all
680 // at 0,0. 680 // at 0,0.
681 EXPECT_EQ(p.window_bounds.origin(), 681 EXPECT_EQ(p.window_bounds.origin(),
682 p.browser->window()->GetRestoredBounds().origin()); 682 p.browser->window()->GetRestoredBounds().origin());
683 // All platforms should respect size however provided width > 400 (Mac has a 683 // All platforms should respect size however provided width > 400 (Mac has a
684 // minimum window width of 400). 684 // minimum window width of 400).
685 EXPECT_EQ(p.window_bounds.size(), 685 EXPECT_EQ(p.window_bounds.size(),
686 p.target_contents->GetView()->GetContainerSize()); 686 p.target_contents->GetView()->GetContainerSize());
687 687
688 // We should have two windows, the new popup and the browser() provided by the 688 // We should have two windows, the new popup and the browser() provided by the
689 // framework. 689 // framework.
690 EXPECT_EQ(2u, BrowserList::size()); 690 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
691 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 691 EXPECT_EQ(1, browser()->tab_strip_model()->count());
692 EXPECT_EQ(1, p.browser->tab_strip_model()->count()); 692 EXPECT_EQ(1, p.browser->tab_strip_model()->count());
693 } 693 }
694 #endif 694 #endif
695 695
696 // This tests adding a tab at a specific index. 696 // This tests adding a tab at a specific index.
697 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Tabstrip_InsertAtIndex) { 697 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Tabstrip_InsertAtIndex) {
698 // This is not meant to be a comprehensive test of whether or not the tab 698 // This is not meant to be a comprehensive test of whether or not the tab
699 // implementation of the browser observes the insertion index. That is 699 // implementation of the browser observes the insertion index. That is
700 // covered by the unit tests for TabStripModel. This merely verifies that 700 // covered by the unit tests for TabStripModel. This merely verifies that
701 // insertion index preference is reflected in common cases. 701 // insertion index preference is reflected in common cases.
702 chrome::NavigateParams p(MakeNavigateParams()); 702 chrome::NavigateParams p(MakeNavigateParams());
703 p.disposition = NEW_FOREGROUND_TAB; 703 p.disposition = NEW_FOREGROUND_TAB;
704 p.tabstrip_index = 0; 704 p.tabstrip_index = 0;
705 p.tabstrip_add_types = TabStripModel::ADD_FORCE_INDEX; 705 p.tabstrip_add_types = TabStripModel::ADD_FORCE_INDEX;
706 chrome::Navigate(&p); 706 chrome::Navigate(&p);
707 707
708 // Navigate() should have inserted a new tab at slot 0 in the tabstrip. 708 // Navigate() should have inserted a new tab at slot 0 in the tabstrip.
709 EXPECT_EQ(browser(), p.browser); 709 EXPECT_EQ(browser(), p.browser);
710 EXPECT_EQ(0, browser()->tab_strip_model()->GetIndexOfWebContents( 710 EXPECT_EQ(0, browser()->tab_strip_model()->GetIndexOfWebContents(
711 static_cast<const WebContents*>(p.target_contents))); 711 static_cast<const WebContents*>(p.target_contents)));
712 712
713 // We should have one window - the browser() provided by the framework. 713 // We should have one window - the browser() provided by the framework.
714 EXPECT_EQ(1u, BrowserList::size()); 714 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
715 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 715 EXPECT_EQ(2, browser()->tab_strip_model()->count());
716 } 716 }
717 717
718 // This test verifies that constructing params with disposition = SINGLETON_TAB 718 // This test verifies that constructing params with disposition = SINGLETON_TAB
719 // and IGNORE_AND_NAVIGATE opens a new tab navigated to the specified URL if 719 // and IGNORE_AND_NAVIGATE opens a new tab navigated to the specified URL if
720 // no previous tab with that URL (minus the path) exists. 720 // no previous tab with that URL (minus the path) exists.
721 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 721 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
722 Disposition_SingletonTabNew_IgnorePath) { 722 Disposition_SingletonTabNew_IgnorePath) {
723 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(), 723 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(),
724 content::PAGE_TRANSITION_LINK); 724 content::PAGE_TRANSITION_LINK);
725 725
726 // We should have one browser with 2 tabs, the 2nd selected. 726 // We should have one browser with 2 tabs, the 2nd selected.
727 EXPECT_EQ(1u, BrowserList::size()); 727 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
728 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 728 EXPECT_EQ(2, browser()->tab_strip_model()->count());
729 EXPECT_EQ(1, browser()->tab_strip_model()->active_index()); 729 EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
730 730
731 // Navigate to a new singleton tab with a sub-page. 731 // Navigate to a new singleton tab with a sub-page.
732 chrome::NavigateParams p(MakeNavigateParams()); 732 chrome::NavigateParams p(MakeNavigateParams());
733 p.disposition = SINGLETON_TAB; 733 p.disposition = SINGLETON_TAB;
734 p.url = GetContentSettingsURL(); 734 p.url = GetContentSettingsURL();
735 p.window_action = chrome::NavigateParams::SHOW_WINDOW; 735 p.window_action = chrome::NavigateParams::SHOW_WINDOW;
736 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; 736 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
737 chrome::Navigate(&p); 737 chrome::Navigate(&p);
(...skipping 13 matching lines...) Expand all
751 // the path) which is navigated to the specified URL. 751 // the path) which is navigated to the specified URL.
752 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 752 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
753 Disposition_SingletonTabExisting_IgnorePath) { 753 Disposition_SingletonTabExisting_IgnorePath) {
754 GURL singleton_url1(GetSettingsURL()); 754 GURL singleton_url1(GetSettingsURL());
755 chrome::AddSelectedTabWithURL(browser(), singleton_url1, 755 chrome::AddSelectedTabWithURL(browser(), singleton_url1,
756 content::PAGE_TRANSITION_LINK); 756 content::PAGE_TRANSITION_LINK);
757 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(), 757 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(),
758 content::PAGE_TRANSITION_LINK); 758 content::PAGE_TRANSITION_LINK);
759 759
760 // We should have one browser with 3 tabs, the 3rd selected. 760 // We should have one browser with 3 tabs, the 3rd selected.
761 EXPECT_EQ(1u, BrowserList::size()); 761 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
762 EXPECT_EQ(3, browser()->tab_strip_model()->count()); 762 EXPECT_EQ(3, browser()->tab_strip_model()->count());
763 EXPECT_EQ(2, browser()->tab_strip_model()->active_index()); 763 EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
764 764
765 // Navigate to singleton_url1. 765 // Navigate to singleton_url1.
766 chrome::NavigateParams p(MakeNavigateParams()); 766 chrome::NavigateParams p(MakeNavigateParams());
767 p.disposition = SINGLETON_TAB; 767 p.disposition = SINGLETON_TAB;
768 p.url = GetContentSettingsURL(); 768 p.url = GetContentSettingsURL();
769 p.window_action = chrome::NavigateParams::SHOW_WINDOW; 769 p.window_action = chrome::NavigateParams::SHOW_WINDOW;
770 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; 770 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
771 chrome::Navigate(&p); 771 chrome::Navigate(&p);
(...skipping 13 matching lines...) Expand all
785 // the path) which is navigated to the specified URL. 785 // the path) which is navigated to the specified URL.
786 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 786 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
787 Disposition_SingletonTabExistingSubPath_IgnorePath) { 787 Disposition_SingletonTabExistingSubPath_IgnorePath) {
788 GURL singleton_url1(GetContentSettingsURL()); 788 GURL singleton_url1(GetContentSettingsURL());
789 chrome::AddSelectedTabWithURL(browser(), singleton_url1, 789 chrome::AddSelectedTabWithURL(browser(), singleton_url1,
790 content::PAGE_TRANSITION_LINK); 790 content::PAGE_TRANSITION_LINK);
791 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(), 791 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(),
792 content::PAGE_TRANSITION_LINK); 792 content::PAGE_TRANSITION_LINK);
793 793
794 // We should have one browser with 3 tabs, the 3rd selected. 794 // We should have one browser with 3 tabs, the 3rd selected.
795 EXPECT_EQ(1u, BrowserList::size()); 795 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
796 EXPECT_EQ(3, browser()->tab_strip_model()->count()); 796 EXPECT_EQ(3, browser()->tab_strip_model()->count());
797 EXPECT_EQ(2, browser()->tab_strip_model()->active_index()); 797 EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
798 798
799 // Navigate to singleton_url1. 799 // Navigate to singleton_url1.
800 chrome::NavigateParams p(MakeNavigateParams()); 800 chrome::NavigateParams p(MakeNavigateParams());
801 p.disposition = SINGLETON_TAB; 801 p.disposition = SINGLETON_TAB;
802 p.url = GetClearBrowsingDataURL(); 802 p.url = GetClearBrowsingDataURL();
803 p.window_action = chrome::NavigateParams::SHOW_WINDOW; 803 p.window_action = chrome::NavigateParams::SHOW_WINDOW;
804 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; 804 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
805 chrome::Navigate(&p); 805 chrome::Navigate(&p);
(...skipping 13 matching lines...) Expand all
819 // the path). 819 // the path).
820 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 820 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
821 Disposition_SingletonTabExistingSubPath_IgnorePath2) { 821 Disposition_SingletonTabExistingSubPath_IgnorePath2) {
822 GURL singleton_url1(GetContentSettingsURL()); 822 GURL singleton_url1(GetContentSettingsURL());
823 chrome::AddSelectedTabWithURL(browser(), singleton_url1, 823 chrome::AddSelectedTabWithURL(browser(), singleton_url1,
824 content::PAGE_TRANSITION_LINK); 824 content::PAGE_TRANSITION_LINK);
825 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(), 825 chrome::AddSelectedTabWithURL(browser(), GetGoogleURL(),
826 content::PAGE_TRANSITION_LINK); 826 content::PAGE_TRANSITION_LINK);
827 827
828 // We should have one browser with 3 tabs, the 3rd selected. 828 // We should have one browser with 3 tabs, the 3rd selected.
829 EXPECT_EQ(1u, BrowserList::size()); 829 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
830 EXPECT_EQ(3, browser()->tab_strip_model()->count()); 830 EXPECT_EQ(3, browser()->tab_strip_model()->count());
831 EXPECT_EQ(2, browser()->tab_strip_model()->active_index()); 831 EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
832 832
833 // Navigate to singleton_url1. 833 // Navigate to singleton_url1.
834 chrome::NavigateParams p(MakeNavigateParams()); 834 chrome::NavigateParams p(MakeNavigateParams());
835 p.disposition = SINGLETON_TAB; 835 p.disposition = SINGLETON_TAB;
836 p.url = GetClearBrowsingDataURL(); 836 p.url = GetClearBrowsingDataURL();
837 p.window_action = chrome::NavigateParams::SHOW_WINDOW; 837 p.window_action = chrome::NavigateParams::SHOW_WINDOW;
838 p.path_behavior = chrome::NavigateParams::IGNORE_AND_STAY_PUT; 838 p.path_behavior = chrome::NavigateParams::IGNORE_AND_STAY_PUT;
839 chrome::Navigate(&p); 839 chrome::Navigate(&p);
(...skipping 10 matching lines...) Expand all
850 // This test verifies that constructing params with disposition = SINGLETON_TAB 850 // This test verifies that constructing params with disposition = SINGLETON_TAB
851 // and IGNORE_AND_NAVIGATE will update the current tab's URL if the currently 851 // and IGNORE_AND_NAVIGATE will update the current tab's URL if the currently
852 // selected tab is a match but has a different path. 852 // selected tab is a match but has a different path.
853 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 853 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
854 Disposition_SingletonTabFocused_IgnorePath) { 854 Disposition_SingletonTabFocused_IgnorePath) {
855 GURL singleton_url_current(GetContentSettingsURL()); 855 GURL singleton_url_current(GetContentSettingsURL());
856 chrome::AddSelectedTabWithURL(browser(), singleton_url_current, 856 chrome::AddSelectedTabWithURL(browser(), singleton_url_current,
857 content::PAGE_TRANSITION_LINK); 857 content::PAGE_TRANSITION_LINK);
858 858
859 // We should have one browser with 2 tabs, the 2nd selected. 859 // We should have one browser with 2 tabs, the 2nd selected.
860 EXPECT_EQ(1u, BrowserList::size()); 860 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
861 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 861 EXPECT_EQ(2, browser()->tab_strip_model()->count());
862 EXPECT_EQ(1, browser()->tab_strip_model()->active_index()); 862 EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
863 863
864 // Navigate to a different settings path. 864 // Navigate to a different settings path.
865 GURL singleton_url_target(GetClearBrowsingDataURL()); 865 GURL singleton_url_target(GetClearBrowsingDataURL());
866 chrome::NavigateParams p(MakeNavigateParams()); 866 chrome::NavigateParams p(MakeNavigateParams());
867 p.disposition = SINGLETON_TAB; 867 p.disposition = SINGLETON_TAB;
868 p.url = singleton_url_target; 868 p.url = singleton_url_target;
869 p.window_action = chrome::NavigateParams::SHOW_WINDOW; 869 p.window_action = chrome::NavigateParams::SHOW_WINDOW;
870 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE; 870 p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
926 content::PAGE_TRANSITION_AUTO_BOOKMARK); 926 content::PAGE_TRANSITION_AUTO_BOOKMARK);
927 params.disposition = OFF_THE_RECORD; 927 params.disposition = OFF_THE_RECORD;
928 { 928 {
929 content::WindowedNotificationObserver observer( 929 content::WindowedNotificationObserver observer(
930 content::NOTIFICATION_LOAD_STOP, 930 content::NOTIFICATION_LOAD_STOP,
931 content::NotificationService::AllSources()); 931 content::NotificationService::AllSources());
932 chrome::Navigate(&params); 932 chrome::Navigate(&params);
933 observer.Wait(); 933 observer.Wait();
934 } 934 }
935 935
936 EXPECT_EQ(1u, BrowserList::size()); 936 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
937 EXPECT_EQ(GetSettingsURL(), 937 EXPECT_EQ(GetSettingsURL(),
938 ShortenUberURL(browser()->tab_strip_model()-> 938 ShortenUberURL(browser()->tab_strip_model()->
939 GetActiveWebContents()->GetURL())); 939 GetActiveWebContents()->GetURL()));
940 } 940 }
941 941
942 // Settings page is expected to always open in normal mode regardless 942 // Settings page is expected to always open in normal mode regardless
943 // of whether the user is trying to open it in incognito mode or not. 943 // of whether the user is trying to open it in incognito mode or not.
944 // This test verifies that if incognito mode is forced (by policy), settings 944 // This test verifies that if incognito mode is forced (by policy), settings
945 // page doesn't open at all. 945 // page doesn't open at all.
946 // Disabled until fixed for uber settings: http://crbug.com/111243 946 // Disabled until fixed for uber settings: http://crbug.com/111243
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
982 } 982 }
983 983
984 // This test makes sure a crashed singleton tab reloads from a new navigation. 984 // This test makes sure a crashed singleton tab reloads from a new navigation.
985 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 985 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
986 NavigateToCrashedSingletonTab) { 986 NavigateToCrashedSingletonTab) {
987 GURL singleton_url(GetContentSettingsURL()); 987 GURL singleton_url(GetContentSettingsURL());
988 WebContents* web_contents = chrome::AddSelectedTabWithURL( 988 WebContents* web_contents = chrome::AddSelectedTabWithURL(
989 browser(), singleton_url, content::PAGE_TRANSITION_LINK); 989 browser(), singleton_url, content::PAGE_TRANSITION_LINK);
990 990
991 // We should have one browser with 2 tabs, the 2nd selected. 991 // We should have one browser with 2 tabs, the 2nd selected.
992 EXPECT_EQ(1u, BrowserList::size()); 992 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
993 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 993 EXPECT_EQ(2, browser()->tab_strip_model()->count());
994 EXPECT_EQ(1, browser()->tab_strip_model()->active_index()); 994 EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
995 995
996 // Kill the singleton tab. 996 // Kill the singleton tab.
997 web_contents->SetIsCrashed(base::TERMINATION_STATUS_PROCESS_CRASHED, -1); 997 web_contents->SetIsCrashed(base::TERMINATION_STATUS_PROCESS_CRASHED, -1);
998 EXPECT_TRUE(web_contents->IsCrashed()); 998 EXPECT_TRUE(web_contents->IsCrashed());
999 999
1000 chrome::NavigateParams p(MakeNavigateParams()); 1000 chrome::NavigateParams p(MakeNavigateParams());
1001 p.disposition = SINGLETON_TAB; 1001 p.disposition = SINGLETON_TAB;
1002 p.url = singleton_url; 1002 p.url = singleton_url;
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1063 ShortenUberURL(browser()->tab_strip_model()-> 1063 ShortenUberURL(browser()->tab_strip_model()->
1064 GetActiveWebContents()->GetURL())); 1064 GetActiveWebContents()->GetURL()));
1065 } 1065 }
1066 1066
1067 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 1067 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
1068 NavigateFromPageToOptionsInNewTab) { 1068 NavigateFromPageToOptionsInNewTab) {
1069 chrome::NavigateParams p(MakeNavigateParams()); 1069 chrome::NavigateParams p(MakeNavigateParams());
1070 ui_test_utils::NavigateToURL(&p); 1070 ui_test_utils::NavigateToURL(&p);
1071 EXPECT_EQ(GetGoogleURL(), 1071 EXPECT_EQ(GetGoogleURL(),
1072 browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); 1072 browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
1073 EXPECT_EQ(1u, BrowserList::size()); 1073 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
1074 EXPECT_EQ(1, browser()->tab_strip_model()->count()); 1074 EXPECT_EQ(1, browser()->tab_strip_model()->count());
1075 1075
1076 { 1076 {
1077 content::WindowedNotificationObserver observer( 1077 content::WindowedNotificationObserver observer(
1078 content::NOTIFICATION_LOAD_STOP, 1078 content::NOTIFICATION_LOAD_STOP,
1079 content::NotificationService::AllSources()); 1079 content::NotificationService::AllSources());
1080 chrome::ShowSettings(browser()); 1080 chrome::ShowSettings(browser());
1081 observer.Wait(); 1081 observer.Wait();
1082 } 1082 }
1083 EXPECT_EQ(2, browser()->tab_strip_model()->count()); 1083 EXPECT_EQ(2, browser()->tab_strip_model()->count());
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 browser()->tab_strip_model()->GetActiveWebContents()->GetURL()); 1224 browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
1225 } 1225 }
1226 1226
1227 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, 1227 IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
1228 NavigateWithoutBrowser) { 1228 NavigateWithoutBrowser) {
1229 // First navigate using the profile of the existing browser window, and 1229 // First navigate using the profile of the existing browser window, and
1230 // check that the window is reused. 1230 // check that the window is reused.
1231 chrome::NavigateParams params(browser()->profile(), GetGoogleURL(), 1231 chrome::NavigateParams params(browser()->profile(), GetGoogleURL(),
1232 content::PAGE_TRANSITION_LINK); 1232 content::PAGE_TRANSITION_LINK);
1233 ui_test_utils::NavigateToURL(&params); 1233 ui_test_utils::NavigateToURL(&params);
1234 EXPECT_EQ(1u, BrowserList::size()); 1234 EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
1235 1235
1236 // Now navigate using the incognito profile and check that a new window 1236 // Now navigate using the incognito profile and check that a new window
1237 // is created. 1237 // is created.
1238 chrome::NavigateParams params_incognito( 1238 chrome::NavigateParams params_incognito(
1239 browser()->profile()->GetOffTheRecordProfile(), 1239 browser()->profile()->GetOffTheRecordProfile(),
1240 GetGoogleURL(), content::PAGE_TRANSITION_LINK); 1240 GetGoogleURL(), content::PAGE_TRANSITION_LINK);
1241 ui_test_utils::NavigateToURL(&params_incognito); 1241 ui_test_utils::NavigateToURL(&params_incognito);
1242 EXPECT_EQ(2u, BrowserList::size()); 1242 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
1243 } 1243 }
1244 1244
1245 } // namespace 1245 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser_finder.cc ('k') | chrome/browser/ui/browser_navigator_browsertest_chromeos.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698