Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(733)

Unified Diff: chrome/browser/ui/webui/settings/about_handler.cc

Issue 2538043006: Settings: About: Fix cros channel info. (Closed)
Patch Set: Fix non cros tests Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 65f12f4cbe51f0e5a23e94e19ceb9e97e2c3fd11..a904c37e81efd10f653fb3fe8f4e79ed08d8b62f 100644
--- a/chrome/browser/ui/webui/settings/about_handler.cc
+++ b/chrome/browser/ui/webui/settings/about_handler.cc
@@ -308,8 +308,6 @@ AboutHandler* AboutHandler::Create(content::WebUIDataSource* html_source,
IDS_ABOUT_CROS_VERSION_LICENSE,
base::ASCIIToUTF16(chrome::kChromeUIOSCreditsURL));
html_source->AddString("aboutProductOsLicense", os_license);
-
- html_source->AddBoolean("aboutCanChangeChannel", CanChangeChannel(profile));
html_source->AddBoolean("aboutEnterpriseManaged", IsEnterpriseManaged());
base::Time build_time = base::SysInfo::GetLsbReleaseTime();
@@ -357,11 +355,8 @@ void AboutHandler::RegisterMessages() {
"getRegulatoryInfo", base::Bind(&AboutHandler::HandleGetRegulatoryInfo,
base::Unretained(this)));
web_ui()->RegisterMessageCallback(
- "getCurrentChannel", base::Bind(&AboutHandler::HandleGetCurrentChannel,
- base::Unretained(this)));
- web_ui()->RegisterMessageCallback(
- "getTargetChannel", base::Bind(&AboutHandler::HandleGetTargetChannel,
- base::Unretained(this)));
+ "getChannelInfo", base::Bind(&AboutHandler::HandleGetChannelInfo,
+ base::Unretained(this)));
#endif
#if defined(OS_MACOSX)
web_ui()->RegisterMessageCallback(
@@ -520,31 +515,35 @@ void AboutHandler::HandleGetRegulatoryInfo(const base::ListValue* args) {
weak_factory_.GetWeakPtr(), callback_id));
}
-void AboutHandler::HandleGetCurrentChannel(const base::ListValue* args) {
+void AboutHandler::HandleGetChannelInfo(const base::ListValue* args) {
CHECK_EQ(1U, args->GetSize());
std::string callback_id;
CHECK(args->GetString(0, &callback_id));
- // First argument to GetChannel() is a flag that indicates whether
- // current channel should be returned (if true) or target channel
- // (otherwise).
version_updater_->GetChannel(
- true, base::Bind(&AboutHandler::OnGetChannelReady,
- weak_factory_.GetWeakPtr(), callback_id));
+ true /* get current channel */,
+ base::Bind(&AboutHandler::OnGetCurrentChannel, weak_factory_.GetWeakPtr(),
+ callback_id));
}
-void AboutHandler::HandleGetTargetChannel(const base::ListValue* args) {
- CHECK_EQ(1U, args->GetSize());
- std::string callback_id;
- CHECK(args->GetString(0, &callback_id));
+void AboutHandler::OnGetCurrentChannel(std::string callback_id,
+ const std::string& current_channel) {
version_updater_->GetChannel(
- false, base::Bind(&AboutHandler::OnGetChannelReady,
- weak_factory_.GetWeakPtr(), callback_id));
+ false /* get target channel */,
+ base::Bind(&AboutHandler::OnGetTargetChannel, weak_factory_.GetWeakPtr(),
+ callback_id, current_channel));
}
-void AboutHandler::OnGetChannelReady(std::string callback_id,
- const std::string& channel) {
- ResolveJavascriptCallback(base::StringValue(callback_id),
- base::StringValue(channel));
+void AboutHandler::OnGetTargetChannel(std::string callback_id,
+ const std::string& current_channel,
+ const std::string& target_channel) {
+ std::unique_ptr<base::DictionaryValue> channel_info(
+ new base::DictionaryValue);
+ channel_info->SetString("currentChannel", current_channel);
+ channel_info->SetString("targetChannel", target_channel);
+ channel_info->SetBoolean("canChangeChannel",
+ CanChangeChannel(Profile::FromWebUI(web_ui())));
+
+ ResolveJavascriptCallback(base::StringValue(callback_id), *channel_info);
}
void AboutHandler::HandleRequestUpdate(const base::ListValue* args) {
« no previous file with comments | « chrome/browser/ui/webui/settings/about_handler.h ('k') | chrome/test/data/webui/settings/about_page_tests.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698