diff options
author | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-05 17:42:50 +0000 |
---|---|---|
committer | kuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-05 17:42:50 +0000 |
commit | 937efca2308c6640b0cbee15051c50d3413760de (patch) | |
tree | b7a5567c35711773a2909957554432bd978f7ce8 /chrome/installer/setup/setup_util.cc | |
parent | c9e45da0dec9692d8f59cef2e8c5cdac28baf51b (diff) | |
download | chromium_src-937efca2308c6640b0cbee15051c50d3413760de.zip chromium_src-937efca2308c6640b0cbee15051c50d3413760de.tar.gz chromium_src-937efca2308c6640b0cbee15051c50d3413760de.tar.bz2 |
Add some unit tests for master preferences parsing code.
BUG=12849
TEST=none
Review URL: http://codereview.chromium.org/160560
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22493 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/setup/setup_util.cc')
-rw-r--r-- | chrome/installer/setup/setup_util.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/chrome/installer/setup/setup_util.cc b/chrome/installer/setup/setup_util.cc index 7356ecf..985d704 100644 --- a/chrome/installer/setup/setup_util.cc +++ b/chrome/installer/setup/setup_util.cc @@ -8,6 +8,49 @@ #include "base/file_util.h" #include "base/logging.h" +#include "chrome/installer/util/master_preferences.h" +#include "chrome/installer/util/util_constants.h" + + +DictionaryValue* setup_util::GetInstallPreferences( + const CommandLine& cmd_line) { + DictionaryValue* prefs = NULL; + + if (cmd_line.HasSwitch(installer_util::switches::kInstallerData)) { + FilePath prefs_path( + cmd_line.GetSwitchValue(installer_util::switches::kInstallerData)); + prefs = installer_util::ParseDistributionPreferences(prefs_path); + } + + if (!prefs) + prefs = new DictionaryValue(); + + if (cmd_line.HasSwitch(installer_util::switches::kCreateAllShortcuts)) + installer_util::SetDistroBooleanPreference( + prefs, installer_util::master_preferences::kCreateAllShortcuts, true); + + if (cmd_line.HasSwitch(installer_util::switches::kDoNotLaunchChrome)) + installer_util::SetDistroBooleanPreference( + prefs, installer_util::master_preferences::kDoNotLaunchChrome, true); + + if (cmd_line.HasSwitch(installer_util::switches::kMakeChromeDefault)) + installer_util::SetDistroBooleanPreference( + prefs, installer_util::master_preferences::kMakeChromeDefault, true); + + if (cmd_line.HasSwitch(installer_util::switches::kSystemLevel)) + installer_util::SetDistroBooleanPreference( + prefs, installer_util::master_preferences::kSystemLevel, true); + + if (cmd_line.HasSwitch(installer_util::switches::kVerboseLogging)) + installer_util::SetDistroBooleanPreference( + prefs, installer_util::master_preferences::kVerboseLogging, true); + + if (cmd_line.HasSwitch(installer_util::switches::kAltDesktopShortcut)) + installer_util::SetDistroBooleanPreference( + prefs, installer_util::master_preferences::kAltShortcutText, true); + + return prefs; +} installer::Version* setup_util::GetVersionFromDir( const std::wstring& chrome_path) { |