| 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 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 std::vector<GURL> urls; | 210 std::vector<GURL> urls; |
| 211 urls.push_back(test_server()->GetURL("files/title1.html")); | 211 urls.push_back(test_server()->GetURL("files/title1.html")); |
| 212 urls.push_back(test_server()->GetURL("files/title2.html")); | 212 urls.push_back(test_server()->GetURL("files/title2.html")); |
| 213 | 213 |
| 214 // Set the startup preference to open these URLs. | 214 // Set the startup preference to open these URLs. |
| 215 SessionStartupPref pref(SessionStartupPref::URLS); | 215 SessionStartupPref pref(SessionStartupPref::URLS); |
| 216 pref.urls = urls; | 216 pref.urls = urls; |
| 217 SessionStartupPref::SetStartupPref(browser()->profile(), pref); | 217 SessionStartupPref::SetStartupPref(browser()->profile(), pref); |
| 218 | 218 |
| 219 // Close the browser. | 219 // Close the browser. |
| 220 browser()->window()->Close(); | 220 CloseBrowserAsynchronously(browser()); |
| 221 | 221 |
| 222 // Do a simple non-process-startup browser launch. | 222 // Do a simple non-process-startup browser launch. |
| 223 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); | 223 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 224 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? | 224 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? |
| 225 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; | 225 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; |
| 226 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); | 226 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); |
| 227 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, | 227 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, |
| 228 browser()->host_desktop_type())); | 228 browser()->host_desktop_type())); |
| 229 | 229 |
| 230 // This should have created a new browser window. |browser()| is still | 230 // This should have created a new browser window. |browser()| is still |
| (...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 | 625 |
| 626 // Set different startup preferences for the 2 profiles. | 626 // Set different startup preferences for the 2 profiles. |
| 627 SessionStartupPref pref1(SessionStartupPref::URLS); | 627 SessionStartupPref pref1(SessionStartupPref::URLS); |
| 628 pref1.urls = urls1; | 628 pref1.urls = urls1; |
| 629 SessionStartupPref::SetStartupPref(default_profile, pref1); | 629 SessionStartupPref::SetStartupPref(default_profile, pref1); |
| 630 SessionStartupPref pref2(SessionStartupPref::URLS); | 630 SessionStartupPref pref2(SessionStartupPref::URLS); |
| 631 pref2.urls = urls2; | 631 pref2.urls = urls2; |
| 632 SessionStartupPref::SetStartupPref(other_profile, pref2); | 632 SessionStartupPref::SetStartupPref(other_profile, pref2); |
| 633 | 633 |
| 634 // Close the browser. | 634 // Close the browser. |
| 635 browser()->window()->Close(); | 635 CloseBrowserAsynchronously(browser()); |
| 636 | 636 |
| 637 // Do a simple non-process-startup browser launch. | 637 // Do a simple non-process-startup browser launch. |
| 638 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); | 638 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 639 | 639 |
| 640 StartupBrowserCreator browser_creator; | 640 StartupBrowserCreator browser_creator; |
| 641 std::vector<Profile*> last_opened_profiles; | 641 std::vector<Profile*> last_opened_profiles; |
| 642 last_opened_profiles.push_back(default_profile); | 642 last_opened_profiles.push_back(default_profile); |
| 643 last_opened_profiles.push_back(other_profile); | 643 last_opened_profiles.push_back(other_profile); |
| 644 browser_creator.Start(dummy, profile_manager->user_data_dir(), | 644 browser_creator.Start(dummy, profile_manager->user_data_dir(), |
| 645 default_profile, last_opened_profiles); | 645 default_profile, last_opened_profiles); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 dest_path.Append(FILE_PATH_LITERAL("New Profile 2"))); | 683 dest_path.Append(FILE_PATH_LITERAL("New Profile 2"))); |
| 684 ASSERT_TRUE(profile2); | 684 ASSERT_TRUE(profile2); |
| 685 | 685 |
| 686 // Open some urls with the browsers, and close them. | 686 // Open some urls with the browsers, and close them. |
| 687 Browser* browser1 = new Browser( | 687 Browser* browser1 = new Browser( |
| 688 Browser::CreateParams(Browser::TYPE_TABBED, profile1, | 688 Browser::CreateParams(Browser::TYPE_TABBED, profile1, |
| 689 browser()->host_desktop_type())); | 689 browser()->host_desktop_type())); |
| 690 chrome::NewTab(browser1); | 690 chrome::NewTab(browser1); |
| 691 ui_test_utils::NavigateToURL(browser1, | 691 ui_test_utils::NavigateToURL(browser1, |
| 692 test_server()->GetURL("files/empty.html")); | 692 test_server()->GetURL("files/empty.html")); |
| 693 browser1->window()->Close(); | 693 CloseBrowserSynchronously(browser1); |
| 694 | 694 |
| 695 Browser* browser2 = new Browser( | 695 Browser* browser2 = new Browser( |
| 696 Browser::CreateParams(Browser::TYPE_TABBED, profile2, | 696 Browser::CreateParams(Browser::TYPE_TABBED, profile2, |
| 697 browser()->host_desktop_type())); | 697 browser()->host_desktop_type())); |
| 698 chrome::NewTab(browser2); | 698 chrome::NewTab(browser2); |
| 699 ui_test_utils::NavigateToURL(browser2, | 699 ui_test_utils::NavigateToURL(browser2, |
| 700 test_server()->GetURL("files/form.html")); | 700 test_server()->GetURL("files/form.html")); |
| 701 browser2->window()->Close(); | 701 CloseBrowserSynchronously(browser2); |
| 702 | 702 |
| 703 // Set different startup preferences for the 2 profiles. | 703 // Set different startup preferences for the 2 profiles. |
| 704 std::vector<GURL> urls1; | 704 std::vector<GURL> urls1; |
| 705 urls1.push_back(ui_test_utils::GetTestUrl( | 705 urls1.push_back(ui_test_utils::GetTestUrl( |
| 706 base::FilePath(base::FilePath::kCurrentDirectory), | 706 base::FilePath(base::FilePath::kCurrentDirectory), |
| 707 base::FilePath(FILE_PATH_LITERAL("title1.html")))); | 707 base::FilePath(FILE_PATH_LITERAL("title1.html")))); |
| 708 std::vector<GURL> urls2; | 708 std::vector<GURL> urls2; |
| 709 urls2.push_back(ui_test_utils::GetTestUrl( | 709 urls2.push_back(ui_test_utils::GetTestUrl( |
| 710 base::FilePath(base::FilePath::kCurrentDirectory), | 710 base::FilePath(base::FilePath::kCurrentDirectory), |
| 711 base::FilePath(FILE_PATH_LITERAL("title2.html")))); | 711 base::FilePath(FILE_PATH_LITERAL("title2.html")))); |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 839 pref_urls.urls = urls; | 839 pref_urls.urls = urls; |
| 840 SessionStartupPref::SetStartupPref(profile_urls, pref_urls); | 840 SessionStartupPref::SetStartupPref(profile_urls, pref_urls); |
| 841 | 841 |
| 842 // Open a page with profile_last. | 842 // Open a page with profile_last. |
| 843 Browser* browser_last = new Browser( | 843 Browser* browser_last = new Browser( |
| 844 Browser::CreateParams(Browser::TYPE_TABBED, profile_last, | 844 Browser::CreateParams(Browser::TYPE_TABBED, profile_last, |
| 845 browser()->host_desktop_type())); | 845 browser()->host_desktop_type())); |
| 846 chrome::NewTab(browser_last); | 846 chrome::NewTab(browser_last); |
| 847 ui_test_utils::NavigateToURL(browser_last, | 847 ui_test_utils::NavigateToURL(browser_last, |
| 848 test_server()->GetURL("files/empty.html")); | 848 test_server()->GetURL("files/empty.html")); |
| 849 browser_last->window()->Close(); | 849 CloseBrowserAsynchronously(browser_last); |
| 850 | 850 |
| 851 // Close the main browser. | 851 // Close the main browser. |
| 852 chrome::HostDesktopType original_desktop_type = | 852 chrome::HostDesktopType original_desktop_type = |
| 853 browser()->host_desktop_type(); | 853 browser()->host_desktop_type(); |
| 854 browser()->window()->Close(); | 854 CloseBrowserAsynchronously(browser()); |
| 855 | 855 |
| 856 // Do a simple non-process-startup browser launch. | 856 // Do a simple non-process-startup browser launch. |
| 857 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); | 857 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); |
| 858 | 858 |
| 859 StartupBrowserCreator browser_creator; | 859 StartupBrowserCreator browser_creator; |
| 860 std::vector<Profile*> last_opened_profiles; | 860 std::vector<Profile*> last_opened_profiles; |
| 861 last_opened_profiles.push_back(profile_home1); | 861 last_opened_profiles.push_back(profile_home1); |
| 862 last_opened_profiles.push_back(profile_home2); | 862 last_opened_profiles.push_back(profile_home2); |
| 863 last_opened_profiles.push_back(profile_last); | 863 last_opened_profiles.push_back(profile_last); |
| 864 last_opened_profiles.push_back(profile_urls); | 864 last_opened_profiles.push_back(profile_urls); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 942 std::vector<GURL> urls; | 942 std::vector<GURL> urls; |
| 943 urls.push_back(ui_test_utils::GetTestUrl( | 943 urls.push_back(ui_test_utils::GetTestUrl( |
| 944 base::FilePath(base::FilePath::kCurrentDirectory), | 944 base::FilePath(base::FilePath::kCurrentDirectory), |
| 945 base::FilePath(FILE_PATH_LITERAL("title1.html")))); | 945 base::FilePath(FILE_PATH_LITERAL("title1.html")))); |
| 946 | 946 |
| 947 SessionStartupPref pref_urls(SessionStartupPref::URLS); | 947 SessionStartupPref pref_urls(SessionStartupPref::URLS); |
| 948 pref_urls.urls = urls; | 948 pref_urls.urls = urls; |
| 949 SessionStartupPref::SetStartupPref(profile_urls, pref_urls); | 949 SessionStartupPref::SetStartupPref(profile_urls, pref_urls); |
| 950 | 950 |
| 951 // Simulate a launch after an unclear exit. | 951 // Simulate a launch after an unclear exit. |
| 952 browser()->window()->Close(); | 952 CloseBrowserAsynchronously(browser()); |
| 953 static_cast<ProfileImpl*>(profile_home)->last_session_exit_type_ = | 953 static_cast<ProfileImpl*>(profile_home)->last_session_exit_type_ = |
| 954 Profile::EXIT_CRASHED; | 954 Profile::EXIT_CRASHED; |
| 955 static_cast<ProfileImpl*>(profile_last)->last_session_exit_type_ = | 955 static_cast<ProfileImpl*>(profile_last)->last_session_exit_type_ = |
| 956 Profile::EXIT_CRASHED; | 956 Profile::EXIT_CRASHED; |
| 957 static_cast<ProfileImpl*>(profile_urls)->last_session_exit_type_ = | 957 static_cast<ProfileImpl*>(profile_urls)->last_session_exit_type_ = |
| 958 Profile::EXIT_CRASHED; | 958 Profile::EXIT_CRASHED; |
| 959 | 959 |
| 960 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) | 960 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) |
| 961 // Use HistogramTester to make sure a bubble is shown when it's not on | 961 // Use HistogramTester to make sure a bubble is shown when it's not on |
| 962 // platform Mac OS X and it's not official Chrome build. | 962 // platform Mac OS X and it's not official Chrome build. |
| (...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1466 ASSERT_EQ(1, tab_strip->count()); | 1466 ASSERT_EQ(1, tab_strip->count()); |
| 1467 EXPECT_EQ("title1.html", | 1467 EXPECT_EQ("title1.html", |
| 1468 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); | 1468 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); |
| 1469 } | 1469 } |
| 1470 #endif // defined(ENABLE_CONFIGURATION_POLICY) | 1470 #endif // defined(ENABLE_CONFIGURATION_POLICY) |
| 1471 | 1471 |
| 1472 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || | 1472 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || |
| 1473 // defined(ENABLE_CONFIGURATION_POLICY) | 1473 // defined(ENABLE_CONFIGURATION_POLICY) |
| 1474 | 1474 |
| 1475 #endif // !defined(OS_CHROMEOS) | 1475 #endif // !defined(OS_CHROMEOS) |
| OLD | NEW |