summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/mobile_config.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/mobile_config.cc')
-rw-r--r--chrome/browser/chromeos/mobile_config.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/mobile_config.cc b/chrome/browser/chromeos/mobile_config.cc
index a655ae2..0fbb479 100644
--- a/chrome/browser/chromeos/mobile_config.cc
+++ b/chrome/browser/chromeos/mobile_config.cc
@@ -44,6 +44,10 @@ const char kDealExpireDateAttr[] = "expire_date";
const char kLocalizedContentAttr[] = "localized_content";
const char kNotificationTextAttr[] = "notification_text";
+// Initial locale carrier config attributes.
+const char kInitialLocalesAttr[] = "initial_locales";
+const char kSetupURLAttr[] = "setup_url";
+
// Local config properties.
const char kExcludeDealsAttr[] = "exclude_deals";
@@ -192,6 +196,20 @@ void MobileConfig::Carrier::RemoveDeals() {
STLDeleteValues(&deals_);
}
+// MobileConfig::LocaleConfig implementation. ----------------------------------
+
+MobileConfig::LocaleConfig::LocaleConfig(DictionaryValue* locale_dict) {
+ InitFromDictionary(locale_dict);
+}
+
+MobileConfig::LocaleConfig::~LocaleConfig() {
+}
+
+void MobileConfig::LocaleConfig::InitFromDictionary(
+ base::DictionaryValue* locale_dict) {
+ locale_dict->GetString(kSetupURLAttr, &setup_url_);
+}
+
// MobileConfig implementation, public -----------------------------------------
// static
@@ -215,6 +233,10 @@ const MobileConfig::Carrier* MobileConfig::GetCarrier(
return NULL;
}
+const MobileConfig::LocaleConfig* MobileConfig::GetLocaleConfig() const {
+ return locale_config_.get();
+}
+
// MobileConfig implementation, protected --------------------------------------
bool MobileConfig::LoadManifestFromString(const std::string& manifest) {
@@ -264,6 +286,17 @@ bool MobileConfig::LoadManifestFromString(const std::string& manifest) {
}
}
+ DictionaryValue* initial_locales = NULL;
+ if (root_.get() && root_->GetDictionary(kInitialLocalesAttr,
+ &initial_locales)) {
+ DictionaryValue* locale_config_dict = NULL;
+ // Search for a config based on current initial locale.
+ if (initial_locales->GetDictionary(initial_locale_,
+ &locale_config_dict)) {
+ locale_config_.reset(new LocaleConfig(locale_config_dict));
+ }
+ }
+
return true;
}