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

Side by Side Diff: chrome/browser/ui/startup/startup_browser_creator_browsertest.cc

Issue 1229473002: mac: Fix five browser_tests on Yosemite. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add ifdefs. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 using testing::_; 61 using testing::_;
62 using testing::Return; 62 using testing::Return;
63 #endif // defined(ENABLE_CONFIGURATION_POLICY) && !defined(OS_CHROMEOS) 63 #endif // defined(ENABLE_CONFIGURATION_POLICY) && !defined(OS_CHROMEOS)
64 64
65 #if defined(ENABLE_SUPERVISED_USERS) 65 #if defined(ENABLE_SUPERVISED_USERS)
66 #include "chrome/browser/supervised_user/supervised_user_navigation_observer.h" 66 #include "chrome/browser/supervised_user/supervised_user_navigation_observer.h"
67 #include "chrome/browser/supervised_user/supervised_user_service.h" 67 #include "chrome/browser/supervised_user/supervised_user_service.h"
68 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" 68 #include "chrome/browser/supervised_user/supervised_user_service_factory.h"
69 #endif 69 #endif
70 70
71 #if defined(OS_MACOSX) && !defined(OS_IOS)
72 #include "base/mac/scoped_nsautorelease_pool.h"
73 #endif // defined(OS_MACOSX) && !defined(OS_IOS)
74
71 using extensions::Extension; 75 using extensions::Extension;
72 76
73 namespace { 77 namespace {
74 78
75 // Check that there are two browsers. Find the one that is not |browser|. 79 // Check that there are two browsers. Find the one that is not |browser|.
76 Browser* FindOneOtherBrowser(Browser* browser) { 80 Browser* FindOneOtherBrowser(Browser* browser) {
77 // There should only be one other browser. 81 // There should only be one other browser.
78 EXPECT_EQ(2u, chrome::GetBrowserCount(browser->profile(), 82 EXPECT_EQ(2u, chrome::GetBrowserCount(browser->profile(),
79 browser->host_desktop_type())); 83 browser->host_desktop_type()));
80 84
81 // Find the new browser. 85 // Find the new browser.
82 Browser* other_browser = NULL; 86 Browser* other_browser = NULL;
83 for (chrome::BrowserIterator it; !it.done() && !other_browser; it.Next()) { 87 for (chrome::BrowserIterator it; !it.done() && !other_browser; it.Next()) {
84 if (*it != browser) 88 if (*it != browser)
85 other_browser = *it; 89 other_browser = *it;
86 } 90 }
87 return other_browser; 91 return other_browser;
88 } 92 }
89 93
90 } // namespace 94 } // namespace
91 95
92 class StartupBrowserCreatorTest : public ExtensionBrowserTest { 96 class StartupBrowserCreatorTest : public ExtensionBrowserTest {
93 protected: 97 protected:
94 StartupBrowserCreatorTest() {} 98 StartupBrowserCreatorTest() {}
95 99
96 bool SetUpUserDataDirectory() override { 100 bool SetUpUserDataDirectory() override {
97 return ExtensionBrowserTest::SetUpUserDataDirectory(); 101 return ExtensionBrowserTest::SetUpUserDataDirectory();
98 } 102 }
99 103
104 void CloseBrowser(Browser* browser) {
105 browser->window()->Close();
106 #if defined(OS_MACOSX) && !defined(OS_IOS)
107 AutoreleasePool()->Recycle();
108 #endif // defined(OS_MACOSX) && !defined(OS_IOS)
109 }
110
100 void SetUpCommandLine(base::CommandLine* command_line) override { 111 void SetUpCommandLine(base::CommandLine* command_line) override {
101 ExtensionBrowserTest::SetUpCommandLine(command_line); 112 ExtensionBrowserTest::SetUpCommandLine(command_line);
102 command_line->AppendSwitch(switches::kEnablePanels); 113 command_line->AppendSwitch(switches::kEnablePanels);
103 command_line->AppendSwitchASCII(switches::kHomePage, url::kAboutBlankURL); 114 command_line->AppendSwitchASCII(switches::kHomePage, url::kAboutBlankURL);
104 #if defined(OS_CHROMEOS) 115 #if defined(OS_CHROMEOS)
105 // TODO(nkostylev): Investigate if we can remove this switch. 116 // TODO(nkostylev): Investigate if we can remove this switch.
106 command_line->AppendSwitch(switches::kCreateBrowserOnStartupForTests); 117 command_line->AppendSwitch(switches::kCreateBrowserOnStartupForTests);
107 #endif 118 #endif
108 } 119 }
109 120
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 std::vector<GURL> urls; 221 std::vector<GURL> urls;
211 urls.push_back(test_server()->GetURL("files/title1.html")); 222 urls.push_back(test_server()->GetURL("files/title1.html"));
212 urls.push_back(test_server()->GetURL("files/title2.html")); 223 urls.push_back(test_server()->GetURL("files/title2.html"));
213 224
214 // Set the startup preference to open these URLs. 225 // Set the startup preference to open these URLs.
215 SessionStartupPref pref(SessionStartupPref::URLS); 226 SessionStartupPref pref(SessionStartupPref::URLS);
216 pref.urls = urls; 227 pref.urls = urls;
217 SessionStartupPref::SetStartupPref(browser()->profile(), pref); 228 SessionStartupPref::SetStartupPref(browser()->profile(), pref);
218 229
219 // Close the browser. 230 // Close the browser.
220 browser()->window()->Close(); 231 CloseBrowser(browser());
221 232
222 // Do a simple non-process-startup browser launch. 233 // Do a simple non-process-startup browser launch.
223 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); 234 base::CommandLine dummy(base::CommandLine::NO_PROGRAM);
224 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ? 235 chrome::startup::IsFirstRun first_run = first_run::IsChromeFirstRun() ?
225 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN; 236 chrome::startup::IS_FIRST_RUN : chrome::startup::IS_NOT_FIRST_RUN;
226 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run); 237 StartupBrowserCreatorImpl launch(base::FilePath(), dummy, first_run);
227 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false, 238 ASSERT_TRUE(launch.Launch(browser()->profile(), std::vector<GURL>(), false,
228 browser()->host_desktop_type())); 239 browser()->host_desktop_type()));
229 240
230 // This should have created a new browser window. |browser()| is still 241 // This should have created a new browser window. |browser()| is still
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 636
626 // Set different startup preferences for the 2 profiles. 637 // Set different startup preferences for the 2 profiles.
627 SessionStartupPref pref1(SessionStartupPref::URLS); 638 SessionStartupPref pref1(SessionStartupPref::URLS);
628 pref1.urls = urls1; 639 pref1.urls = urls1;
629 SessionStartupPref::SetStartupPref(default_profile, pref1); 640 SessionStartupPref::SetStartupPref(default_profile, pref1);
630 SessionStartupPref pref2(SessionStartupPref::URLS); 641 SessionStartupPref pref2(SessionStartupPref::URLS);
631 pref2.urls = urls2; 642 pref2.urls = urls2;
632 SessionStartupPref::SetStartupPref(other_profile, pref2); 643 SessionStartupPref::SetStartupPref(other_profile, pref2);
633 644
634 // Close the browser. 645 // Close the browser.
635 browser()->window()->Close(); 646 CloseBrowser(browser());
636 647
637 // Do a simple non-process-startup browser launch. 648 // Do a simple non-process-startup browser launch.
638 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); 649 base::CommandLine dummy(base::CommandLine::NO_PROGRAM);
639 650
640 StartupBrowserCreator browser_creator; 651 StartupBrowserCreator browser_creator;
641 std::vector<Profile*> last_opened_profiles; 652 std::vector<Profile*> last_opened_profiles;
642 last_opened_profiles.push_back(default_profile); 653 last_opened_profiles.push_back(default_profile);
643 last_opened_profiles.push_back(other_profile); 654 last_opened_profiles.push_back(other_profile);
644 browser_creator.Start(dummy, profile_manager->user_data_dir(), 655 browser_creator.Start(dummy, profile_manager->user_data_dir(),
645 default_profile, last_opened_profiles); 656 default_profile, last_opened_profiles);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 dest_path.Append(FILE_PATH_LITERAL("New Profile 2"))); 694 dest_path.Append(FILE_PATH_LITERAL("New Profile 2")));
684 ASSERT_TRUE(profile2); 695 ASSERT_TRUE(profile2);
685 696
686 // Open some urls with the browsers, and close them. 697 // Open some urls with the browsers, and close them.
687 Browser* browser1 = new Browser( 698 Browser* browser1 = new Browser(
688 Browser::CreateParams(Browser::TYPE_TABBED, profile1, 699 Browser::CreateParams(Browser::TYPE_TABBED, profile1,
689 browser()->host_desktop_type())); 700 browser()->host_desktop_type()));
690 chrome::NewTab(browser1); 701 chrome::NewTab(browser1);
691 ui_test_utils::NavigateToURL(browser1, 702 ui_test_utils::NavigateToURL(browser1,
692 test_server()->GetURL("files/empty.html")); 703 test_server()->GetURL("files/empty.html"));
693 browser1->window()->Close(); 704 CloseBrowser(browser1);
694 705
695 Browser* browser2 = new Browser( 706 Browser* browser2 = new Browser(
696 Browser::CreateParams(Browser::TYPE_TABBED, profile2, 707 Browser::CreateParams(Browser::TYPE_TABBED, profile2,
697 browser()->host_desktop_type())); 708 browser()->host_desktop_type()));
698 chrome::NewTab(browser2); 709 chrome::NewTab(browser2);
699 ui_test_utils::NavigateToURL(browser2, 710 ui_test_utils::NavigateToURL(browser2,
700 test_server()->GetURL("files/form.html")); 711 test_server()->GetURL("files/form.html"));
701 browser2->window()->Close(); 712 CloseBrowser(browser2);
702 713
703 // Set different startup preferences for the 2 profiles. 714 // Set different startup preferences for the 2 profiles.
704 std::vector<GURL> urls1; 715 std::vector<GURL> urls1;
705 urls1.push_back(ui_test_utils::GetTestUrl( 716 urls1.push_back(ui_test_utils::GetTestUrl(
706 base::FilePath(base::FilePath::kCurrentDirectory), 717 base::FilePath(base::FilePath::kCurrentDirectory),
707 base::FilePath(FILE_PATH_LITERAL("title1.html")))); 718 base::FilePath(FILE_PATH_LITERAL("title1.html"))));
708 std::vector<GURL> urls2; 719 std::vector<GURL> urls2;
709 urls2.push_back(ui_test_utils::GetTestUrl( 720 urls2.push_back(ui_test_utils::GetTestUrl(
710 base::FilePath(base::FilePath::kCurrentDirectory), 721 base::FilePath(base::FilePath::kCurrentDirectory),
711 base::FilePath(FILE_PATH_LITERAL("title2.html")))); 722 base::FilePath(FILE_PATH_LITERAL("title2.html"))));
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
839 pref_urls.urls = urls; 850 pref_urls.urls = urls;
840 SessionStartupPref::SetStartupPref(profile_urls, pref_urls); 851 SessionStartupPref::SetStartupPref(profile_urls, pref_urls);
841 852
842 // Open a page with profile_last. 853 // Open a page with profile_last.
843 Browser* browser_last = new Browser( 854 Browser* browser_last = new Browser(
844 Browser::CreateParams(Browser::TYPE_TABBED, profile_last, 855 Browser::CreateParams(Browser::TYPE_TABBED, profile_last,
845 browser()->host_desktop_type())); 856 browser()->host_desktop_type()));
846 chrome::NewTab(browser_last); 857 chrome::NewTab(browser_last);
847 ui_test_utils::NavigateToURL(browser_last, 858 ui_test_utils::NavigateToURL(browser_last,
848 test_server()->GetURL("files/empty.html")); 859 test_server()->GetURL("files/empty.html"));
849 browser_last->window()->Close(); 860 CloseBrowser(browser_last);
850 861
851 // Close the main browser. 862 // Close the main browser.
852 chrome::HostDesktopType original_desktop_type = 863 chrome::HostDesktopType original_desktop_type =
853 browser()->host_desktop_type(); 864 browser()->host_desktop_type();
854 browser()->window()->Close(); 865 CloseBrowser(browser());
855 866
856 // Do a simple non-process-startup browser launch. 867 // Do a simple non-process-startup browser launch.
857 base::CommandLine dummy(base::CommandLine::NO_PROGRAM); 868 base::CommandLine dummy(base::CommandLine::NO_PROGRAM);
858 869
859 StartupBrowserCreator browser_creator; 870 StartupBrowserCreator browser_creator;
860 std::vector<Profile*> last_opened_profiles; 871 std::vector<Profile*> last_opened_profiles;
861 last_opened_profiles.push_back(profile_home1); 872 last_opened_profiles.push_back(profile_home1);
862 last_opened_profiles.push_back(profile_home2); 873 last_opened_profiles.push_back(profile_home2);
863 last_opened_profiles.push_back(profile_last); 874 last_opened_profiles.push_back(profile_last);
864 last_opened_profiles.push_back(profile_urls); 875 last_opened_profiles.push_back(profile_urls);
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 std::vector<GURL> urls; 953 std::vector<GURL> urls;
943 urls.push_back(ui_test_utils::GetTestUrl( 954 urls.push_back(ui_test_utils::GetTestUrl(
944 base::FilePath(base::FilePath::kCurrentDirectory), 955 base::FilePath(base::FilePath::kCurrentDirectory),
945 base::FilePath(FILE_PATH_LITERAL("title1.html")))); 956 base::FilePath(FILE_PATH_LITERAL("title1.html"))));
946 957
947 SessionStartupPref pref_urls(SessionStartupPref::URLS); 958 SessionStartupPref pref_urls(SessionStartupPref::URLS);
948 pref_urls.urls = urls; 959 pref_urls.urls = urls;
949 SessionStartupPref::SetStartupPref(profile_urls, pref_urls); 960 SessionStartupPref::SetStartupPref(profile_urls, pref_urls);
950 961
951 // Simulate a launch after an unclear exit. 962 // Simulate a launch after an unclear exit.
952 browser()->window()->Close(); 963 CloseBrowser(browser());
953 static_cast<ProfileImpl*>(profile_home)->last_session_exit_type_ = 964 static_cast<ProfileImpl*>(profile_home)->last_session_exit_type_ =
954 Profile::EXIT_CRASHED; 965 Profile::EXIT_CRASHED;
955 static_cast<ProfileImpl*>(profile_last)->last_session_exit_type_ = 966 static_cast<ProfileImpl*>(profile_last)->last_session_exit_type_ =
956 Profile::EXIT_CRASHED; 967 Profile::EXIT_CRASHED;
957 static_cast<ProfileImpl*>(profile_urls)->last_session_exit_type_ = 968 static_cast<ProfileImpl*>(profile_urls)->last_session_exit_type_ =
958 Profile::EXIT_CRASHED; 969 Profile::EXIT_CRASHED;
959 970
960 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD) 971 #if !defined(OS_MACOSX) && !defined(GOOGLE_CHROME_BUILD)
961 // Use HistogramTester to make sure a bubble is shown when it's not on 972 // 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. 973 // platform Mac OS X and it's not official Chrome build.
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after
1466 ASSERT_EQ(1, tab_strip->count()); 1477 ASSERT_EQ(1, tab_strip->count());
1467 EXPECT_EQ("title1.html", 1478 EXPECT_EQ("title1.html",
1468 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName()); 1479 tab_strip->GetWebContentsAt(0)->GetURL().ExtractFileName());
1469 } 1480 }
1470 #endif // defined(ENABLE_CONFIGURATION_POLICY) 1481 #endif // defined(ENABLE_CONFIGURATION_POLICY)
1471 1482
1472 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) || 1483 #endif // !defined(OS_LINUX) || !defined(GOOGLE_CHROME_BUILD) ||
1473 // defined(ENABLE_CONFIGURATION_POLICY) 1484 // defined(ENABLE_CONFIGURATION_POLICY)
1474 1485
1475 #endif // !defined(OS_CHROMEOS) 1486 #endif // !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « chrome/browser/ui/settings_window_manager_browsertest.cc ('k') | chrome/test/base/in_process_browser_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698