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

Side by Side Diff: chrome/browser/ui/startup/startup_browser_creator.h

Issue 1598553003: Implement the Windows desktop search redirection feature. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix build errors due to prefs being moved in components Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
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 #ifndef CHROME_BROWSER_UI_STARTUP_STARTUP_BROWSER_CREATOR_H_ 5 #ifndef CHROME_BROWSER_UI_STARTUP_STARTUP_BROWSER_CREATOR_H_
6 #define CHROME_BROWSER_UI_STARTUP_STARTUP_BROWSER_CREATOR_H_ 6 #define CHROME_BROWSER_UI_STARTUP_STARTUP_BROWSER_CREATOR_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 92 }
93 93
94 void set_show_main_browser_window(bool show_main_browser_window) { 94 void set_show_main_browser_window(bool show_main_browser_window) {
95 show_main_browser_window_ = show_main_browser_window; 95 show_main_browser_window_ = show_main_browser_window;
96 } 96 }
97 97
98 bool show_main_browser_window() const { 98 bool show_main_browser_window() const {
99 return show_main_browser_window_; 99 return show_main_browser_window_;
100 } 100 }
101 101
102 bool show_desktop_search_redirection_infobar() const {
103 return show_desktop_search_redirection_infobar_;
104 }
105
102 // For faking that no profiles have been launched yet. 106 // For faking that no profiles have been launched yet.
103 static void ClearLaunchedProfilesForTesting(); 107 static void ClearLaunchedProfilesForTesting();
104 108
105 static void RegisterLocalStatePrefs(PrefRegistrySimple* registry); 109 static void RegisterLocalStatePrefs(PrefRegistrySimple* registry);
106 110
107 #if defined(OS_WIN) 111 #if defined(OS_WIN)
108 // Setting Chrome as the default browser in Windows 10+ requires a specific 112 // Setting Chrome as the default browser in Windows 10+ requires a specific
109 // url to be opened through openwith.exe. This url is intercepted in 113 // url to be opened through openwith.exe. This url is intercepted in
110 // ProcessCmdLineImpl when the callback is set. See DefaultBrowserWorker in 114 // ProcessCmdLineImpl when the callback is set. See DefaultBrowserWorker in
111 // shell_integration.h for more details. Only call this on the UI 115 // shell_integration.h for more details. Only call this on the UI
(...skipping 14 matching lines...) Expand all
126 private: 130 private:
127 friend class CloudPrintProxyPolicyTest; 131 friend class CloudPrintProxyPolicyTest;
128 friend class CloudPrintProxyPolicyStartupTest; 132 friend class CloudPrintProxyPolicyStartupTest;
129 friend class StartupBrowserCreatorImpl; 133 friend class StartupBrowserCreatorImpl;
130 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest, 134 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest,
131 ReadingWasRestartedAfterNormalStart); 135 ReadingWasRestartedAfterNormalStart);
132 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest, 136 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest,
133 ReadingWasRestartedAfterRestart); 137 ReadingWasRestartedAfterRestart);
134 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest, UpdateWithTwoProfiles); 138 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest, UpdateWithTwoProfiles);
135 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest, LastUsedProfileActivated); 139 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorTest, LastUsedProfileActivated);
136 FRIEND_TEST_ALL_PREFIXES(StartupBrowserCreatorWinTest,
137 GetURLsFromCommandLineWithDesktopSearchURL);
138 140
139 bool ProcessCmdLineImpl(const base::CommandLine& command_line, 141 bool ProcessCmdLineImpl(const base::CommandLine& command_line,
140 const base::FilePath& cur_dir, 142 const base::FilePath& cur_dir,
141 bool process_startup, 143 bool process_startup,
142 Profile* last_used_profile, 144 Profile* last_used_profile,
143 const Profiles& last_opened_profiles); 145 const Profiles& last_opened_profiles);
144 146
145 // Returns the list of URLs to open from the command line. The returned 147 // Returns the list of URLs to open from the command line. The returned vector
146 // vector is empty if the user didn't specify any URLs on the command line. 148 // is empty if the user didn't specify any URLs on the command line.
149 // |show_search_redirection_infobar| is set to true if an infobar should be
150 // shown to inform the user that a desktop search has been redirected to the
151 // default search engine.
147 static std::vector<GURL> GetURLsFromCommandLine( 152 static std::vector<GURL> GetURLsFromCommandLine(
148 const base::CommandLine& command_line, 153 const base::CommandLine& command_line,
149 const base::FilePath& cur_dir, 154 const base::FilePath& cur_dir,
150 Profile* profile); 155 Profile* profile,
156 bool* show_desktop_search_redirection_infobar);
151 157
152 // This function performs command-line handling and is invoked only after 158 // This function performs command-line handling and is invoked only after
153 // start up (for example when we get a start request for another process). 159 // start up (for example when we get a start request for another process).
154 // |command_line| holds the command line being processed. 160 // |command_line| holds the command line being processed.
155 // |cur_dir| is the current working directory that the original process was 161 // |cur_dir| is the current working directory that the original process was
156 // invoked from. 162 // invoked from.
157 // |profile| is the profile the apps will be launched in. 163 // |profile| is the profile the apps will be launched in.
158 static bool ProcessLoadApps(const base::CommandLine& command_line, 164 static bool ProcessLoadApps(const base::CommandLine& command_line,
159 const base::FilePath& cur_dir, 165 const base::FilePath& cur_dir,
160 Profile* profile); 166 Profile* profile);
(...skipping 14 matching lines...) Expand all
175 181
176 // True if the set-as-default dialog has been explicitly suppressed. 182 // True if the set-as-default dialog has been explicitly suppressed.
177 // This information is used to allow the default browser prompt to show on 183 // This information is used to allow the default browser prompt to show on
178 // first-run when the dialog has been suppressed. 184 // first-run when the dialog has been suppressed.
179 bool is_default_browser_dialog_suppressed_; 185 bool is_default_browser_dialog_suppressed_;
180 186
181 // Whether the browser window should be shown immediately after it has been 187 // Whether the browser window should be shown immediately after it has been
182 // created. Default is true. 188 // created. Default is true.
183 bool show_main_browser_window_; 189 bool show_main_browser_window_;
184 190
191 // Whether an infobar should be shown to inform the user that a desktop search
192 // has been redirected to the default search engine.
193 bool show_desktop_search_redirection_infobar_;
194
185 // True if we have already read and reset the preference kWasRestarted. (A 195 // True if we have already read and reset the preference kWasRestarted. (A
186 // member variable instead of a static variable inside WasRestarted because 196 // member variable instead of a static variable inside WasRestarted because
187 // of testing.) 197 // of testing.)
188 static bool was_restarted_read_; 198 static bool was_restarted_read_;
189 199
190 static bool in_synchronous_profile_launch_; 200 static bool in_synchronous_profile_launch_;
191 201
192 DISALLOW_COPY_AND_ASSIGN(StartupBrowserCreator); 202 DISALLOW_COPY_AND_ASSIGN(StartupBrowserCreator);
193 }; 203 };
194 204
195 // Returns true if |profile| has exited uncleanly and has not been launched 205 // Returns true if |profile| has exited uncleanly and has not been launched
196 // after the unclean exit. 206 // after the unclean exit.
197 bool HasPendingUncleanExit(Profile* profile); 207 bool HasPendingUncleanExit(Profile* profile);
198 208
199 // Returns the path that contains the profile that should be loaded on process 209 // Returns the path that contains the profile that should be loaded on process
200 // startup. 210 // startup.
201 base::FilePath GetStartupProfilePath(const base::FilePath& user_data_dir, 211 base::FilePath GetStartupProfilePath(const base::FilePath& user_data_dir,
202 const base::CommandLine& command_line); 212 const base::CommandLine& command_line);
203 213
204 #endif // CHROME_BROWSER_UI_STARTUP_STARTUP_BROWSER_CREATOR_H_ 214 #endif // CHROME_BROWSER_UI_STARTUP_STARTUP_BROWSER_CREATOR_H_
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url_service_factory.cc ('k') | chrome/browser/ui/startup/startup_browser_creator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698