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 "chrome/browser/first_run/first_run.h" | 5 #include "chrome/browser/first_run/first_run.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 } | 154 } |
155 #endif | 155 #endif |
156 | 156 |
157 #if !defined(USE_AURA) | 157 #if !defined(USE_AURA) |
158 void AutoImportPlatformCommon( | 158 void AutoImportPlatformCommon( |
159 scoped_refptr<ImporterHost> importer_host, | 159 scoped_refptr<ImporterHost> importer_host, |
160 Profile* profile, | 160 Profile* profile, |
161 bool homepage_defined, | 161 bool homepage_defined, |
162 int import_items, | 162 int import_items, |
163 int dont_import_items, | 163 int dont_import_items, |
164 bool search_engine_experiment, | |
165 bool randomize_search_engine_experiment, | |
166 bool make_chrome_default) { | 164 bool make_chrome_default) { |
167 FilePath local_state_path; | 165 FilePath local_state_path; |
168 PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path); | 166 PathService::Get(chrome::FILE_LOCAL_STATE, &local_state_path); |
169 bool local_state_file_exists = file_util::PathExists(local_state_path); | 167 bool local_state_file_exists = file_util::PathExists(local_state_path); |
170 | 168 |
171 scoped_refptr<ImporterList> importer_list(new ImporterList(NULL)); | 169 scoped_refptr<ImporterList> importer_list(new ImporterList(NULL)); |
172 importer_list->DetectSourceProfilesHack(); | 170 importer_list->DetectSourceProfilesHack(); |
173 | 171 |
174 // Do import if there is an available profile for us to import. | 172 // Do import if there is an available profile for us to import. |
175 if (importer_list->count() > 0) { | 173 if (importer_list->count() > 0) { |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 import_items, | 217 import_items, |
220 dont_import_items, | 218 dont_import_items, |
221 importer::FAVORITES, | 219 importer::FAVORITES, |
222 items); | 220 items); |
223 | 221 |
224 ImportSettings(profile, importer_host, importer_list, items); | 222 ImportSettings(profile, importer_host, importer_list, items); |
225 } | 223 } |
226 | 224 |
227 content::RecordAction(UserMetricsAction("FirstRunDef_Accept")); | 225 content::RecordAction(UserMetricsAction("FirstRunDef_Accept")); |
228 | 226 |
229 // Launch the search engine dialog only for certain builds, and only if the | 227 // Launch the first run dialog only for certain builds, and only if the user |
230 // user has not already set preferences. | 228 // has not already set preferences. |
231 if (IsOrganicFirstRun() && !local_state_file_exists) { | 229 if (IsOrganicFirstRun() && !local_state_file_exists) { |
232 // The home page string may be set in the preferences, but the user should | 230 // The home page string may be set in the preferences, but the user should |
233 // initially use Chrome with the NTP as home page in organic builds. | 231 // initially use Chrome with the NTP as home page in organic builds. |
234 profile->GetPrefs()->SetBoolean(prefs::kHomePageIsNewTabPage, true); | 232 profile->GetPrefs()->SetBoolean(prefs::kHomePageIsNewTabPage, true); |
235 ShowFirstRunDialog(profile, randomize_search_engine_experiment); | 233 ShowFirstRunDialog(profile); |
236 } | 234 } |
237 | 235 |
238 if (make_chrome_default) | 236 if (make_chrome_default) |
239 ShellIntegration::SetAsDefaultBrowser(); | 237 ShellIntegration::SetAsDefaultBrowser(); |
240 | 238 |
241 // Display the first run bubble if there is a default search provider. | 239 // Display the first run bubble if there is a default search provider. |
242 TemplateURLService* template_url = | 240 TemplateURLService* template_url = |
243 TemplateURLServiceFactory::GetForProfile(profile); | 241 TemplateURLServiceFactory::GetForProfile(profile); |
244 if (template_url && template_url->GetDefaultSearchProvider()) | 242 if (template_url && template_url->GetDefaultSearchProvider()) |
245 SetShowFirstRunBubblePref(true); | 243 SetShowFirstRunBubblePref(true); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 return false; | 315 return false; |
318 if (!local_state->FindPreference( | 316 if (!local_state->FindPreference( |
319 prefs::kAutofillPersonalDataManagerFirstRun)) { | 317 prefs::kAutofillPersonalDataManagerFirstRun)) { |
320 local_state->RegisterBooleanPref( | 318 local_state->RegisterBooleanPref( |
321 prefs::kAutofillPersonalDataManagerFirstRun, false); | 319 prefs::kAutofillPersonalDataManagerFirstRun, false); |
322 local_state->SetBoolean(prefs::kAutofillPersonalDataManagerFirstRun, true); | 320 local_state->SetBoolean(prefs::kAutofillPersonalDataManagerFirstRun, true); |
323 } | 321 } |
324 return true; | 322 return true; |
325 } | 323 } |
326 | 324 |
327 bool ShouldShowSearchEngineSelector(const TemplateURLService* model) { | |
328 return model && !model->is_default_search_managed(); | |
329 } | |
330 | |
331 } // namespace first_run | 325 } // namespace first_run |
332 | 326 |
333 // FirstRun ------------------------------------------------------------------- | 327 // FirstRun ------------------------------------------------------------------- |
334 | 328 |
335 FirstRun::MasterPrefs::MasterPrefs() | 329 FirstRun::MasterPrefs::MasterPrefs() |
336 : ping_delay(0), | 330 : ping_delay(0), |
337 homepage_defined(false), | 331 homepage_defined(false), |
338 do_import_items(0), | 332 do_import_items(0), |
339 dont_import_items(0), | 333 dont_import_items(0), |
340 run_search_engine_experiment(false), | |
341 randomize_search_engine_experiment(false), | |
342 make_chrome_default(false) { | 334 make_chrome_default(false) { |
343 } | 335 } |
344 | 336 |
345 FirstRun::MasterPrefs::~MasterPrefs() {} | 337 FirstRun::MasterPrefs::~MasterPrefs() {} |
346 | 338 |
347 // static | 339 // static |
348 bool FirstRun::ProcessMasterPreferences(const FilePath& user_data_dir, | 340 bool FirstRun::ProcessMasterPreferences(const FilePath& user_data_dir, |
349 MasterPrefs* out_prefs) { | 341 MasterPrefs* out_prefs) { |
350 DCHECK(!user_data_dir.empty()); | 342 DCHECK(!user_data_dir.empty()); |
351 | 343 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 | 410 |
419 if (prefs.GetBool(installer::master_preferences::kDistroImportSearchPref, | 411 if (prefs.GetBool(installer::master_preferences::kDistroImportSearchPref, |
420 &value)) { | 412 &value)) { |
421 if (value) { | 413 if (value) { |
422 out_prefs->do_import_items |= importer::SEARCH_ENGINES; | 414 out_prefs->do_import_items |= importer::SEARCH_ENGINES; |
423 } else { | 415 } else { |
424 out_prefs->dont_import_items |= importer::SEARCH_ENGINES; | 416 out_prefs->dont_import_items |= importer::SEARCH_ENGINES; |
425 } | 417 } |
426 } | 418 } |
427 | 419 |
428 // Check to see if search engine logos should be randomized. | |
429 if (prefs.GetBool( | |
430 installer::master_preferences:: | |
431 kSearchEngineExperimentRandomizePref, | |
432 &value) && value) { | |
433 out_prefs->randomize_search_engine_experiment = true; | |
434 } | |
435 | |
436 // If we're suppressing the first-run bubble, set that preference now. | 420 // If we're suppressing the first-run bubble, set that preference now. |
437 // Otherwise, wait until the user has completed first run to set it, so the | 421 // Otherwise, wait until the user has completed first run to set it, so the |
438 // user is guaranteed to see the bubble iff he or she has completed the first | 422 // user is guaranteed to see the bubble iff he or she has completed the first |
439 // run process. | 423 // run process. |
440 if (prefs.GetBool( | 424 if (prefs.GetBool( |
441 installer::master_preferences::kDistroSuppressFirstRunBubble, | 425 installer::master_preferences::kDistroSuppressFirstRunBubble, |
442 &value) && value) | 426 &value) && value) |
443 first_run::SetShowFirstRunBubblePref(false); | 427 first_run::SetShowFirstRunBubblePref(false); |
444 | 428 |
445 if (prefs.GetBool( | 429 if (prefs.GetBool( |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 } | 550 } |
567 } else { | 551 } else { |
568 if (g_browser_process->local_state()->GetBoolean( | 552 if (g_browser_process->local_state()->GetBoolean( |
569 prefs::kDefaultBrowserSettingEnabled)) { | 553 prefs::kDefaultBrowserSettingEnabled)) { |
570 ShellIntegration::SetAsDefaultBrowser(); | 554 ShellIntegration::SetAsDefaultBrowser(); |
571 } | 555 } |
572 } | 556 } |
573 | 557 |
574 return false; | 558 return false; |
575 } | 559 } |
OLD | NEW |