| OLD | NEW |
| 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 } // namespace | 89 } // namespace |
| 90 | 90 |
| 91 class StartupBrowserCreatorTest : public ExtensionBrowserTest { | 91 class StartupBrowserCreatorTest : public ExtensionBrowserTest { |
| 92 protected: | 92 protected: |
| 93 StartupBrowserCreatorTest() {} | 93 StartupBrowserCreatorTest() {} |
| 94 | 94 |
| 95 bool SetUpUserDataDirectory() override { | 95 bool SetUpUserDataDirectory() override { |
| 96 return ExtensionBrowserTest::SetUpUserDataDirectory(); | 96 return ExtensionBrowserTest::SetUpUserDataDirectory(); |
| 97 } | 97 } |
| 98 | 98 |
| 99 void SetUpCommandLine(CommandLine* command_line) override { | 99 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 100 ExtensionBrowserTest::SetUpCommandLine(command_line); | 100 ExtensionBrowserTest::SetUpCommandLine(command_line); |
| 101 command_line->AppendSwitch(switches::kEnablePanels); | 101 command_line->AppendSwitch(switches::kEnablePanels); |
| 102 command_line->AppendSwitchASCII(switches::kHomePage, url::kAboutBlankURL); | 102 command_line->AppendSwitchASCII(switches::kHomePage, url::kAboutBlankURL); |
| 103 #if defined(OS_CHROMEOS) | 103 #if defined(OS_CHROMEOS) |
| 104 // TODO(nkostylev): Investigate if we can remove this switch. | 104 // TODO(nkostylev): Investigate if we can remove this switch. |
| 105 command_line->AppendSwitch(switches::kCreateBrowserOnStartupForTests); | 105 command_line->AppendSwitch(switches::kCreateBrowserOnStartupForTests); |
| 106 #endif | 106 #endif |
| 107 } | 107 } |
| 108 | 108 |
| 109 // Helper functions return void so that we can ASSERT*(). | 109 // Helper functions return void so that we can ASSERT*(). |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 | 179 |
| 180 OpenURLsPopupObserver observer; | 180 OpenURLsPopupObserver observer; |
| 181 BrowserList::AddObserver(&observer); | 181 BrowserList::AddObserver(&observer); |
| 182 | 182 |
| 183 Browser* popup = new Browser( | 183 Browser* popup = new Browser( |
| 184 Browser::CreateParams(Browser::TYPE_POPUP, browser()->profile(), | 184 Browser::CreateParams(Browser::TYPE_POPUP, browser()->profile(), |
| 185 browser()->host_desktop_type())); | 185 browser()->host_desktop_type())); |
| 186 ASSERT_TRUE(popup->is_type_popup()); | 186 ASSERT_TRUE(popup->is_type_popup()); |
| 187 ASSERT_EQ(popup, observer.added_browser_); | 187 ASSERT_EQ(popup, observer.added_browser_); |
| 188 | 188 |
| 189 CommandLine dummy(CommandLine::NO_PROGRAM); | 189 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 190 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 190 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 191 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 191 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 192 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); | 192 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); |
| 193 // This should create a new window, but re-use the profile from |popup|. If | 193 // This should create a new window, but re-use the profile from |popup|. If |
| 194 // it used a NULL or invalid profile, it would crash. | 194 // it used a NULL or invalid profile, it would crash. |
| 195 launch.OpenURLsInBrowser(popup, false, urls, chrome::GetActiveDesktop()); | 195 launch.OpenURLsInBrowser(popup, false, urls, chrome::GetActiveDesktop()); |
| 196 ASSERT_NE(popup, observer.added_browser_); | 196 ASSERT_NE(popup, observer.added_browser_); |
| 197 BrowserList::RemoveObserver(&observer); | 197 BrowserList::RemoveObserver(&observer); |
| 198 } | 198 } |
| 199 | 199 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 214 | 214 |
| 215 // Set the startup preference to open these URLs. | 215 // Set the startup preference to open these URLs. |
| 216 SessionStartupPref pref(SessionStartupPref::URLS); | 216 SessionStartupPref pref(SessionStartupPref::URLS); |
| 217 pref.urls = urls; | 217 pref.urls = urls; |
| 218 SessionStartupPref::SetStartupPref(browser()->profile(), pref); | 218 SessionStartupPref::SetStartupPref(browser()->profile(), pref); |
| 219 | 219 |
| 220 // Close the browser. | 220 // Close the browser. |
| 221 browser()->window()->Close(); | 221 browser()->window()->Close(); |
| 222 | 222 |
| 223 // Do a simple non-process-startup browser launch. | 223 // Do a simple non-process-startup browser launch. |
| 224 CommandLine dummy(CommandLine::NO_PROGRAM); | 224 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 225 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 225 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 226 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 226 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 227 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); | 227 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); |
| 228 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 228 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 229 browser()->host_desktop_type())); | 229 browser()->host_desktop_type())); |
| 230 | 230 |
| 231 // This should have created a new browser window. |browser()| is still | 231 // This should have created a new browser window. |browser()| is still |
| 232 // around at this point, even though we've closed its window. | 232 // around at this point, even though we've closed its window. |
| 233 Browser* new_browser = FindOneOtherBrowser(browser()); | 233 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 234 ASSERT_TRUE(new_browser); | 234 ASSERT_TRUE(new_browser); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 259 urls.push_back(ui_test_utils::GetTestUrl( | 259 urls.push_back(ui_test_utils::GetTestUrl( |
| 260 base::FilePath(base::FilePath::kCurrentDirectory), | 260 base::FilePath(base::FilePath::kCurrentDirectory), |
| 261 base::FilePath(FILE_PATH_LITERAL("title2.html")))); | 261 base::FilePath(FILE_PATH_LITERAL("title2.html")))); |
| 262 | 262 |
| 263 // Set the startup preference to open these URLs. | 263 // Set the startup preference to open these URLs. |
| 264 SessionStartupPref pref(SessionStartupPref::URLS); | 264 SessionStartupPref pref(SessionStartupPref::URLS); |
| 265 pref.urls = urls; | 265 pref.urls = urls; |
| 266 SessionStartupPref::SetStartupPref(browser()->profile(), pref); | 266 SessionStartupPref::SetStartupPref(browser()->profile(), pref); |
| 267 | 267 |
| 268 // Do a simple non-process-startup browser launch. | 268 // Do a simple non-process-startup browser launch. |
| 269 CommandLine dummy(CommandLine::NO_PROGRAM); | 269 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 270 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 270 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 271 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 271 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 272 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); | 272 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); |
| 273 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 273 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 274 browser()->host_desktop_type())); | 274 browser()->host_desktop_type())); |
| 275 | 275 |
| 276 // This should have created a new browser window. | 276 // This should have created a new browser window. |
| 277 Browser* new_browser = FindOneOtherBrowser(browser()); | 277 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 278 ASSERT_TRUE(new_browser); | 278 ASSERT_TRUE(new_browser); |
| 279 | 279 |
| 280 // The new browser should have exactly one tab (not the startup URLs). | 280 // The new browser should have exactly one tab (not the startup URLs). |
| 281 ASSERT_EQ(1, new_browser->tab_strip_model()->count()); | 281 ASSERT_EQ(1, new_browser->tab_strip_model()->count()); |
| 282 } | 282 } |
| 283 | 283 |
| 284 #if defined(OS_WIN) | 284 #if defined(OS_WIN) |
| 285 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ActivateExistingBrowser) { | 285 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ActivateExistingBrowser) { |
| 286 // Initially, there should only be one browser open. | 286 // Initially, there should only be one browser open. |
| 287 ASSERT_TRUE(browser()); | 287 ASSERT_TRUE(browser()); |
| 288 EXPECT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), | 288 EXPECT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), |
| 289 browser()->host_desktop_type())); | 289 browser()->host_desktop_type())); |
| 290 | 290 |
| 291 // Add --activate-existing-profile-browser to the command line and | 291 // Add --activate-existing-profile-browser to the command line and |
| 292 // start a new process. | 292 // start a new process. |
| 293 CommandLine dummy(CommandLine::NO_PROGRAM); | 293 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 294 dummy.AppendSwitch(switches::kActivateExistingProfileBrowser); | 294 dummy.AppendSwitch(switches::kActivateExistingProfileBrowser); |
| 295 | 295 |
| 296 StartupBrowserCreator::ProcessCommandLineAlreadyRunning( | 296 StartupBrowserCreator::ProcessCommandLineAlreadyRunning( |
| 297 dummy, base::FilePath(), browser()->profile()->GetPath()); | 297 dummy, base::FilePath(), browser()->profile()->GetPath()); |
| 298 | 298 |
| 299 // This should not have created a new browser window, and should have | 299 // This should not have created a new browser window, and should have |
| 300 // activated the existing browser. | 300 // activated the existing browser. |
| 301 EXPECT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), | 301 EXPECT_EQ(1u, chrome::GetBrowserCount(browser()->profile(), |
| 302 browser()->host_desktop_type())); | 302 browser()->host_desktop_type())); |
| 303 } | 303 } |
| 304 #endif | 304 #endif |
| 305 | 305 |
| 306 // App shortcuts are not implemented on mac os. | 306 // App shortcuts are not implemented on mac os. |
| 307 #if !defined(OS_MACOSX) | 307 #if !defined(OS_MACOSX) |
| 308 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutNoPref) { | 308 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutNoPref) { |
| 309 // Load an app with launch.container = 'tab'. | 309 // Load an app with launch.container = 'tab'. |
| 310 const Extension* extension_app = NULL; | 310 const Extension* extension_app = NULL; |
| 311 ASSERT_NO_FATAL_FAILURE(LoadApp("app_with_tab_container", &extension_app)); | 311 ASSERT_NO_FATAL_FAILURE(LoadApp("app_with_tab_container", &extension_app)); |
| 312 | 312 |
| 313 // Add --app-id=<extension->id()> to the command line. | 313 // Add --app-id=<extension->id()> to the command line. |
| 314 CommandLine command_line(CommandLine::NO_PROGRAM); | 314 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| 315 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); | 315 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); |
| 316 | 316 |
| 317 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 317 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 318 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 318 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 319 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); | 319 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); |
| 320 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 320 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 321 browser()->host_desktop_type())); | 321 browser()->host_desktop_type())); |
| 322 | 322 |
| 323 // No pref was set, so the app should have opened in a tab in a new window. | 323 // No pref was set, so the app should have opened in a tab in a new window. |
| 324 // The launch should have created a new browser. | 324 // The launch should have created a new browser. |
| 325 Browser* new_browser = FindOneOtherBrowser(browser()); | 325 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 326 ASSERT_TRUE(new_browser); | 326 ASSERT_TRUE(new_browser); |
| 327 | 327 |
| 328 // It should be a standard tabbed window, not an app window. | 328 // It should be a standard tabbed window, not an app window. |
| 329 EXPECT_FALSE(new_browser->is_app()); | 329 EXPECT_FALSE(new_browser->is_app()); |
| 330 EXPECT_TRUE(new_browser->is_type_tabbed()); | 330 EXPECT_TRUE(new_browser->is_type_tabbed()); |
| 331 } | 331 } |
| 332 | 332 |
| 333 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutWindowPref) { | 333 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutWindowPref) { |
| 334 const Extension* extension_app = NULL; | 334 const Extension* extension_app = NULL; |
| 335 ASSERT_NO_FATAL_FAILURE(LoadApp("app_with_tab_container", &extension_app)); | 335 ASSERT_NO_FATAL_FAILURE(LoadApp("app_with_tab_container", &extension_app)); |
| 336 | 336 |
| 337 // Set a pref indicating that the user wants to open this app in a window. | 337 // Set a pref indicating that the user wants to open this app in a window. |
| 338 SetAppLaunchPref(extension_app->id(), extensions::LAUNCH_TYPE_WINDOW); | 338 SetAppLaunchPref(extension_app->id(), extensions::LAUNCH_TYPE_WINDOW); |
| 339 | 339 |
| 340 CommandLine command_line(CommandLine::NO_PROGRAM); | 340 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| 341 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); | 341 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); |
| 342 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 342 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 343 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 343 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 344 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); | 344 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); |
| 345 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 345 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 346 browser()->host_desktop_type())); | 346 browser()->host_desktop_type())); |
| 347 | 347 |
| 348 // Pref was set to open in a window, so the app should have opened in a | 348 // Pref was set to open in a window, so the app should have opened in a |
| 349 // window. The launch should have created a new browser. Find the new | 349 // window. The launch should have created a new browser. Find the new |
| 350 // browser. | 350 // browser. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 361 } | 361 } |
| 362 | 362 |
| 363 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutTabPref) { | 363 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, OpenAppShortcutTabPref) { |
| 364 // Load an app with launch.container = 'tab'. | 364 // Load an app with launch.container = 'tab'. |
| 365 const Extension* extension_app = NULL; | 365 const Extension* extension_app = NULL; |
| 366 ASSERT_NO_FATAL_FAILURE(LoadApp("app_with_tab_container", &extension_app)); | 366 ASSERT_NO_FATAL_FAILURE(LoadApp("app_with_tab_container", &extension_app)); |
| 367 | 367 |
| 368 // Set a pref indicating that the user wants to open this app in a window. | 368 // Set a pref indicating that the user wants to open this app in a window. |
| 369 SetAppLaunchPref(extension_app->id(), extensions::LAUNCH_TYPE_REGULAR); | 369 SetAppLaunchPref(extension_app->id(), extensions::LAUNCH_TYPE_REGULAR); |
| 370 | 370 |
| 371 CommandLine command_line(CommandLine::NO_PROGRAM); | 371 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); |
| 372 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); | 372 command_line.AppendSwitchASCII(switches::kAppId, extension_app->id()); |
| 373 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 373 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 374 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 374 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 375 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); | 375 StartupBrowserCreatorImpl launch(base::FilePath(), command_line, first_run); |
| 376 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 376 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 377 browser()->host_desktop_type())); | 377 browser()->host_desktop_type())); |
| 378 | 378 |
| 379 // When an app shortcut is open and the pref indicates a tab should | 379 // When an app shortcut is open and the pref indicates a tab should |
| 380 // open, the tab is open in a new browser window. Expect a new window. | 380 // open, the tab is open in a new browser window. Expect a new window. |
| 381 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), | 381 ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile(), |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 #define MAYBE_AddFirstRunTab DISABLED_AddFirstRunTab | 427 #define MAYBE_AddFirstRunTab DISABLED_AddFirstRunTab |
| 428 #else | 428 #else |
| 429 #define MAYBE_AddFirstRunTab AddFirstRunTab | 429 #define MAYBE_AddFirstRunTab AddFirstRunTab |
| 430 #endif | 430 #endif |
| 431 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, MAYBE_AddFirstRunTab) { | 431 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, MAYBE_AddFirstRunTab) { |
| 432 StartupBrowserCreator browser_creator; | 432 StartupBrowserCreator browser_creator; |
| 433 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 433 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 434 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title2.html")); | 434 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title2.html")); |
| 435 | 435 |
| 436 // Do a simple non-process-startup browser launch. | 436 // Do a simple non-process-startup browser launch. |
| 437 CommandLine dummy(CommandLine::NO_PROGRAM); | 437 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 438 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 438 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 439 chrome::startup::IS_FIRST_RUN); | 439 chrome::startup::IS_FIRST_RUN); |
| 440 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 440 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 441 browser()->host_desktop_type())); | 441 browser()->host_desktop_type())); |
| 442 | 442 |
| 443 // This should have created a new browser window. | 443 // This should have created a new browser window. |
| 444 Browser* new_browser = FindOneOtherBrowser(browser()); | 444 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 445 ASSERT_TRUE(new_browser); | 445 ASSERT_TRUE(new_browser); |
| 446 | 446 |
| 447 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 447 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 462 #define MAYBE_AddCustomFirstRunTab AddCustomFirstRunTab | 462 #define MAYBE_AddCustomFirstRunTab AddCustomFirstRunTab |
| 463 #endif | 463 #endif |
| 464 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, MAYBE_AddCustomFirstRunTab) { | 464 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, MAYBE_AddCustomFirstRunTab) { |
| 465 StartupBrowserCreator browser_creator; | 465 StartupBrowserCreator browser_creator; |
| 466 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 466 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 467 browser_creator.AddFirstRunTab(GURL("http://new_tab_page")); | 467 browser_creator.AddFirstRunTab(GURL("http://new_tab_page")); |
| 468 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title2.html")); | 468 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title2.html")); |
| 469 browser_creator.AddFirstRunTab(GURL("http://welcome_page")); | 469 browser_creator.AddFirstRunTab(GURL("http://welcome_page")); |
| 470 | 470 |
| 471 // Do a simple non-process-startup browser launch. | 471 // Do a simple non-process-startup browser launch. |
| 472 CommandLine dummy(CommandLine::NO_PROGRAM); | 472 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 473 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 473 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 474 chrome::startup::IS_FIRST_RUN); | 474 chrome::startup::IS_FIRST_RUN); |
| 475 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 475 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 476 browser()->host_desktop_type())); | 476 browser()->host_desktop_type())); |
| 477 | 477 |
| 478 // This should have created a new browser window. | 478 // This should have created a new browser window. |
| 479 Browser* new_browser = FindOneOtherBrowser(browser()); | 479 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 480 ASSERT_TRUE(new_browser); | 480 ASSERT_TRUE(new_browser); |
| 481 | 481 |
| 482 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 482 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| 483 EXPECT_EQ(4, tab_strip->count()); | 483 EXPECT_EQ(4, tab_strip->count()); |
| 484 | 484 |
| 485 EXPECT_EQ("title1.html", | 485 EXPECT_EQ("title1.html", |
| 486 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); | 486 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); |
| 487 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 487 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 488 tab_strip->GetWebContentsAt(1)->GetURL()); | 488 tab_strip->GetWebContentsAt(1)->GetURL()); |
| 489 EXPECT_EQ("title2.html", | 489 EXPECT_EQ("title2.html", |
| 490 tab_strip->GetWebContentsAt(2)->GetURL().ExtractFileName()); | 490 tab_strip->GetWebContentsAt(2)->GetURL().ExtractFileName()); |
| 491 EXPECT_EQ(internals::GetWelcomePageURL(), | 491 EXPECT_EQ(internals::GetWelcomePageURL(), |
| 492 tab_strip->GetWebContentsAt(3)->GetURL()); | 492 tab_strip->GetWebContentsAt(3)->GetURL()); |
| 493 } | 493 } |
| 494 | 494 |
| 495 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoNoWelcomePage) { | 495 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoNoWelcomePage) { |
| 496 // Do a simple non-process-startup browser launch. | 496 // Do a simple non-process-startup browser launch. |
| 497 CommandLine dummy(CommandLine::NO_PROGRAM); | 497 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 498 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, | 498 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, |
| 499 chrome::startup::IS_FIRST_RUN); | 499 chrome::startup::IS_FIRST_RUN); |
| 500 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 500 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 501 browser()->host_desktop_type())); | 501 browser()->host_desktop_type())); |
| 502 | 502 |
| 503 // This should have created a new browser window. | 503 // This should have created a new browser window. |
| 504 Browser* new_browser = FindOneOtherBrowser(browser()); | 504 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 505 ASSERT_TRUE(new_browser); | 505 ASSERT_TRUE(new_browser); |
| 506 | 506 |
| 507 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 507 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| 508 EXPECT_EQ(1, tab_strip->count()); | 508 EXPECT_EQ(1, tab_strip->count()); |
| 509 | 509 |
| 510 if (signin::ShouldShowPromoAtStartup(browser()->profile(), true)) { | 510 if (signin::ShouldShowPromoAtStartup(browser()->profile(), true)) { |
| 511 EXPECT_EQ(signin::GetPromoURL(signin_metrics::SOURCE_START_PAGE, false), | 511 EXPECT_EQ(signin::GetPromoURL(signin_metrics::SOURCE_START_PAGE, false), |
| 512 tab_strip->GetWebContentsAt(0)->GetURL()); | 512 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 513 } else { | 513 } else { |
| 514 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), | 514 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), |
| 515 tab_strip->GetWebContentsAt(0)->GetURL()); | 515 tab_strip->GetWebContentsAt(0)->GetURL()); |
| 516 } | 516 } |
| 517 } | 517 } |
| 518 | 518 |
| 519 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoWithWelcomePage) { | 519 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoWithWelcomePage) { |
| 520 first_run::SetShouldShowWelcomePage(); | 520 first_run::SetShouldShowWelcomePage(); |
| 521 | 521 |
| 522 // Do a simple non-process-startup browser launch. | 522 // Do a simple non-process-startup browser launch. |
| 523 CommandLine dummy(CommandLine::NO_PROGRAM); | 523 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 524 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, | 524 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, |
| 525 chrome::startup::IS_FIRST_RUN); | 525 chrome::startup::IS_FIRST_RUN); |
| 526 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 526 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 527 browser()->host_desktop_type())); | 527 browser()->host_desktop_type())); |
| 528 | 528 |
| 529 // This should have created a new browser window. | 529 // This should have created a new browser window. |
| 530 Browser* new_browser = FindOneOtherBrowser(browser()); | 530 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 531 ASSERT_TRUE(new_browser); | 531 ASSERT_TRUE(new_browser); |
| 532 | 532 |
| 533 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 533 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 547 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoWithFirstRunTabs) { | 547 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, SyncPromoWithFirstRunTabs) { |
| 548 StartupBrowserCreator browser_creator; | 548 StartupBrowserCreator browser_creator; |
| 549 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 549 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 550 | 550 |
| 551 // The welcome page should not be shown, even if | 551 // The welcome page should not be shown, even if |
| 552 // first_run::ShouldShowWelcomePage() says so, when there are already | 552 // first_run::ShouldShowWelcomePage() says so, when there are already |
| 553 // more than 2 first run tabs. | 553 // more than 2 first run tabs. |
| 554 first_run::SetShouldShowWelcomePage(); | 554 first_run::SetShouldShowWelcomePage(); |
| 555 | 555 |
| 556 // Do a simple non-process-startup browser launch. | 556 // Do a simple non-process-startup browser launch. |
| 557 CommandLine dummy(CommandLine::NO_PROGRAM); | 557 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 558 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 558 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 559 chrome::startup::IS_FIRST_RUN); | 559 chrome::startup::IS_FIRST_RUN); |
| 560 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 560 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 561 browser()->host_desktop_type())); | 561 browser()->host_desktop_type())); |
| 562 | 562 |
| 563 // This should have created a new browser window. | 563 // This should have created a new browser window. |
| 564 Browser* new_browser = FindOneOtherBrowser(browser()); | 564 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 565 ASSERT_TRUE(new_browser); | 565 ASSERT_TRUE(new_browser); |
| 566 | 566 |
| 567 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 567 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 580 | 580 |
| 581 // The welcome page should still be shown if there are more than 2 first run | 581 // The welcome page should still be shown if there are more than 2 first run |
| 582 // tabs, but the welcome page was explcitly added to the first run tabs. | 582 // tabs, but the welcome page was explcitly added to the first run tabs. |
| 583 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, | 583 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, |
| 584 SyncPromoWithFirstRunTabsIncludingWelcomePage) { | 584 SyncPromoWithFirstRunTabsIncludingWelcomePage) { |
| 585 StartupBrowserCreator browser_creator; | 585 StartupBrowserCreator browser_creator; |
| 586 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 586 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 587 browser_creator.AddFirstRunTab(GURL("http://welcome_page")); | 587 browser_creator.AddFirstRunTab(GURL("http://welcome_page")); |
| 588 | 588 |
| 589 // Do a simple non-process-startup browser launch. | 589 // Do a simple non-process-startup browser launch. |
| 590 CommandLine dummy(CommandLine::NO_PROGRAM); | 590 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 591 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 591 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 592 chrome::startup::IS_FIRST_RUN); | 592 chrome::startup::IS_FIRST_RUN); |
| 593 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 593 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 594 browser()->host_desktop_type())); | 594 browser()->host_desktop_type())); |
| 595 | 595 |
| 596 // This should have created a new browser window. | 596 // This should have created a new browser window. |
| 597 Browser* new_browser = FindOneOtherBrowser(browser()); | 597 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 598 ASSERT_TRUE(new_browser); | 598 ASSERT_TRUE(new_browser); |
| 599 | 599 |
| 600 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 600 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 612 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); | 612 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); |
| 613 EXPECT_EQ(internals::GetWelcomePageURL(), | 613 EXPECT_EQ(internals::GetWelcomePageURL(), |
| 614 tab_strip->GetWebContentsAt(1)->GetURL()); | 614 tab_strip->GetWebContentsAt(1)->GetURL()); |
| 615 } | 615 } |
| 616 } | 616 } |
| 617 | 617 |
| 618 #if !defined(OS_CHROMEOS) | 618 #if !defined(OS_CHROMEOS) |
| 619 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, StartupURLsForTwoProfiles) { | 619 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, StartupURLsForTwoProfiles) { |
| 620 #if defined(OS_WIN) && defined(USE_ASH) | 620 #if defined(OS_WIN) && defined(USE_ASH) |
| 621 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 621 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 622 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 622 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 623 switches::kAshBrowserTests)) |
| 623 return; | 624 return; |
| 624 #endif | 625 #endif |
| 625 | 626 |
| 626 Profile* default_profile = browser()->profile(); | 627 Profile* default_profile = browser()->profile(); |
| 627 | 628 |
| 628 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 629 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
| 629 // Create another profile. | 630 // Create another profile. |
| 630 base::FilePath dest_path = profile_manager->user_data_dir(); | 631 base::FilePath dest_path = profile_manager->user_data_dir(); |
| 631 dest_path = dest_path.Append(FILE_PATH_LITERAL("New Profile 1")); | 632 dest_path = dest_path.Append(FILE_PATH_LITERAL("New Profile 1")); |
| 632 | 633 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 648 pref1.urls = urls1; | 649 pref1.urls = urls1; |
| 649 SessionStartupPref::SetStartupPref(default_profile, pref1); | 650 SessionStartupPref::SetStartupPref(default_profile, pref1); |
| 650 SessionStartupPref pref2(SessionStartupPref::URLS); | 651 SessionStartupPref pref2(SessionStartupPref::URLS); |
| 651 pref2.urls = urls2; | 652 pref2.urls = urls2; |
| 652 SessionStartupPref::SetStartupPref(other_profile, pref2); | 653 SessionStartupPref::SetStartupPref(other_profile, pref2); |
| 653 | 654 |
| 654 // Close the browser. | 655 // Close the browser. |
| 655 browser()->window()->Close(); | 656 browser()->window()->Close(); |
| 656 | 657 |
| 657 // Do a simple non-process-startup browser launch. | 658 // Do a simple non-process-startup browser launch. |
| 658 CommandLine dummy(CommandLine::NO_PROGRAM); | 659 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 659 | 660 |
| 660 int return_code; | 661 int return_code; |
| 661 StartupBrowserCreator browser_creator; | 662 StartupBrowserCreator browser_creator; |
| 662 std::vector<Profile*> last_opened_profiles; | 663 std::vector<Profile*> last_opened_profiles; |
| 663 last_opened_profiles.push_back(default_profile); | 664 last_opened_profiles.push_back(default_profile); |
| 664 last_opened_profiles.push_back(other_profile); | 665 last_opened_profiles.push_back(other_profile); |
| 665 browser_creator.Start(dummy, profile_manager->user_data_dir(), | 666 browser_creator.Start(dummy, profile_manager->user_data_dir(), |
| 666 default_profile, last_opened_profiles, &return_code); | 667 default_profile, last_opened_profiles, &return_code); |
| 667 | 668 |
| 668 // urls1 were opened in a browser for default_profile, and urls2 were opened | 669 // urls1 were opened in a browser for default_profile, and urls2 were opened |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 742 profile1->GetPrefs()->CommitPendingWrite(); | 743 profile1->GetPrefs()->CommitPendingWrite(); |
| 743 profile2->GetPrefs()->CommitPendingWrite(); | 744 profile2->GetPrefs()->CommitPendingWrite(); |
| 744 } | 745 } |
| 745 | 746 |
| 746 // See crbug.com/376184 about improvements to this test on Mac. | 747 // See crbug.com/376184 about improvements to this test on Mac. |
| 747 // Disabled because it's flaky. http://crbug.com/379579 | 748 // Disabled because it's flaky. http://crbug.com/379579 |
| 748 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, | 749 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, |
| 749 DISABLED_UpdateWithTwoProfiles) { | 750 DISABLED_UpdateWithTwoProfiles) { |
| 750 #if defined(OS_WIN) && defined(USE_ASH) | 751 #if defined(OS_WIN) && defined(USE_ASH) |
| 751 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 752 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 752 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 753 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 754 switches::kAshBrowserTests)) |
| 753 return; | 755 return; |
| 754 #endif | 756 #endif |
| 755 | 757 |
| 756 // Make StartupBrowserCreator::WasRestarted() return true. | 758 // Make StartupBrowserCreator::WasRestarted() return true. |
| 757 StartupBrowserCreator::was_restarted_read_ = false; | 759 StartupBrowserCreator::was_restarted_read_ = false; |
| 758 PrefService* pref_service = g_browser_process->local_state(); | 760 PrefService* pref_service = g_browser_process->local_state(); |
| 759 pref_service->SetBoolean(prefs::kWasRestarted, true); | 761 pref_service->SetBoolean(prefs::kWasRestarted, true); |
| 760 | 762 |
| 761 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 763 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
| 762 | 764 |
| 763 // Open the two profiles. | 765 // Open the two profiles. |
| 764 base::FilePath dest_path = profile_manager->user_data_dir(); | 766 base::FilePath dest_path = profile_manager->user_data_dir(); |
| 765 | 767 |
| 766 Profile* profile1 = profile_manager->GetProfile( | 768 Profile* profile1 = profile_manager->GetProfile( |
| 767 dest_path.Append(FILE_PATH_LITERAL("New Profile 1"))); | 769 dest_path.Append(FILE_PATH_LITERAL("New Profile 1"))); |
| 768 ASSERT_TRUE(profile1); | 770 ASSERT_TRUE(profile1); |
| 769 | 771 |
| 770 Profile* profile2 = profile_manager->GetProfile( | 772 Profile* profile2 = profile_manager->GetProfile( |
| 771 dest_path.Append(FILE_PATH_LITERAL("New Profile 2"))); | 773 dest_path.Append(FILE_PATH_LITERAL("New Profile 2"))); |
| 772 ASSERT_TRUE(profile2); | 774 ASSERT_TRUE(profile2); |
| 773 | 775 |
| 774 // Simulate a launch after a browser update. | 776 // Simulate a launch after a browser update. |
| 775 CommandLine dummy(CommandLine::NO_PROGRAM); | 777 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 776 int return_code; | 778 int return_code; |
| 777 StartupBrowserCreator browser_creator; | 779 StartupBrowserCreator browser_creator; |
| 778 std::vector<Profile*> last_opened_profiles; | 780 std::vector<Profile*> last_opened_profiles; |
| 779 last_opened_profiles.push_back(profile1); | 781 last_opened_profiles.push_back(profile1); |
| 780 last_opened_profiles.push_back(profile2); | 782 last_opened_profiles.push_back(profile2); |
| 781 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile1, | 783 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile1, |
| 782 last_opened_profiles, &return_code); | 784 last_opened_profiles, &return_code); |
| 783 | 785 |
| 784 while (SessionRestore::IsRestoring(profile1) || | 786 while (SessionRestore::IsRestoring(profile1) || |
| 785 SessionRestore::IsRestoring(profile2)) | 787 SessionRestore::IsRestoring(profile2)) |
| (...skipping 21 matching lines...) Expand all Loading... |
| 807 tab_strip = new_browser->tab_strip_model(); | 809 tab_strip = new_browser->tab_strip_model(); |
| 808 ASSERT_EQ(1, tab_strip->count()); | 810 ASSERT_EQ(1, tab_strip->count()); |
| 809 EXPECT_EQ("/files/form.html", | 811 EXPECT_EQ("/files/form.html", |
| 810 tab_strip->GetWebContentsAt(0)->GetURL().path()); | 812 tab_strip->GetWebContentsAt(0)->GetURL().path()); |
| 811 } | 813 } |
| 812 | 814 |
| 813 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, | 815 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, |
| 814 ProfilesWithoutPagesNotLaunched) { | 816 ProfilesWithoutPagesNotLaunched) { |
| 815 #if defined(OS_WIN) && defined(USE_ASH) | 817 #if defined(OS_WIN) && defined(USE_ASH) |
| 816 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 818 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 817 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 819 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 820 switches::kAshBrowserTests)) |
| 818 return; | 821 return; |
| 819 #endif | 822 #endif |
| 820 | 823 |
| 821 Profile* default_profile = browser()->profile(); | 824 Profile* default_profile = browser()->profile(); |
| 822 | 825 |
| 823 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 826 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
| 824 | 827 |
| 825 // Create 4 more profiles. | 828 // Create 4 more profiles. |
| 826 base::FilePath dest_path1 = profile_manager->user_data_dir().Append( | 829 base::FilePath dest_path1 = profile_manager->user_data_dir().Append( |
| 827 FILE_PATH_LITERAL("New Profile 1")); | 830 FILE_PATH_LITERAL("New Profile 1")); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 867 ui_test_utils::NavigateToURL(browser_last, | 870 ui_test_utils::NavigateToURL(browser_last, |
| 868 test_server()->GetURL("files/empty.html")); | 871 test_server()->GetURL("files/empty.html")); |
| 869 browser_last->window()->Close(); | 872 browser_last->window()->Close(); |
| 870 | 873 |
| 871 // Close the main browser. | 874 // Close the main browser. |
| 872 chrome::HostDesktopType original_desktop_type = | 875 chrome::HostDesktopType original_desktop_type = |
| 873 browser()->host_desktop_type(); | 876 browser()->host_desktop_type(); |
| 874 browser()->window()->Close(); | 877 browser()->window()->Close(); |
| 875 | 878 |
| 876 // Do a simple non-process-startup browser launch. | 879 // Do a simple non-process-startup browser launch. |
| 877 CommandLine dummy(CommandLine::NO_PROGRAM); | 880 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 878 | 881 |
| 879 int return_code; | 882 int return_code; |
| 880 StartupBrowserCreator browser_creator; | 883 StartupBrowserCreator browser_creator; |
| 881 std::vector<Profile*> last_opened_profiles; | 884 std::vector<Profile*> last_opened_profiles; |
| 882 last_opened_profiles.push_back(profile_home1); | 885 last_opened_profiles.push_back(profile_home1); |
| 883 last_opened_profiles.push_back(profile_home2); | 886 last_opened_profiles.push_back(profile_home2); |
| 884 last_opened_profiles.push_back(profile_last); | 887 last_opened_profiles.push_back(profile_last); |
| 885 last_opened_profiles.push_back(profile_urls); | 888 last_opened_profiles.push_back(profile_urls); |
| 886 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile_home1, | 889 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile_home1, |
| 887 last_opened_profiles, &return_code); | 890 last_opened_profiles, &return_code); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 921 EXPECT_EQ("/files/empty.html", | 924 EXPECT_EQ("/files/empty.html", |
| 922 tab_strip->GetWebContentsAt(0)->GetURL().path()); | 925 tab_strip->GetWebContentsAt(0)->GetURL().path()); |
| 923 | 926 |
| 924 // profile_home2 was not launched since it would've only opened the home page. | 927 // profile_home2 was not launched since it would've only opened the home page. |
| 925 ASSERT_EQ(0u, chrome::GetBrowserCount(profile_home2, original_desktop_type)); | 928 ASSERT_EQ(0u, chrome::GetBrowserCount(profile_home2, original_desktop_type)); |
| 926 } | 929 } |
| 927 | 930 |
| 928 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ProfilesLaunchedAfterCrash) { | 931 IN_PROC_BROWSER_TEST_F(StartupBrowserCreatorTest, ProfilesLaunchedAfterCrash) { |
| 929 #if defined(OS_WIN) && defined(USE_ASH) | 932 #if defined(OS_WIN) && defined(USE_ASH) |
| 930 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 933 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 931 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 934 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 935 switches::kAshBrowserTests)) |
| 932 return; | 936 return; |
| 933 #endif | 937 #endif |
| 934 | 938 |
| 935 // After an unclean exit, all profiles will be launched. However, they won't | 939 // After an unclean exit, all profiles will be launched. However, they won't |
| 936 // open any pages automatically. | 940 // open any pages automatically. |
| 937 | 941 |
| 938 ProfileManager* profile_manager = g_browser_process->profile_manager(); | 942 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
| 939 | 943 |
| 940 // Create 3 profiles. | 944 // Create 3 profiles. |
| 941 base::FilePath dest_path1 = profile_manager->user_data_dir().Append( | 945 base::FilePath dest_path1 = profile_manager->user_data_dir().Append( |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 983 // | 987 // |
| 984 // On Mac OS X, an infobar is shown to restore the previous session, which | 988 // On Mac OS X, an infobar is shown to restore the previous session, which |
| 985 // is tested by function EnsureRestoreUIWasShown. | 989 // is tested by function EnsureRestoreUIWasShown. |
| 986 // | 990 // |
| 987 // Under a Google Chrome build, it is not tested because a task is posted to | 991 // Under a Google Chrome build, it is not tested because a task is posted to |
| 988 // the file thread before the bubble is shown. It is difficult to make sure | 992 // the file thread before the bubble is shown. It is difficult to make sure |
| 989 // that the histogram check runs after all threads have finished their tasks. | 993 // that the histogram check runs after all threads have finished their tasks. |
| 990 base::HistogramTester histogram_tester; | 994 base::HistogramTester histogram_tester; |
| 991 #endif // !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) | 995 #endif // !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) |
| 992 | 996 |
| 993 CommandLine dummy(CommandLine::NO_PROGRAM); | 997 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 994 dummy.AppendSwitchASCII(switches::kTestType, "browser"); | 998 dummy.AppendSwitchASCII(switches::kTestType, "browser"); |
| 995 int return_code; | 999 int return_code; |
| 996 StartupBrowserCreator browser_creator; | 1000 StartupBrowserCreator browser_creator; |
| 997 std::vector<Profile*> last_opened_profiles; | 1001 std::vector<Profile*> last_opened_profiles; |
| 998 last_opened_profiles.push_back(profile_home); | 1002 last_opened_profiles.push_back(profile_home); |
| 999 last_opened_profiles.push_back(profile_last); | 1003 last_opened_profiles.push_back(profile_last); |
| 1000 last_opened_profiles.push_back(profile_urls); | 1004 last_opened_profiles.push_back(profile_urls); |
| 1001 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile_home, | 1005 browser_creator.Start(dummy, profile_manager->user_data_dir(), profile_home, |
| 1002 last_opened_profiles, &return_code); | 1006 last_opened_profiles, &return_code); |
| 1003 | 1007 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1043 | 1047 |
| 1044 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) | 1048 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) |
| 1045 // Each profile should have one session restore bubble shown, so we should | 1049 // Each profile should have one session restore bubble shown, so we should |
| 1046 // observe count 3 in bucket 0 (which represents bubble shown). | 1050 // observe count 3 in bucket 0 (which represents bubble shown). |
| 1047 histogram_tester.ExpectBucketCount("SessionCrashed.Bubble", 0, 3); | 1051 histogram_tester.ExpectBucketCount("SessionCrashed.Bubble", 0, 3); |
| 1048 #endif // !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) | 1052 #endif // !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) |
| 1049 } | 1053 } |
| 1050 | 1054 |
| 1051 class SupervisedUserBrowserCreatorTest : public InProcessBrowserTest { | 1055 class SupervisedUserBrowserCreatorTest : public InProcessBrowserTest { |
| 1052 protected: | 1056 protected: |
| 1053 void SetUpCommandLine(CommandLine* command_line) override { | 1057 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 1054 InProcessBrowserTest::SetUpCommandLine(command_line); | 1058 InProcessBrowserTest::SetUpCommandLine(command_line); |
| 1055 command_line->AppendSwitchASCII(switches::kSupervisedUserId, "asdf"); | 1059 command_line->AppendSwitchASCII(switches::kSupervisedUserId, "asdf"); |
| 1056 } | 1060 } |
| 1057 }; | 1061 }; |
| 1058 | 1062 |
| 1059 IN_PROC_BROWSER_TEST_F(SupervisedUserBrowserCreatorTest, | 1063 IN_PROC_BROWSER_TEST_F(SupervisedUserBrowserCreatorTest, |
| 1060 StartupSupervisedUserProfile) { | 1064 StartupSupervisedUserProfile) { |
| 1061 StartupBrowserCreator browser_creator; | 1065 StartupBrowserCreator browser_creator; |
| 1062 | 1066 |
| 1063 // Do a simple non-process-startup browser launch. | 1067 // Do a simple non-process-startup browser launch. |
| 1064 CommandLine dummy(CommandLine::NO_PROGRAM); | 1068 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1065 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1069 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1066 chrome::startup::IS_FIRST_RUN); | 1070 chrome::startup::IS_FIRST_RUN); |
| 1067 content::WindowedNotificationObserver observer( | 1071 content::WindowedNotificationObserver observer( |
| 1068 content::NOTIFICATION_LOAD_STOP, | 1072 content::NOTIFICATION_LOAD_STOP, |
| 1069 content::NotificationService::AllSources()); | 1073 content::NotificationService::AllSources()); |
| 1070 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 1074 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 1071 browser()->host_desktop_type())); | 1075 browser()->host_desktop_type())); |
| 1072 | 1076 |
| 1073 // This should have created a new browser window. | 1077 // This should have created a new browser window. |
| 1074 Browser* new_browser = FindOneOtherBrowser(browser()); | 1078 Browser* new_browser = FindOneOtherBrowser(browser()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1085 // the sync promo exist there. | 1089 // the sync promo exist there. |
| 1086 #if !defined(OS_CHROMEOS) | 1090 #if !defined(OS_CHROMEOS) |
| 1087 | 1091 |
| 1088 // On a branded Linux build, policy is required to suppress the first-run | 1092 // On a branded Linux build, policy is required to suppress the first-run |
| 1089 // dialog. | 1093 // dialog. |
| 1090 #if !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || \ | 1094 #if !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || \ |
| 1091 defined(ENABLE_CONFIGURATION_POLICY) | 1095 defined(ENABLE_CONFIGURATION_POLICY) |
| 1092 | 1096 |
| 1093 class StartupBrowserCreatorFirstRunTest : public InProcessBrowserTest { | 1097 class StartupBrowserCreatorFirstRunTest : public InProcessBrowserTest { |
| 1094 protected: | 1098 protected: |
| 1095 void SetUpCommandLine(CommandLine* command_line) override; | 1099 void SetUpCommandLine(base::CommandLine* command_line) override; |
| 1096 void SetUpInProcessBrowserTestFixture() override; | 1100 void SetUpInProcessBrowserTestFixture() override; |
| 1097 | 1101 |
| 1098 #if defined(ENABLE_CONFIGURATION_POLICY) | 1102 #if defined(ENABLE_CONFIGURATION_POLICY) |
| 1099 policy::MockConfigurationPolicyProvider provider_; | 1103 policy::MockConfigurationPolicyProvider provider_; |
| 1100 policy::PolicyMap policy_map_; | 1104 policy::PolicyMap policy_map_; |
| 1101 #endif // defined(ENABLE_CONFIGURATION_POLICY) | 1105 #endif // defined(ENABLE_CONFIGURATION_POLICY) |
| 1102 }; | 1106 }; |
| 1103 | 1107 |
| 1104 void StartupBrowserCreatorFirstRunTest::SetUpCommandLine( | 1108 void StartupBrowserCreatorFirstRunTest::SetUpCommandLine( |
| 1105 CommandLine* command_line) { | 1109 base::CommandLine* command_line) { |
| 1106 command_line->AppendSwitch(switches::kForceFirstRun); | 1110 command_line->AppendSwitch(switches::kForceFirstRun); |
| 1107 } | 1111 } |
| 1108 | 1112 |
| 1109 void StartupBrowserCreatorFirstRunTest::SetUpInProcessBrowserTestFixture() { | 1113 void StartupBrowserCreatorFirstRunTest::SetUpInProcessBrowserTestFixture() { |
| 1110 #if defined(ENABLE_CONFIGURATION_POLICY) | 1114 #if defined(ENABLE_CONFIGURATION_POLICY) |
| 1111 #if defined(OS_LINUX) && defined(GOOGLE_CHROME_BUILD) | 1115 #if defined(OS_LINUX) && defined(GOOGLE_CHROME_BUILD) |
| 1112 // Set a policy that prevents the first-run dialog from being shown. | 1116 // Set a policy that prevents the first-run dialog from being shown. |
| 1113 policy_map_.Set(policy::key::kMetricsReportingEnabled, | 1117 policy_map_.Set(policy::key::kMetricsReportingEnabled, |
| 1114 policy::POLICY_LEVEL_MANDATORY, | 1118 policy::POLICY_LEVEL_MANDATORY, |
| 1115 policy::POLICY_SCOPE_USER, | 1119 policy::POLICY_SCOPE_USER, |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1139 // { | 1143 // { |
| 1140 // "sync_promo": { | 1144 // "sync_promo": { |
| 1141 // "show_on_first_run_allowed": false | 1145 // "show_on_first_run_allowed": false |
| 1142 // } | 1146 // } |
| 1143 // } | 1147 // } |
| 1144 StartupBrowserCreator browser_creator; | 1148 StartupBrowserCreator browser_creator; |
| 1145 browser()->profile()->GetPrefs()->SetBoolean( | 1149 browser()->profile()->GetPrefs()->SetBoolean( |
| 1146 prefs::kSignInPromoShowOnFirstRunAllowed, false); | 1150 prefs::kSignInPromoShowOnFirstRunAllowed, false); |
| 1147 | 1151 |
| 1148 // Do a process-startup browser launch. | 1152 // Do a process-startup browser launch. |
| 1149 CommandLine dummy(CommandLine::NO_PROGRAM); | 1153 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1150 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1154 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1151 chrome::startup::IS_FIRST_RUN); | 1155 chrome::startup::IS_FIRST_RUN); |
| 1152 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1156 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1153 browser()->host_desktop_type())); | 1157 browser()->host_desktop_type())); |
| 1154 | 1158 |
| 1155 // This should have created a new browser window. | 1159 // This should have created a new browser window. |
| 1156 Browser* new_browser = FindOneOtherBrowser(browser()); | 1160 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1157 ASSERT_TRUE(new_browser); | 1161 ASSERT_TRUE(new_browser); |
| 1158 | 1162 |
| 1159 // Verify that the NTP and the welcome page are shown. | 1163 // Verify that the NTP and the welcome page are shown. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1180 // { | 1184 // { |
| 1181 // "sync_promo": { | 1185 // "sync_promo": { |
| 1182 // "show_on_first_run_allowed": true | 1186 // "show_on_first_run_allowed": true |
| 1183 // } | 1187 // } |
| 1184 // } | 1188 // } |
| 1185 StartupBrowserCreator browser_creator; | 1189 StartupBrowserCreator browser_creator; |
| 1186 browser()->profile()->GetPrefs()->SetBoolean( | 1190 browser()->profile()->GetPrefs()->SetBoolean( |
| 1187 prefs::kSignInPromoShowOnFirstRunAllowed, true); | 1191 prefs::kSignInPromoShowOnFirstRunAllowed, true); |
| 1188 | 1192 |
| 1189 // Do a process-startup browser launch. | 1193 // Do a process-startup browser launch. |
| 1190 CommandLine dummy(CommandLine::NO_PROGRAM); | 1194 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1191 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1195 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1192 chrome::startup::IS_FIRST_RUN); | 1196 chrome::startup::IS_FIRST_RUN); |
| 1193 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1197 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1194 browser()->host_desktop_type())); | 1198 browser()->host_desktop_type())); |
| 1195 | 1199 |
| 1196 // This should have created a new browser window. | 1200 // This should have created a new browser window. |
| 1197 Browser* new_browser = FindOneOtherBrowser(browser()); | 1201 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1198 ASSERT_TRUE(new_browser); | 1202 ASSERT_TRUE(new_browser); |
| 1199 | 1203 |
| 1200 // Verify that the sync promo and the welcome page are shown. | 1204 // Verify that the sync promo and the welcome page are shown. |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1222 // "sync_promo": { | 1226 // "sync_promo": { |
| 1223 // "show_on_first_run_allowed": true | 1227 // "show_on_first_run_allowed": true |
| 1224 // } | 1228 // } |
| 1225 // } | 1229 // } |
| 1226 StartupBrowserCreator browser_creator; | 1230 StartupBrowserCreator browser_creator; |
| 1227 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 1231 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 1228 browser()->profile()->GetPrefs()->SetBoolean( | 1232 browser()->profile()->GetPrefs()->SetBoolean( |
| 1229 prefs::kSignInPromoShowOnFirstRunAllowed, true); | 1233 prefs::kSignInPromoShowOnFirstRunAllowed, true); |
| 1230 | 1234 |
| 1231 // Do a process-startup browser launch. | 1235 // Do a process-startup browser launch. |
| 1232 CommandLine dummy(CommandLine::NO_PROGRAM); | 1236 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1233 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1237 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1234 chrome::startup::IS_FIRST_RUN); | 1238 chrome::startup::IS_FIRST_RUN); |
| 1235 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1239 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1236 browser()->host_desktop_type())); | 1240 browser()->host_desktop_type())); |
| 1237 | 1241 |
| 1238 // This should have created a new browser window. | 1242 // This should have created a new browser window. |
| 1239 Browser* new_browser = FindOneOtherBrowser(browser()); | 1243 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1240 ASSERT_TRUE(new_browser); | 1244 ASSERT_TRUE(new_browser); |
| 1241 | 1245 |
| 1242 // Verify that the first-run tab is shown and the sync promo has been added. | 1246 // Verify that the first-run tab is shown and the sync promo has been added. |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1269 // } | 1273 // } |
| 1270 ASSERT_TRUE(test_server()->Start()); | 1274 ASSERT_TRUE(test_server()->Start()); |
| 1271 StartupBrowserCreator browser_creator; | 1275 StartupBrowserCreator browser_creator; |
| 1272 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 1276 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 1273 browser_creator.AddFirstRunTab( | 1277 browser_creator.AddFirstRunTab( |
| 1274 signin::GetPromoURL(signin_metrics::SOURCE_START_PAGE, false)); | 1278 signin::GetPromoURL(signin_metrics::SOURCE_START_PAGE, false)); |
| 1275 browser()->profile()->GetPrefs()->SetBoolean( | 1279 browser()->profile()->GetPrefs()->SetBoolean( |
| 1276 prefs::kSignInPromoShowOnFirstRunAllowed, true); | 1280 prefs::kSignInPromoShowOnFirstRunAllowed, true); |
| 1277 | 1281 |
| 1278 // Do a process-startup browser launch. | 1282 // Do a process-startup browser launch. |
| 1279 CommandLine dummy(CommandLine::NO_PROGRAM); | 1283 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1280 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1284 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1281 chrome::startup::IS_FIRST_RUN); | 1285 chrome::startup::IS_FIRST_RUN); |
| 1282 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1286 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1283 browser()->host_desktop_type())); | 1287 browser()->host_desktop_type())); |
| 1284 | 1288 |
| 1285 // This should have created a new browser window. | 1289 // This should have created a new browser window. |
| 1286 Browser* new_browser = FindOneOtherBrowser(browser()); | 1290 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1287 ASSERT_TRUE(new_browser); | 1291 ASSERT_TRUE(new_browser); |
| 1288 | 1292 |
| 1289 // Verify that the first-run tabs are shown and no sync promo has been added | 1293 // Verify that the first-run tabs are shown and no sync promo has been added |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1316 // "show_on_first_run_allowed": true | 1320 // "show_on_first_run_allowed": true |
| 1317 // } | 1321 // } |
| 1318 // } | 1322 // } |
| 1319 StartupBrowserCreator browser_creator; | 1323 StartupBrowserCreator browser_creator; |
| 1320 browser_creator.AddFirstRunTab(GURL("http://new_tab_page")); | 1324 browser_creator.AddFirstRunTab(GURL("http://new_tab_page")); |
| 1321 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 1325 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 1322 browser()->profile()->GetPrefs()->SetBoolean( | 1326 browser()->profile()->GetPrefs()->SetBoolean( |
| 1323 prefs::kSignInPromoShowOnFirstRunAllowed, true); | 1327 prefs::kSignInPromoShowOnFirstRunAllowed, true); |
| 1324 | 1328 |
| 1325 // Do a process-startup browser launch. | 1329 // Do a process-startup browser launch. |
| 1326 CommandLine dummy(CommandLine::NO_PROGRAM); | 1330 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1327 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1331 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1328 chrome::startup::IS_FIRST_RUN); | 1332 chrome::startup::IS_FIRST_RUN); |
| 1329 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1333 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1330 browser()->host_desktop_type())); | 1334 browser()->host_desktop_type())); |
| 1331 | 1335 |
| 1332 // This should have created a new browser window. | 1336 // This should have created a new browser window. |
| 1333 Browser* new_browser = FindOneOtherBrowser(browser()); | 1337 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1334 ASSERT_TRUE(new_browser); | 1338 ASSERT_TRUE(new_browser); |
| 1335 | 1339 |
| 1336 // Verify that the first-run tabs are shown but the NTP that they contain has | 1340 // Verify that the first-run tabs are shown but the NTP that they contain has |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1363 // "show_on_first_run_allowed": false | 1367 // "show_on_first_run_allowed": false |
| 1364 // } | 1368 // } |
| 1365 // } | 1369 // } |
| 1366 StartupBrowserCreator browser_creator; | 1370 StartupBrowserCreator browser_creator; |
| 1367 browser_creator.AddFirstRunTab(GURL("http://new_tab_page")); | 1371 browser_creator.AddFirstRunTab(GURL("http://new_tab_page")); |
| 1368 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 1372 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 1369 browser()->profile()->GetPrefs()->SetBoolean( | 1373 browser()->profile()->GetPrefs()->SetBoolean( |
| 1370 prefs::kSignInPromoShowOnFirstRunAllowed, false); | 1374 prefs::kSignInPromoShowOnFirstRunAllowed, false); |
| 1371 | 1375 |
| 1372 // Do a process-startup browser launch. | 1376 // Do a process-startup browser launch. |
| 1373 CommandLine dummy(CommandLine::NO_PROGRAM); | 1377 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1374 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1378 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1375 chrome::startup::IS_FIRST_RUN); | 1379 chrome::startup::IS_FIRST_RUN); |
| 1376 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1380 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1377 browser()->host_desktop_type())); | 1381 browser()->host_desktop_type())); |
| 1378 | 1382 |
| 1379 // This should have created a new browser window. | 1383 // This should have created a new browser window. |
| 1380 Browser* new_browser = FindOneOtherBrowser(browser()); | 1384 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1381 ASSERT_TRUE(new_browser); | 1385 ASSERT_TRUE(new_browser); |
| 1382 | 1386 |
| 1383 // Verify that the first-run tabs are shown, the NTP that they contain has not | 1387 // Verify that the first-run tabs are shown, the NTP that they contain has not |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1407 // "sync_promo": { | 1411 // "sync_promo": { |
| 1408 // "show_on_first_run_allowed": false | 1412 // "show_on_first_run_allowed": false |
| 1409 // } | 1413 // } |
| 1410 // } | 1414 // } |
| 1411 StartupBrowserCreator browser_creator; | 1415 StartupBrowserCreator browser_creator; |
| 1412 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); | 1416 browser_creator.AddFirstRunTab(test_server()->GetURL("files/title1.html")); |
| 1413 browser()->profile()->GetPrefs()->SetBoolean( | 1417 browser()->profile()->GetPrefs()->SetBoolean( |
| 1414 prefs::kSignInPromoShowOnFirstRunAllowed, false); | 1418 prefs::kSignInPromoShowOnFirstRunAllowed, false); |
| 1415 | 1419 |
| 1416 // Do a process-startup browser launch. | 1420 // Do a process-startup browser launch. |
| 1417 CommandLine dummy(CommandLine::NO_PROGRAM); | 1421 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1418 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1422 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1419 chrome::startup::IS_FIRST_RUN); | 1423 chrome::startup::IS_FIRST_RUN); |
| 1420 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1424 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1421 browser()->host_desktop_type())); | 1425 browser()->host_desktop_type())); |
| 1422 | 1426 |
| 1423 // This should have created a new browser window. | 1427 // This should have created a new browser window. |
| 1424 Browser* new_browser = FindOneOtherBrowser(browser()); | 1428 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1425 ASSERT_TRUE(new_browser); | 1429 ASSERT_TRUE(new_browser); |
| 1426 | 1430 |
| 1427 // Verify that the first-run tab is shown and no sync promo has been added. | 1431 // Verify that the first-run tab is shown and no sync promo has been added. |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1464 base::ListValue startup_urls; | 1468 base::ListValue startup_urls; |
| 1465 startup_urls.Append( | 1469 startup_urls.Append( |
| 1466 new base::StringValue(test_server()->GetURL("files/title1.html").spec())); | 1470 new base::StringValue(test_server()->GetURL("files/title1.html").spec())); |
| 1467 policy_map_.Set(policy::key::kRestoreOnStartupURLs, | 1471 policy_map_.Set(policy::key::kRestoreOnStartupURLs, |
| 1468 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, | 1472 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER, |
| 1469 startup_urls.DeepCopy(), NULL); | 1473 startup_urls.DeepCopy(), NULL); |
| 1470 provider_.UpdateChromePolicy(policy_map_); | 1474 provider_.UpdateChromePolicy(policy_map_); |
| 1471 base::RunLoop().RunUntilIdle(); | 1475 base::RunLoop().RunUntilIdle(); |
| 1472 | 1476 |
| 1473 // Do a process-startup browser launch. | 1477 // Do a process-startup browser launch. |
| 1474 CommandLine dummy(CommandLine::NO_PROGRAM); | 1478 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 1475 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, | 1479 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, &browser_creator, |
| 1476 chrome::startup::IS_FIRST_RUN); | 1480 chrome::startup::IS_FIRST_RUN); |
| 1477 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, | 1481 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), true, |
| 1478 browser()->host_desktop_type())); | 1482 browser()->host_desktop_type())); |
| 1479 | 1483 |
| 1480 // This should have created a new browser window. | 1484 // This should have created a new browser window. |
| 1481 Browser* new_browser = FindOneOtherBrowser(browser()); | 1485 Browser* new_browser = FindOneOtherBrowser(browser()); |
| 1482 ASSERT_TRUE(new_browser); | 1486 ASSERT_TRUE(new_browser); |
| 1483 | 1487 |
| 1484 // Verify that the URL specified through policy is shown and no sync promo has | 1488 // Verify that the URL specified through policy is shown and no sync promo has |
| 1485 // been added. | 1489 // been added. |
| 1486 TabStripModel* tab_strip = new_browser->tab_strip_model(); | 1490 TabStripModel* tab_strip = new_browser->tab_strip_model(); |
| 1487 ASSERT_EQ(1, tab_strip->count()); | 1491 ASSERT_EQ(1, tab_strip->count()); |
| 1488 EXPECT_EQ("title1.html", | 1492 EXPECT_EQ("title1.html", |
| 1489 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); | 1493 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); |
| 1490 } | 1494 } |
| 1491 #endif // defined(ENABLE_CONFIGURATION_POLICY) | 1495 #endif // defined(ENABLE_CONFIGURATION_POLICY) |
| 1492 | 1496 |
| 1493 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || | 1497 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || |
| 1494 // defined(ENABLE_CONFIGURATION_POLICY) | 1498 // defined(ENABLE_CONFIGURATION_POLICY) |
| 1495 | 1499 |
| 1496 #endif // !defined(OS_CHROMEOS) | 1500 #endif // !defined(OS_CHROMEOS) |
| OLD | NEW |