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

Unified Diff: components/arc/common/notifications.mojom

Issue 1523643002: arc-bridge: Move most methods to Mojo interfaces (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: Fixed GN build Created 5 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: components/arc/common/notifications.mojom
diff --git a/components/arc/common/notifications.mojom b/components/arc/common/notifications.mojom
new file mode 100644
index 0000000000000000000000000000000000000000..5a7b78fb94cbebba8bf9d9a90aadbdb4c0d5e3c1
--- /dev/null
+++ b/components/arc/common/notifications.mojom
@@ -0,0 +1,70 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module arc;
+
+// These values must be matched with the NOTIFICATION_EVENT_* constants in
+// com.android.server.ArcNotificationListenerService.
+enum ArcNotificationEvent {
+ BODY_CLICKED = 0,
+ CLOSED = 1,
+ // Five buttons at maximum (message_center::kNotificationMaximumItems = 5).
+ BUTTON1_CLICKED = 2,
+ BUTTON2_CLICKED = 3,
+ BUTTON3_CLICKED = 4,
+ BUTTON4_CLICKED = 5,
+ BUTTON5_CLICKED = 6,
+};
+
+// These values must be matched with the NOTIFICATION_TYPE_* constants in
+// com.android.server.ArcNotificationListenerService.
+enum ArcNotificationType {
+ BASIC = 0,
+ IMAGE = 1,
+ PROGRESS = 2,
+};
+
+struct ArcNotificationData {
+ // Identifier of notification
+ string key;
+ // Type of notification
+ ArcNotificationType type;
+ // Body message of notification
+ string message;
+ // Title of notification
+ string title;
+ // Mimetype of |icon_data|
+ string icon_mimetype;
+ // Binary data of the icon
+ array<uint8> icon_data;
+ // Priority of notification, must be [2,-2]
+ int32 priority;
+ // Timestamp related to the notification
+ int64 time;
+ // The current value of progress, must be [0, progress_max].
+ int32 progress_current;
+ // The maximum value of progress.
+ int32 progress_max;
+};
+
+interface NotificationsHost {
+ // Tells the Chrome that a notification is posted (created or updated) on
+ // Android.
+ // |notification_data| is the data of notification (id, texts, icon and ...).
+ OnNotificationPosted(ArcNotificationData notification_data);
+
+ // Notifies that a notification is removed on Android.
+ // |key| is the identifier of the notification.
+ OnNotificationRemoved(string key);
+};
+
+// TODO(lhchavez): Migrate all request/response messages to Mojo.
hidehiko 2015/12/16 18:34:03 Ditto.
Luis Héctor Chávez 2015/12/16 19:09:49 SendNotificationEventToAndroid(string key, ArcNoti
+interface NotificationsInstance {
+ // Establishes full-duplex communication with the host.
+ Init(NotificationsHost host_ptr);
+
+ // Sends an event from Chrome notification UI to Android.
+ // |event| is a type of occured event.
+ SendNotificationEventToAndroid(string key, ArcNotificationEvent event);
+};

Powered by Google App Engine
This is Rietveld 408576698