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

Side by Side Diff: chrome/browser/first_run_win.cc

Issue 2808006: Allow randomized search engines in selection dialog.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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.h" 5 #include "chrome/browser/first_run.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 #include <shlobj.h> 9 #include <shlobj.h>
10 10
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 out_prefs->dont_import_items += importer::SEARCH_ENGINES; 317 out_prefs->dont_import_items += importer::SEARCH_ENGINES;
318 } 318 }
319 } 319 }
320 320
321 if (InSearchExperimentLocale() && 321 if (InSearchExperimentLocale() &&
322 installer_util::GetDistroBooleanPreference(prefs.get(), 322 installer_util::GetDistroBooleanPreference(prefs.get(),
323 installer_util::master_preferences::kSearchEngineExperimentPref, 323 installer_util::master_preferences::kSearchEngineExperimentPref,
324 &value) && value) { 324 &value) && value) {
325 // Set the first run dialog to include the search choice window. 325 // Set the first run dialog to include the search choice window.
326 out_prefs->run_search_engine_experiment = true; 326 out_prefs->run_search_engine_experiment = true;
327 // Check to see if search engine logos should be randomized.
328 if (installer_util::GetDistroBooleanPreference(prefs.get(),
329 installer_util::master_preferences::
330 kSearchEngineExperimentRandomizePref,
331 &value) && value) {
332 out_prefs->randomize_search_engine_experiment = true;
333 }
327 // Set the first run bubble to minimal. 334 // Set the first run bubble to minimal.
328 FirstRun::SetMinimalFirstRunBubblePref(); 335 FirstRun::SetMinimalFirstRunBubblePref();
329 } 336 }
330 337
331 // Note we are skipping all other master preferences if skip-first-run-ui 338 // Note we are skipping all other master preferences if skip-first-run-ui
332 // is *not* specified. 339 // is *not* specified.
333 if (!installer_util::GetDistroBooleanPreference(prefs.get(), 340 if (!installer_util::GetDistroBooleanPreference(prefs.get(),
334 installer_util::master_preferences::kDistroSkipFirstRunPref, &value) || 341 installer_util::master_preferences::kDistroSkipFirstRunPref, &value) ||
335 !value) 342 !value)
336 return true; 343 return true;
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 if (!GetNewerChromeFile(&new_chrome_exe)) 491 if (!GetNewerChromeFile(&new_chrome_exe))
485 return false; 492 return false;
486 return file_util::PathExists(new_chrome_exe); 493 return file_util::PathExists(new_chrome_exe);
487 } 494 }
488 495
489 bool OpenFirstRunDialog(Profile* profile, 496 bool OpenFirstRunDialog(Profile* profile,
490 bool homepage_defined, 497 bool homepage_defined,
491 int import_items, 498 int import_items,
492 int dont_import_items, 499 int dont_import_items,
493 bool search_engine_experiment, 500 bool search_engine_experiment,
501 bool randomize_search_engine_experiment,
494 ProcessSingleton* process_singleton) { 502 ProcessSingleton* process_singleton) {
495 DCHECK(profile); 503 DCHECK(profile);
496 DCHECK(process_singleton); 504 DCHECK(process_singleton);
497 505
498 // We need the FirstRunView to outlive its parent, as we retrieve the accept 506 // We need the FirstRunView to outlive its parent, as we retrieve the accept
499 // state from it after the dialog has been closed. 507 // state from it after the dialog has been closed.
500 scoped_ptr<FirstRunView> first_run_view( 508 scoped_ptr<FirstRunView> first_run_view(
501 new FirstRunView(profile, 509 new FirstRunView(profile,
502 homepage_defined, 510 homepage_defined,
503 import_items, 511 import_items,
504 dont_import_items, 512 dont_import_items,
505 search_engine_experiment)); 513 search_engine_experiment,
514 randomize_search_engine_experiment));
506 first_run_view->set_parent_owned(false); 515 first_run_view->set_parent_owned(false);
507 views::Window* first_run_ui = views::Window::CreateChromeWindow( 516 views::Window* first_run_ui = views::Window::CreateChromeWindow(
508 NULL, gfx::Rect(), first_run_view.get()); 517 NULL, gfx::Rect(), first_run_view.get());
509 DCHECK(first_run_ui); 518 DCHECK(first_run_ui);
510 519
511 // We need to avoid dispatching new tabs when we are doing the import 520 // We need to avoid dispatching new tabs when we are doing the import
512 // because that will lead to data corruption or a crash. Lock() does that. 521 // because that will lead to data corruption or a crash. Lock() does that.
513 // If a CopyData message does come in while the First Run UI is visible, 522 // If a CopyData message does come in while the First Run UI is visible,
514 // then we will attempt to set first_run_ui as the foreground window. 523 // then we will attempt to set first_run_ui as the foreground window.
515 process_singleton->Lock(first_run_ui->GetNativeWindow()); 524 process_singleton->Lock(first_run_ui->GetNativeWindow());
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 1032
1024 Upgrade::TryResult Upgrade::ShowTryChromeDialog(size_t version) { 1033 Upgrade::TryResult Upgrade::ShowTryChromeDialog(size_t version) {
1025 if (version > 10000) { 1034 if (version > 10000) {
1026 // This is a test value. We want to make sure we exercise 1035 // This is a test value. We want to make sure we exercise
1027 // returning this early. See EarlyReturnTest test harness. 1036 // returning this early. See EarlyReturnTest test harness.
1028 return Upgrade::TD_NOT_NOW; 1037 return Upgrade::TD_NOT_NOW;
1029 } 1038 }
1030 TryChromeDialog td; 1039 TryChromeDialog td;
1031 return td.ShowModal(); 1040 return td.ShowModal();
1032 } 1041 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698