summaryrefslogtreecommitdiffstats
path: root/chrome/installer/setup/setup_util.cc
diff options
context:
space:
mode:
authorkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-05 17:42:50 +0000
committerkuchhal@chromium.org <kuchhal@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-05 17:42:50 +0000
commit937efca2308c6640b0cbee15051c50d3413760de (patch)
treeb7a5567c35711773a2909957554432bd978f7ce8 /chrome/installer/setup/setup_util.cc
parentc9e45da0dec9692d8f59cef2e8c5cdac28baf51b (diff)
downloadchromium_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.cc43
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) {