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

Unified Diff: chrome/browser/ui/webui/components_ui.cc

Issue 209313002: Modified components ui to address concern of all the time disabled check update button. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removed comment as mentioned in code review. Created 6 years, 9 months 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/components_ui.cc
diff --git a/chrome/browser/ui/webui/components_ui.cc b/chrome/browser/ui/webui/components_ui.cc
index e5cce27f49a3874dd03e8144820f3d736545d4e2..276f8e39c2505070a4284e00b0a41feb33809aa8 100644
--- a/chrome/browser/ui/webui/components_ui.cc
+++ b/chrome/browser/ui/webui/components_ui.cc
@@ -76,6 +76,8 @@ class ComponentsDOMHandler : public WebUIMessageHandler {
private:
void LoadComponents();
+ void ComponentsDOMHandler::HandleRequestComponentStatus(
+ const base::ListValue* args);
content::NotificationRegistrar registrar_;
@@ -93,6 +95,10 @@ void ComponentsDOMHandler::RegisterMessages() {
web_ui()->RegisterMessageCallback("checkUpdate",
base::Bind(&ComponentsDOMHandler::HandleCheckUpdate,
base::Unretained(this)));
+
+ web_ui()->RegisterMessageCallback("requestComponentStatus",
James Hawkins 2014/03/27 18:46:43 nit: The start of parameter rows must align on the
Shrikant Kelkar 2014/03/27 19:28:07 Sorry, didn't understand?
+ base::Bind(&ComponentsDOMHandler::HandleRequestComponentStatus,
+ base::Unretained(this)));
}
void ComponentsDOMHandler::HandleRequestComponentsData(
@@ -119,6 +125,37 @@ void ComponentsDOMHandler::HandleCheckUpdate(const base::ListValue* args) {
ComponentsUI::OnDemandUpdate(component_id);
}
+void ComponentsDOMHandler::HandleRequestComponentStatus(
+ const base::ListValue* args) {
+ if (args->GetSize() != 1) {
+ NOTREACHED();
+ return;
+ }
+
+ std::string component_id;
+ if (!args->GetString(0, &component_id)) {
+ NOTREACHED();
+ return;
+ }
+
+ component_updater::ComponentUpdateService* cus =
+ g_browser_process->component_updater();
+ component_updater::ComponentUpdateService::Status status =
+ cus->GetComponentStatus(component_id);
+
+ std::string string_status;
+ if (status == component_updater::ComponentUpdateService::kInProgress)
+ string_status = "in-progress";
+ else if (status == component_updater::ComponentUpdateService::kOk)
+ string_status = "ok";
+ else
+ string_status = "error";
+
+ web_ui()->CallJavascriptFunction("returnComponentStatus",
+ base::StringValue(component_id),
+ base::StringValue(string_status));
+}
+
void ComponentsDOMHandler::LoadComponents() {
component_updater::ComponentUpdateService* cus =
g_browser_process->component_updater();
@@ -134,6 +171,17 @@ void ComponentsDOMHandler::LoadComponents() {
component_entry->SetString("id", component.id);
component_entry->SetString("name", component.name);
component_entry->SetString("version", component.version);
+ switch (component.status) {
+ case component_updater::ComponentUpdateService::kInProgress:
+ component_entry->SetString("status", "in-progress");
+ break;
+ case component_updater::ComponentUpdateService::kOk:
+ component_entry->SetString("status", "ok");
+ break;
+ case component_updater::ComponentUpdateService::kError:
+ component_entry->SetString("status", "error");
+ break;
+ }
component_list->Append(component_entry);
}
« chrome/browser/resources/components.js ('K') | « chrome/browser/resources/components.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698