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

Unified Diff: chrome/browser/chromeos/arc/arc_support_host.cc

Issue 2388763002: Remove controller concept from the ARC support extension. (Closed)
Patch Set: Address comments. Created 4 years, 2 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
« no previous file with comments | « no previous file | chrome/browser/resources/chromeos/arc_support/background.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/arc/arc_support_host.cc
diff --git a/chrome/browser/chromeos/arc/arc_support_host.cc b/chrome/browser/chromeos/arc/arc_support_host.cc
index 6a0fbd141488f26bcca8450b106b9563f256955c..5dbbfb890e69c67b1bbec3539a6b794a4d0b2d2f 100644
--- a/chrome/browser/chromeos/arc/arc_support_host.cc
+++ b/chrome/browser/chromeos/arc/arc_support_host.cc
@@ -29,34 +29,52 @@
#include "ui/display/screen.h"
namespace {
-const char kAction[] = "action";
-const char kArcManaged[] = "arcManaged";
-const char kCanEnable[] = "canEnable";
-const char kCode[] = "code";
-const char kData[] = "data";
-const char kDeviceId[] = "deviceId";
-const char kEnabled[] = "enabled";
-const char kManaged[] = "managed";
-const char kOn[] = "on";
-const char kPage[] = "page";
-const char kStatus[] = "status";
-const char kText[] = "text";
-const char kActionInitialize[] = "initialize";
-const char kActionSetMetricsMode[] = "setMetricsMode";
-const char kActionBackupAndRestoreMode[] = "setBackupAndRestoreMode";
-const char kActionLocationServiceMode[] = "setLocationServiceMode";
-const char kActionSetWindowBounds[] = "setWindowBounds";
-const char kActionStartLso[] = "startLso";
-const char kActionSetAuthCode[] = "setAuthCode";
-const char kActionEnableMetrics[] = "enableMetrics";
-const char kActionSendFeedback[] = "sendFeedback";
-const char kActionSetBackupRestore[] = "setBackupRestore";
-const char kActionSetLocationService[] = "setLocationService";
-const char kActionCloseWindow[] = "closeWindow";
-const char kActionShowPage[] = "showPage";
-
-// Fired when the extension window is closed.
-const char kActionOnWindowClosed[] = "onWindowClosed";
+constexpr char kAction[] = "action";
+constexpr char kArcManaged[] = "arcManaged";
+constexpr char kCanEnable[] = "canEnable";
+constexpr char kData[] = "data";
+constexpr char kDeviceId[] = "deviceId";
+constexpr char kEnabled[] = "enabled";
+constexpr char kManaged[] = "managed";
+constexpr char kOn[] = "on";
+constexpr char kPage[] = "page";
+constexpr char kStatus[] = "status";
+constexpr char kText[] = "text";
+constexpr char kActionInitialize[] = "initialize";
+constexpr char kActionSetMetricsMode[] = "setMetricsMode";
+constexpr char kActionBackupAndRestoreMode[] = "setBackupAndRestoreMode";
+constexpr char kActionLocationServiceMode[] = "setLocationServiceMode";
+constexpr char kActionSetWindowBounds[] = "setWindowBounds";
+constexpr char kActionCloseWindow[] = "closeWindow";
+constexpr char kActionShowPage[] = "showPage";
+
+// The JSON data sent from the extension should have at least "event" field.
+// Each event data is defined below.
+// The key of the event type.
+constexpr char kEvent[] = "event";
+
+// "onWindowClosed" is fired when the extension window is closed.
+// No data will be provided.
+constexpr char kEventOnWindowClosed[] = "onWindowClosed";
+
+// "onAuthSucceeded" is fired when successfully done to LSO authorization in
+// extension.
+// The auth token is passed via "code" field.
+constexpr char kEventOnAuthSuccedded[] = "onAuthSucceeded";
+constexpr char kCode[] = "code";
+
+// "onAgree" is fired when a user clicks "Agree" button.
+// The message should have the following three fields:
+// - isMetricsEnabled
+// - isBackupRestoreEnabled
+// - isLocationServiceEnabled
+constexpr char kEventOnAgreed[] = "onAgreed";
+constexpr char kIsMetricsEnabled[] = "isMetricsEnabled";
+constexpr char kIsBackupRestoreEnabled[] = "isBackupRestoreEnabled";
+constexpr char kIsLocationServiceEnabled[] = "isLocationServiceEnabled";
+
+// "onSendFeedbackClicked" is fired when a user clicks "Send Feedback" button.
+constexpr char kEventOnSendFeedbackClicked[] = "onSendFeedbackClicked";
} // namespace
@@ -347,60 +365,55 @@ void ArcSupportHost::EnableLocationService(bool is_enabled) {
pref_service->SetBoolean(prefs::kArcLocationServiceEnabled, is_enabled);
}
-void ArcSupportHost::OnMessage(const std::string& request_string) {
- std::unique_ptr<base::Value> request_value =
- base::JSONReader::Read(request_string);
- base::DictionaryValue* request;
- if (!request_value || !request_value->GetAsDictionary(&request)) {
+void ArcSupportHost::OnMessage(const std::string& message_string) {
+ std::unique_ptr<base::Value> message_value =
+ base::JSONReader::Read(message_string);
+ base::DictionaryValue* message;
+ if (!message_value || !message_value->GetAsDictionary(&message)) {
NOTREACHED();
return;
}
- std::string action;
- if (!request->GetString(kAction, &action)) {
+ std::string event;
+ if (!message->GetString(kEvent, &event)) {
NOTREACHED();
return;
}
+ // TODO(hidehiko): Replace by Observer.
arc::ArcAuthService* arc_auth_service = arc::ArcAuthService::Get();
DCHECK(arc_auth_service);
- if (action == kActionStartLso) {
- arc_auth_service->StartLso();
- } else if (action == kActionSetAuthCode) {
- std::string code;
- if (!request->GetString(kCode, &code)) {
- NOTREACHED();
- return;
- }
- arc_auth_service->SetAuthCodeAndStartArc(code);
- } else if (action == kActionOnWindowClosed) {
+ if (event == kEventOnWindowClosed) {
if (!close_requested_)
arc_auth_service->CancelAuthCode();
- } else if (action == kActionEnableMetrics) {
- bool is_enabled;
- if (!request->GetBoolean(kEnabled, &is_enabled)) {
- NOTREACHED();
- return;
- }
- EnableMetrics(is_enabled);
- } else if (action == kActionSendFeedback) {
- chrome::OpenFeedbackDialog(nullptr);
- } else if (action == kActionSetBackupRestore) {
- bool is_enabled;
- if (!request->GetBoolean(kEnabled, &is_enabled)) {
+ } else if (event == kEventOnAuthSuccedded) {
+ std::string code;
+ if (message->GetString(kCode, &code)) {
+ arc_auth_service->SetAuthCodeAndStartArc(code);
+ } else {
NOTREACHED();
- return;
}
- EnableBackupRestore(is_enabled);
- } else if (action == kActionSetLocationService) {
- bool is_enabled;
- if (!request->GetBoolean(kEnabled, &is_enabled)) {
+ } else if (event == kEventOnAgreed) {
+ bool is_metrics_enabled;
+ bool is_backup_restore_enabled;
+ bool is_location_service_enabled;
+ if (message->GetBoolean(kIsMetricsEnabled, &is_metrics_enabled) &&
+ message->GetBoolean(kIsBackupRestoreEnabled,
+ &is_backup_restore_enabled) &&
+ message->GetBoolean(kIsLocationServiceEnabled,
+ &is_location_service_enabled)) {
+ EnableMetrics(is_metrics_enabled);
+ EnableBackupRestore(is_backup_restore_enabled);
+ EnableLocationService(is_location_service_enabled);
+ arc_auth_service->StartLso();
+ } else {
NOTREACHED();
- return;
}
- EnableLocationService(is_enabled);
+ } else if (event == kEventOnSendFeedbackClicked) {
+ chrome::OpenFeedbackDialog(nullptr);
} else {
+ LOG(ERROR) << "Unknown message: " << message_string;
NOTREACHED();
}
}
« no previous file with comments | « no previous file | chrome/browser/resources/chromeos/arc_support/background.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698