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

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

Issue 340020: Cleanup a few FirstRun methods that are only applicable to Windows. (Closed)
Patch Set: code review feedback" Created 11 years, 1 month 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
« no previous file with comments | « no previous file | chrome/browser/first_run.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2009 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/browser_main.h" 5 #include "chrome/browser/browser_main.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 // However, ProcessSingleton needs a real user_data_dir on Mac/Linux, 343 // However, ProcessSingleton needs a real user_data_dir on Mac/Linux,
344 // so it's better to fail here than fail mysteriously elsewhere. 344 // so it's better to fail here than fail mysteriously elsewhere.
345 CHECK(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) 345 CHECK(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir))
346 << "Must be able to get user data directory!"; 346 << "Must be able to get user data directory!";
347 #endif 347 #endif
348 348
349 ProcessSingleton process_singleton(user_data_dir); 349 ProcessSingleton process_singleton(user_data_dir);
350 350
351 bool is_first_run = FirstRun::IsChromeFirstRun() || 351 bool is_first_run = FirstRun::IsChromeFirstRun() ||
352 parsed_command_line.HasSwitch(switches::kFirstRun); 352 parsed_command_line.HasSwitch(switches::kFirstRun);
353 bool first_run_ui_bypass = false;
354 353
355 scoped_ptr<BrowserProcess> browser_process; 354 scoped_ptr<BrowserProcess> browser_process;
356 if (parsed_command_line.HasSwitch(switches::kImport)) { 355 if (parsed_command_line.HasSwitch(switches::kImport)) {
357 // We use different BrowserProcess when importing so no GoogleURLTracker is 356 // We use different BrowserProcess when importing so no GoogleURLTracker is
358 // instantiated (as it makes a URLRequest and we don't have an IO thread, 357 // instantiated (as it makes a URLRequest and we don't have an IO thread,
359 // see bug #1292702). 358 // see bug #1292702).
360 browser_process.reset(new FirstRunBrowserProcess(parsed_command_line)); 359 browser_process.reset(new FirstRunBrowserProcess(parsed_command_line));
361 is_first_run = false; 360 is_first_run = false;
362 } else { 361 } else {
363 browser_process.reset(new BrowserProcessImpl(parsed_command_line)); 362 browser_process.reset(new BrowserProcessImpl(parsed_command_line));
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 Upgrade::ShowTryChromeDialog(StringToInt(try_chrome)); 483 Upgrade::ShowTryChromeDialog(StringToInt(try_chrome));
485 if (answer == Upgrade::TD_NOT_NOW) 484 if (answer == Upgrade::TD_NOT_NOW)
486 return ResultCodes::NORMAL_EXIT_EXP1; 485 return ResultCodes::NORMAL_EXIT_EXP1;
487 if (answer == Upgrade::TD_UNINSTALL_CHROME) 486 if (answer == Upgrade::TD_UNINSTALL_CHROME)
488 return ResultCodes::NORMAL_EXIT_EXP2; 487 return ResultCodes::NORMAL_EXIT_EXP2;
489 } 488 }
490 #endif // OS_WIN 489 #endif // OS_WIN
491 490
492 BrowserInit browser_init; 491 BrowserInit browser_init;
493 492
493 #if defined(OS_WIN)
494 int rlz_ping_delay = 0; 494 int rlz_ping_delay = 0;
495 #endif
495 bool homepage_defined = false; 496 bool homepage_defined = false;
496 int import_items = 0; 497 int import_items = 0;
497 int dont_import_items = 0; 498 int dont_import_items = 0;
499 bool first_run_ui_bypass = false;
498 if (is_first_run) { 500 if (is_first_run) {
501 #if defined(OS_WIN)
499 // On first run, we need to process the master preferences before the 502 // On first run, we need to process the master preferences before the
500 // browser's profile_manager object is created, but after ResourceBundle 503 // browser's profile_manager object is created, but after ResourceBundle
501 // is initialized. 504 // is initialized.
502 std::vector<std::wstring> first_run_tabs; 505 std::vector<std::wstring> first_run_tabs;
503 first_run_ui_bypass = !FirstRun::ProcessMasterPreferences(user_data_dir, 506 first_run_ui_bypass = !FirstRun::ProcessMasterPreferences(user_data_dir,
504 FilePath(), &first_run_tabs, &rlz_ping_delay, &homepage_defined, 507 FilePath(), &first_run_tabs, &rlz_ping_delay, &homepage_defined,
505 &import_items, &dont_import_items); 508 &import_items, &dont_import_items);
506 // The master prefs might specify a set of urls to display. 509 // The master prefs might specify a set of urls to display.
507 if (first_run_tabs.size()) 510 if (first_run_tabs.size())
508 AddFirstRunNewTabs(&browser_init, first_run_tabs); 511 AddFirstRunNewTabs(&browser_init, first_run_tabs);
512 #endif // OS_WIN
509 513
510 // If we are running in App mode, we do not want to show the importer 514 // If we are running in App mode, we do not want to show the importer
511 // (first run) UI. 515 // (first run) UI.
512 if (!first_run_ui_bypass && 516 if (!first_run_ui_bypass &&
513 (parsed_command_line.HasSwitch(switches::kApp) || 517 (parsed_command_line.HasSwitch(switches::kApp) ||
514 parsed_command_line.HasSwitch(switches::kNoFirstRun))) { 518 parsed_command_line.HasSwitch(switches::kNoFirstRun))) {
515 first_run_ui_bypass = true; 519 first_run_ui_bypass = true;
516 } 520 }
517 } 521 }
518 522
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 } else if (parsed_command_line.HasSwitch(switches::kMakeDefaultBrowser)) { 635 } else if (parsed_command_line.HasSwitch(switches::kMakeDefaultBrowser)) {
632 if (ShellIntegration::SetAsDefaultBrowser()) { 636 if (ShellIntegration::SetAsDefaultBrowser()) {
633 return ResultCodes::NORMAL_EXIT; 637 return ResultCodes::NORMAL_EXIT;
634 } else { 638 } else {
635 return ResultCodes::SHELL_INTEGRATION_FAILED; 639 return ResultCodes::SHELL_INTEGRATION_FAILED;
636 } 640 }
637 } 641 }
638 642
639 // Importing other browser settings is done in a browser-like process 643 // Importing other browser settings is done in a browser-like process
640 // that exits when this task has finished. 644 // that exits when this task has finished.
645 #if defined(OS_WIN)
641 if (parsed_command_line.HasSwitch(switches::kImport)) 646 if (parsed_command_line.HasSwitch(switches::kImport))
642 return FirstRun::ImportNow(profile, parsed_command_line); 647 return FirstRun::ImportNow(profile, parsed_command_line);
648 #endif
643 649
644 // When another process is running, use it instead of starting us. 650 // When another process is running, use it instead of starting us.
645 switch (process_singleton.NotifyOtherProcess()) { 651 switch (process_singleton.NotifyOtherProcess()) {
646 case ProcessSingleton::PROCESS_NONE: 652 case ProcessSingleton::PROCESS_NONE:
647 // No process already running, fall through to starting a new one. 653 // No process already running, fall through to starting a new one.
648 break; 654 break;
649 655
650 case ProcessSingleton::PROCESS_NOTIFIED: 656 case ProcessSingleton::PROCESS_NOTIFIED:
651 #if defined(OS_LINUX) 657 #if defined(OS_LINUX)
652 printf("%s\n", base::SysWideToNativeMB( 658 printf("%s\n", base::SysWideToNativeMB(
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 if (metrics) 898 if (metrics)
893 metrics->Stop(); 899 metrics->Stop();
894 900
895 // browser_shutdown takes care of deleting browser_process, so we need to 901 // browser_shutdown takes care of deleting browser_process, so we need to
896 // release it. 902 // release it.
897 browser_process.release(); 903 browser_process.release();
898 browser_shutdown::Shutdown(); 904 browser_shutdown::Shutdown();
899 905
900 return result_code; 906 return result_code;
901 } 907 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/first_run.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698