| Index: chrome/browser/ui/webui/settings/about_handler.cc
|
| diff --git a/chrome/browser/ui/webui/settings/about_handler.cc b/chrome/browser/ui/webui/settings/about_handler.cc
|
| index a904c37e81efd10f653fb3fe8f4e79ed08d8b62f..7c3ed61974fb9d9295e3df68e12fb9200fa78e84 100644
|
| --- a/chrome/browser/ui/webui/settings/about_handler.cc
|
| +++ b/chrome/browser/ui/webui/settings/about_handler.cc
|
| @@ -592,22 +592,31 @@ void AboutHandler::SetUpdateStatus(VersionUpdater::Status status,
|
|
|
| #if defined(OS_MACOSX)
|
| void AboutHandler::SetPromotionState(VersionUpdater::PromotionState state) {
|
| - std::string state_str;
|
| - switch (state) {
|
| - case VersionUpdater::PROMOTE_HIDDEN:
|
| - state_str = "hidden";
|
| - break;
|
| - case VersionUpdater::PROMOTE_ENABLED:
|
| - state_str = "enabled";
|
| - break;
|
| - case VersionUpdater::PROMOTE_DISABLED:
|
| - state_str = "disabled";
|
| - break;
|
| - }
|
| + // Worth noting: PROMOTE_DISABLED indicates that promotion is possible,
|
| + // there's just something else going on right now (e.g. checking for update).
|
| + bool hidden = state == VersionUpdater::PROMOTE_HIDDEN;
|
| + bool disabled = state == VersionUpdater::PROMOTE_HIDDEN ||
|
| + state == VersionUpdater::PROMOTE_DISABLED ||
|
| + state == VersionUpdater::PROMOTED;
|
| + bool actionable = state == VersionUpdater::PROMOTE_DISABLED ||
|
| + state == VersionUpdater::PROMOTE_ENABLED;
|
| +
|
| + base::string16 text = base::string16();
|
| + if (actionable)
|
| + text = l10n_util::GetStringUTF16(IDS_ABOUT_CHROME_AUTOUPDATE_ALL);
|
| + else if (state == VersionUpdater::PROMOTED)
|
| + text = l10n_util::GetStringUTF16(IDS_ABOUT_CHROME_AUTOUPDATE_ALL_IS_ON);
|
| +
|
| + base::DictionaryValue promo_state;
|
| + promo_state.SetBoolean("hidden", hidden);
|
| + promo_state.SetBoolean("disabled", disabled);
|
| + promo_state.SetBoolean("actionable", actionable);
|
| + if (!text.empty())
|
| + promo_state.SetString("text", text);
|
|
|
| CallJavascriptFunction("cr.webUIListenerCallback",
|
| base::StringValue("promotion-state-changed"),
|
| - base::StringValue(state_str));
|
| + promo_state);
|
| }
|
| #endif // defined(OS_MACOSX)
|
|
|
| @@ -645,7 +654,6 @@ void AboutHandler::OnRegulatoryLabelTextRead(
|
|
|
| ResolveJavascriptCallback(base::StringValue(callback_id), *regulatory_info);
|
| }
|
| -
|
| #endif // defined(OS_CHROMEOS)
|
|
|
| } // namespace settings
|
|
|