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

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

Issue 3064002: Landing OEM customization CL for Denis... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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 | 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/browser_main.h" 5 #include "chrome/browser/browser_main.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 101
102 #if defined(OS_WIN) 102 #if defined(OS_WIN)
103 #include <windows.h> 103 #include <windows.h>
104 #include <commctrl.h> 104 #include <commctrl.h>
105 #include <shellapi.h> 105 #include <shellapi.h>
106 106
107 #include "app/l10n_util_win.h" 107 #include "app/l10n_util_win.h"
108 #include "app/win_util.h" 108 #include "app/win_util.h"
109 #include "base/registry.h" 109 #include "base/registry.h"
110 #include "base/win_util.h" 110 #include "base/win_util.h"
111 #include "chrome/browser/browser.h"
112 #include "chrome/browser/browser_trial.h" 111 #include "chrome/browser/browser_trial.h"
113 #include "chrome/browser/metrics/user_metrics.h" 112 #include "chrome/browser/metrics/user_metrics.h"
114 #include "chrome/browser/net/url_fixer_upper.h" 113 #include "chrome/browser/net/url_fixer_upper.h"
115 #include "chrome/browser/rlz/rlz.h" 114 #include "chrome/browser/rlz/rlz.h"
116 #include "chrome/browser/views/user_data_dir_dialog.h" 115 #include "chrome/browser/views/user_data_dir_dialog.h"
117 #include "chrome/common/env_vars.h" 116 #include "chrome/common/env_vars.h"
118 #include "chrome/common/sandbox_policy.h" 117 #include "chrome/common/sandbox_policy.h"
119 #include "chrome/installer/util/helper.h" 118 #include "chrome/installer/util/helper.h"
120 #include "chrome/installer/util/install_util.h" 119 #include "chrome/installer/util/install_util.h"
121 #include "chrome/installer/util/shell_util.h" 120 #include "chrome/installer/util/shell_util.h"
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 if (size_arg.size()) { 637 if (size_arg.size()) {
639 std::vector<std::string> dimensions; 638 std::vector<std::string> dimensions;
640 SplitString(size_arg, ',', &dimensions); 639 SplitString(size_arg, ',', &dimensions);
641 if (dimensions.size() == 2) 640 if (dimensions.size() == 2)
642 size.SetSize(StringToInt(dimensions[0]), StringToInt(dimensions[1])); 641 size.SetSize(StringToInt(dimensions[0]), StringToInt(dimensions[1]));
643 } 642 }
644 browser::ShowLoginWizard(first_screen, size); 643 browser::ShowLoginWizard(first_screen, size);
645 } 644 }
646 } 645 }
647 646
648 bool OptionallyApplyServicesCustomizationFromCommandLine(
649 const CommandLine& parsed_command_line,
650 BrowserInit* browser_init) {
651 // For Chrome OS, we may need to fetch OEM partner's services customization
652 // manifest and apply the customizations. This happens on the very first run
653 // or if startup manifest is passed on the command line.
654 scoped_ptr<chromeos::ServicesCustomizationDocument> customization;
655 customization.reset(new chromeos::ServicesCustomizationDocument());
656 bool manifest_loaded = false;
657 if (parsed_command_line.HasSwitch(switches::kServicesManifest)) {
658 // Load manifest from file specified by command line switch.
659 FilePath manifest_path =
660 parsed_command_line.GetSwitchValuePath(switches::kServicesManifest);
661 manifest_loaded = customization->LoadManifestFromFile(manifest_path);
662 DCHECK(manifest_loaded) << manifest_path.value();
663 }
664 // If manifest was loaded successfully, apply the customizations.
665 if (manifest_loaded) {
666 browser_init->ApplyServicesCustomization(customization.get());
667 }
668 return manifest_loaded;
669 }
670
671 #else 647 #else
672 648
673 void OptionallyRunChromeOSLoginManager(const CommandLine& parsed_command_line) { 649 void OptionallyRunChromeOSLoginManager(const CommandLine& parsed_command_line) {
674 // Dummy empty function for non-ChromeOS builds to avoid extra ifdefs below. 650 // Dummy empty function for non-ChromeOS builds to avoid extra ifdefs below.
675 } 651 }
676 652
677 bool OptionallyApplyServicesCustomizationFromCommandLine(
678 const CommandLine& parsed_command_line,
679 BrowserInit* browser_init) {
680 // Dummy empty function for non-ChromeOS builds to avoid extra ifdefs below.
681 return false;
682 }
683
684 #endif // defined(OS_CHROMEOS) 653 #endif // defined(OS_CHROMEOS)
685 654
686 #if defined(OS_MACOSX) 655 #if defined(OS_MACOSX)
687 OSStatus KeychainCallback(SecKeychainEvent keychain_event, 656 OSStatus KeychainCallback(SecKeychainEvent keychain_event,
688 SecKeychainCallbackInfo *info, void *context) { 657 SecKeychainCallbackInfo *info, void *context) {
689 return noErr; 658 return noErr;
690 } 659 }
691 #endif 660 #endif
692 661
693 } // namespace 662 } // namespace
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
1120 1089
1121 // Configure the network module so it has access to resources. 1090 // Configure the network module so it has access to resources.
1122 net::NetModule::SetResourceProvider(chrome_common_net::NetResourceProvider); 1091 net::NetModule::SetResourceProvider(chrome_common_net::NetResourceProvider);
1123 1092
1124 // Register our global network handler for chrome:// and 1093 // Register our global network handler for chrome:// and
1125 // chrome-extension:// URLs. 1094 // chrome-extension:// URLs.
1126 RegisterURLRequestChromeJob(); 1095 RegisterURLRequestChromeJob();
1127 RegisterExtensionProtocols(); 1096 RegisterExtensionProtocols();
1128 RegisterMetadataURLRequestHandler(); 1097 RegisterMetadataURLRequestHandler();
1129 1098
1130 // If path to partner services customization document was passed on command
1131 // line, apply the customizations (Chrome OS only).
1132 // TODO(denisromanov): Remove this when not needed for testing.
1133 OptionallyApplyServicesCustomizationFromCommandLine(parsed_command_line,
1134 &browser_init);
1135
1136 // In unittest mode, this will do nothing. In normal mode, this will create 1099 // In unittest mode, this will do nothing. In normal mode, this will create
1137 // the global GoogleURLTracker and IntranetRedirectDetector instances, which 1100 // the global GoogleURLTracker and IntranetRedirectDetector instances, which
1138 // will promptly go to sleep for five and seven seconds, respectively (to 1101 // will promptly go to sleep for five and seven seconds, respectively (to
1139 // avoid slowing startup), and wake up afterwards to see if they should do 1102 // avoid slowing startup), and wake up afterwards to see if they should do
1140 // anything else. 1103 // anything else.
1141 // 1104 //
1142 // A simpler way of doing all this would be to have some function which could 1105 // A simpler way of doing all this would be to have some function which could
1143 // give the time elapsed since startup, and simply have these objects check 1106 // give the time elapsed since startup, and simply have these objects check
1144 // that when asked to initialize themselves, but this doesn't seem to exist. 1107 // that when asked to initialize themselves, but this doesn't seem to exist.
1145 // 1108 //
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
1304 1267
1305 metrics->Stop(); 1268 metrics->Stop();
1306 1269
1307 // browser_shutdown takes care of deleting browser_process, so we need to 1270 // browser_shutdown takes care of deleting browser_process, so we need to
1308 // release it. 1271 // release it.
1309 ignore_result(browser_process.release()); 1272 ignore_result(browser_process.release());
1310 browser_shutdown::Shutdown(); 1273 browser_shutdown::Shutdown();
1311 1274
1312 return result_code; 1275 return result_code;
1313 } 1276 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698