OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Messages for platform-native notifications using the Web Notification API. | 5 // Messages for platform-native notifications using the Web Notification API. |
6 // Multiply-included message file, hence no include guard. | 6 // Multiply-included message file, hence no include guard. |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <string> | 9 #include <string> |
10 #include <utility> | 10 #include <utility> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
| 13 #include "content/public/common/notification_resources.h" |
13 #include "content/public/common/platform_notification_data.h" | 14 #include "content/public/common/platform_notification_data.h" |
14 #include "ipc/ipc_message_macros.h" | 15 #include "ipc/ipc_message_macros.h" |
15 #include "third_party/WebKit/public/platform/modules/notifications/WebNotificati
onPermission.h" | 16 #include "third_party/WebKit/public/platform/modules/notifications/WebNotificati
onPermission.h" |
16 #include "third_party/skia/include/core/SkBitmap.h" | 17 #include "third_party/skia/include/core/SkBitmap.h" |
17 | 18 |
18 // Singly-included section for type definitions. | 19 // Singly-included section for type definitions. |
19 #ifndef CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_ | 20 #ifndef CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_ |
20 #define CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_ | 21 #define CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_ |
21 | 22 |
22 // Defines the pair of [persistent notification id] => [notification data] used | 23 // Defines the pair of [persistent notification id] => [notification data] used |
23 // when getting the notifications for a given Service Worker registration. | 24 // when getting the notifications for a given Service Worker registration. |
24 using PersistentNotificationInfo = | 25 using PersistentNotificationInfo = |
25 std::pair<int64_t, content::PlatformNotificationData>; | 26 std::pair<int64_t, content::PlatformNotificationData>; |
26 | 27 |
27 #endif // CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_ | 28 #endif // CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_ |
28 | 29 |
29 #define IPC_MESSAGE_START PlatformNotificationMsgStart | 30 #define IPC_MESSAGE_START PlatformNotificationMsgStart |
30 | 31 |
31 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebNotificationPermission, | 32 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebNotificationPermission, |
32 blink::WebNotificationPermissionLast) | 33 blink::WebNotificationPermissionLast) |
33 | 34 |
34 IPC_ENUM_TRAITS_MAX_VALUE( | 35 IPC_ENUM_TRAITS_MAX_VALUE( |
35 content::PlatformNotificationData::Direction, | 36 content::PlatformNotificationData::Direction, |
36 content::PlatformNotificationData::DIRECTION_LAST) | 37 content::PlatformNotificationData::DIRECTION_LAST) |
37 | 38 |
38 IPC_STRUCT_TRAITS_BEGIN(content::PlatformNotificationAction) | 39 IPC_STRUCT_TRAITS_BEGIN(content::PlatformNotificationAction) |
39 IPC_STRUCT_TRAITS_MEMBER(action) | 40 IPC_STRUCT_TRAITS_MEMBER(action) |
40 IPC_STRUCT_TRAITS_MEMBER(title) | 41 IPC_STRUCT_TRAITS_MEMBER(title) |
| 42 IPC_STRUCT_TRAITS_MEMBER(icon) |
41 IPC_STRUCT_TRAITS_END() | 43 IPC_STRUCT_TRAITS_END() |
42 | 44 |
43 IPC_STRUCT_TRAITS_BEGIN(content::PlatformNotificationData) | 45 IPC_STRUCT_TRAITS_BEGIN(content::PlatformNotificationData) |
44 IPC_STRUCT_TRAITS_MEMBER(title) | 46 IPC_STRUCT_TRAITS_MEMBER(title) |
45 IPC_STRUCT_TRAITS_MEMBER(direction) | 47 IPC_STRUCT_TRAITS_MEMBER(direction) |
46 IPC_STRUCT_TRAITS_MEMBER(lang) | 48 IPC_STRUCT_TRAITS_MEMBER(lang) |
47 IPC_STRUCT_TRAITS_MEMBER(body) | 49 IPC_STRUCT_TRAITS_MEMBER(body) |
48 IPC_STRUCT_TRAITS_MEMBER(tag) | 50 IPC_STRUCT_TRAITS_MEMBER(tag) |
49 IPC_STRUCT_TRAITS_MEMBER(icon) | 51 IPC_STRUCT_TRAITS_MEMBER(icon) |
50 IPC_STRUCT_TRAITS_MEMBER(vibration_pattern) | 52 IPC_STRUCT_TRAITS_MEMBER(vibration_pattern) |
51 IPC_STRUCT_TRAITS_MEMBER(silent) | 53 IPC_STRUCT_TRAITS_MEMBER(silent) |
52 IPC_STRUCT_TRAITS_MEMBER(require_interaction) | 54 IPC_STRUCT_TRAITS_MEMBER(require_interaction) |
53 IPC_STRUCT_TRAITS_MEMBER(data) | 55 IPC_STRUCT_TRAITS_MEMBER(data) |
54 IPC_STRUCT_TRAITS_MEMBER(actions) | 56 IPC_STRUCT_TRAITS_MEMBER(actions) |
55 IPC_STRUCT_TRAITS_END() | 57 IPC_STRUCT_TRAITS_END() |
56 | 58 |
| 59 IPC_STRUCT_TRAITS_BEGIN(content::NotificationResources) |
| 60 IPC_STRUCT_TRAITS_MEMBER(notification_icon) |
| 61 IPC_STRUCT_TRAITS_MEMBER(action_icons) |
| 62 IPC_STRUCT_TRAITS_END() |
| 63 |
57 // Messages sent from the browser to the renderer. | 64 // Messages sent from the browser to the renderer. |
58 | 65 |
59 // Informs the renderer that the browser has displayed the notification. | 66 // Informs the renderer that the browser has displayed the notification. |
60 IPC_MESSAGE_CONTROL1(PlatformNotificationMsg_DidShow, | 67 IPC_MESSAGE_CONTROL1(PlatformNotificationMsg_DidShow, |
61 int /* notification_id */) | 68 int /* notification_id */) |
62 | 69 |
63 // Informs the renderer that the notification has been closed. | 70 // Informs the renderer that the notification has been closed. |
64 IPC_MESSAGE_CONTROL1(PlatformNotificationMsg_DidClose, | 71 IPC_MESSAGE_CONTROL1(PlatformNotificationMsg_DidClose, |
65 int /* notification_id */) | 72 int /* notification_id */) |
66 | 73 |
(...skipping 10 matching lines...) Expand all Loading... |
77 | 84 |
78 // Reply to PlatformNotificationHostMsg_GetNotifications sharing a vector of | 85 // Reply to PlatformNotificationHostMsg_GetNotifications sharing a vector of |
79 // available notifications per the request's constraints. | 86 // available notifications per the request's constraints. |
80 IPC_MESSAGE_CONTROL2(PlatformNotificationMsg_DidGetNotifications, | 87 IPC_MESSAGE_CONTROL2(PlatformNotificationMsg_DidGetNotifications, |
81 int /* request_id */, | 88 int /* request_id */, |
82 std::vector<PersistentNotificationInfo> | 89 std::vector<PersistentNotificationInfo> |
83 /* notifications */) | 90 /* notifications */) |
84 | 91 |
85 // Messages sent from the renderer to the browser. | 92 // Messages sent from the renderer to the browser. |
86 | 93 |
87 IPC_MESSAGE_CONTROL4(PlatformNotificationHostMsg_Show, | 94 IPC_MESSAGE_CONTROL4( |
88 int /* notification_id */, | 95 PlatformNotificationHostMsg_Show, |
89 GURL /* origin */, | 96 int /* notification_id */, |
90 SkBitmap /* icon */, | 97 GURL /* origin */, |
91 content::PlatformNotificationData /* notification_data */) | 98 content::PlatformNotificationData /* notification_data */, |
| 99 content::NotificationResources /* notification_resources */) |
92 | 100 |
93 IPC_MESSAGE_CONTROL5(PlatformNotificationHostMsg_ShowPersistent, | 101 IPC_MESSAGE_CONTROL5( |
94 int /* request_id */, | 102 PlatformNotificationHostMsg_ShowPersistent, |
95 int64_t /* service_worker_registration_id */, | 103 int /* request_id */, |
96 GURL /* origin */, | 104 int64_t /* service_worker_registration_id */, |
97 SkBitmap /* icon */, | 105 GURL /* origin */, |
98 content::PlatformNotificationData /* notification_data */) | 106 content::PlatformNotificationData /* notification_data */, |
| 107 content::NotificationResources /* notification_resources */) |
99 | 108 |
100 IPC_MESSAGE_CONTROL4(PlatformNotificationHostMsg_GetNotifications, | 109 IPC_MESSAGE_CONTROL4(PlatformNotificationHostMsg_GetNotifications, |
101 int /* request_id */, | 110 int /* request_id */, |
102 int64_t /* service_worker_registration_id */, | 111 int64_t /* service_worker_registration_id */, |
103 GURL /* origin */, | 112 GURL /* origin */, |
104 std::string /* filter_tag */) | 113 std::string /* filter_tag */) |
105 | 114 |
106 IPC_MESSAGE_CONTROL1(PlatformNotificationHostMsg_Close, | 115 IPC_MESSAGE_CONTROL1(PlatformNotificationHostMsg_Close, |
107 int /* notification_id */) | 116 int /* notification_id */) |
108 | 117 |
109 IPC_MESSAGE_CONTROL2(PlatformNotificationHostMsg_ClosePersistent, | 118 IPC_MESSAGE_CONTROL2(PlatformNotificationHostMsg_ClosePersistent, |
110 GURL /* origin */, | 119 GURL /* origin */, |
111 int64_t /* persistent_notification_id */) | 120 int64_t /* persistent_notification_id */) |
112 | 121 |
113 IPC_SYNC_MESSAGE_CONTROL1_1(PlatformNotificationHostMsg_CheckPermission, | 122 IPC_SYNC_MESSAGE_CONTROL1_1(PlatformNotificationHostMsg_CheckPermission, |
114 GURL /* origin */, | 123 GURL /* origin */, |
115 blink::WebNotificationPermission /* result */) | 124 blink::WebNotificationPermission /* result */) |
OLD | NEW |