Chromium Code Reviews| 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); |
| +}; |