Index: chrome/browser/chromeos/settings/owner_flags_storage.cc |
diff --git a/chrome/browser/chromeos/settings/owner_flags_storage.cc b/chrome/browser/chromeos/settings/owner_flags_storage.cc |
index 38c2ba9a8f76d9534f7c0133485e30cf9a17043c..9c21c314c83e1bd786bda335b59fa3ab87040c40 100644 |
--- a/chrome/browser/chromeos/settings/owner_flags_storage.cc |
+++ b/chrome/browser/chromeos/settings/owner_flags_storage.cc |
@@ -4,8 +4,10 @@ |
#include "chrome/browser/chromeos/settings/owner_flags_storage.h" |
+#include "base/command_line.h" |
#include "base/prefs/pref_service.h" |
#include "base/values.h" |
+#include "chrome/browser/about_flags.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/chromeos/settings/cros_settings.h" |
#include "chrome/browser/chromeos/settings/cros_settings_names.h" |
@@ -50,8 +52,12 @@ bool OwnerFlagsStorage::SetFlags(std::set<std::string> flags) { |
base::ListValue experiments_list; |
- for (std::set<std::string>::const_iterator it = flags.begin(); |
- it != flags.end(); ++it) { |
+ CommandLine command_line(CommandLine::NO_PROGRAM); |
+ ::about_flags::ConvertFlagsToSwitches(this, &command_line, |
+ ::about_flags::kNoSentinels); |
+ CommandLine::StringVector switches = command_line.argv(); |
+ for (CommandLine::StringVector::const_iterator it = switches.begin() + 1; |
+ it != switches.end(); ++it) { |
experiments_list.Append(new base::StringValue(*it)); |
} |
cros_settings_->Set(kStartUpFlags, experiments_list); |