gpu: Add memory tracing of GPU transfer buffers.
[chromium-blink-merge.git] / content / common / platform_notification_messages.h
blob90445284f8a588ce28b8dc8b39b5a2164495a8df
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
3 // found in the LICENSE file.
5 // Messages for platform-native notifications using the Web Notification API.
6 // Multiply-included message file, hence no include guard.
8 #include <stdint.h>
9 #include <string>
10 #include <utility>
11 #include <vector>
13 #include "content/public/common/platform_notification_data.h"
14 #include "ipc/ipc_message_macros.h"
15 #include "third_party/WebKit/public/platform/modules/notifications/WebNotificationPermission.h"
16 #include "third_party/skia/include/core/SkBitmap.h"
18 // Singly-included section for type definitions.
19 #ifndef CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_
20 #define CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_
22 // Defines the pair of [persistent notification id] => [notification data] used
23 // when getting the notifications for a given Service Worker registration.
24 using PersistentNotificationInfo =
25 std::pair<int64_t, content::PlatformNotificationData>;
27 #endif // CONTENT_COMMON_PLATFORM_NOTIFICATION_MESSAGES_H_
29 #define IPC_MESSAGE_START PlatformNotificationMsgStart
31 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebNotificationPermission,
32 blink::WebNotificationPermissionLast)
34 IPC_ENUM_TRAITS_MAX_VALUE(
35 content::PlatformNotificationData::Direction,
36 content::PlatformNotificationData::DIRECTION_LAST)
38 IPC_STRUCT_TRAITS_BEGIN(content::PlatformNotificationAction)
39 IPC_STRUCT_TRAITS_MEMBER(action)
40 IPC_STRUCT_TRAITS_MEMBER(title)
41 IPC_STRUCT_TRAITS_END()
43 IPC_STRUCT_TRAITS_BEGIN(content::PlatformNotificationData)
44 IPC_STRUCT_TRAITS_MEMBER(title)
45 IPC_STRUCT_TRAITS_MEMBER(direction)
46 IPC_STRUCT_TRAITS_MEMBER(lang)
47 IPC_STRUCT_TRAITS_MEMBER(body)
48 IPC_STRUCT_TRAITS_MEMBER(tag)
49 IPC_STRUCT_TRAITS_MEMBER(icon)
50 IPC_STRUCT_TRAITS_MEMBER(vibration_pattern)
51 IPC_STRUCT_TRAITS_MEMBER(silent)
52 IPC_STRUCT_TRAITS_MEMBER(data)
53 IPC_STRUCT_TRAITS_MEMBER(actions)
54 IPC_STRUCT_TRAITS_END()
56 // Messages sent from the browser to the renderer.
58 // Informs the renderer that the browser has displayed the notification.
59 IPC_MESSAGE_CONTROL1(PlatformNotificationMsg_DidShow,
60 int /* notification_id */)
62 // Informs the renderer that the notification has been closed.
63 IPC_MESSAGE_CONTROL1(PlatformNotificationMsg_DidClose,
64 int /* notification_id */)
66 // Informs the renderer that the notification has been clicked on.
67 IPC_MESSAGE_CONTROL1(PlatformNotificationMsg_DidClick,
68 int /* notification_id */)
70 // Reply to PlatformNotificationHostMsg_ShowPersistent indicating that a
71 // persistent notification has been shown on the platform (if |success| is
72 // true), or that an unspecified error occurred.
73 IPC_MESSAGE_CONTROL2(PlatformNotificationMsg_DidShowPersistent,
74 int /* request_id */,
75 bool /* success */)
77 // Reply to PlatformNotificationHostMsg_GetNotifications sharing a vector of
78 // available notifications per the request's constraints.
79 IPC_MESSAGE_CONTROL2(PlatformNotificationMsg_DidGetNotifications,
80 int /* request_id */,
81 std::vector<PersistentNotificationInfo>
82 /* notifications */)
84 // Messages sent from the renderer to the browser.
86 IPC_MESSAGE_CONTROL4(PlatformNotificationHostMsg_Show,
87 int /* notification_id */,
88 GURL /* origin */,
89 SkBitmap /* icon */,
90 content::PlatformNotificationData /* notification_data */)
92 IPC_MESSAGE_CONTROL5(PlatformNotificationHostMsg_ShowPersistent,
93 int /* request_id */,
94 int64_t /* service_worker_registration_id */,
95 GURL /* origin */,
96 SkBitmap /* icon */,
97 content::PlatformNotificationData /* notification_data */)
99 IPC_MESSAGE_CONTROL4(PlatformNotificationHostMsg_GetNotifications,
100 int /* request_id */,
101 int64_t /* service_worker_registration_id */,
102 GURL /* origin */,
103 std::string /* filter_tag */)
105 IPC_MESSAGE_CONTROL1(PlatformNotificationHostMsg_Close,
106 int /* notification_id */)
108 IPC_MESSAGE_CONTROL2(PlatformNotificationHostMsg_ClosePersistent,
109 GURL /* origin */,
110 int64_t /* persistent_notification_id */)
112 IPC_SYNC_MESSAGE_CONTROL1_1(PlatformNotificationHostMsg_CheckPermission,
113 GURL /* origin */,
114 blink::WebNotificationPermission /* result */)