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 // IPC messages for push messaging.
6 // Multiply-included message file, hence no include guard.
8 #include "content/public/common/push_messaging_status.h"
9 #include "ipc/ipc_message_macros.h"
10 #include "third_party/WebKit/public/platform/WebPushPermissionStatus.h"
13 #define IPC_MESSAGE_START PushMessagingMsgStart
15 IPC_ENUM_TRAITS_MAX_VALUE(content::PushRegistrationStatus
,
16 content::PUSH_REGISTRATION_STATUS_LAST
)
18 IPC_ENUM_TRAITS_MAX_VALUE(
19 blink::WebPushPermissionStatus
,
20 blink::WebPushPermissionStatus::WebPushPermissionStatusLast
)
21 // Messages sent from the browser to the renderer.
23 IPC_MESSAGE_ROUTED3(PushMessagingMsg_RegisterSuccess
,
24 int32
/* callbacks_id */,
25 GURL
/* push_endpoint */,
26 std::string
/* push_registration_id */)
28 IPC_MESSAGE_ROUTED2(PushMessagingMsg_RegisterError
,
29 int32
/* callbacks_id */,
30 content::PushRegistrationStatus
/* status */)
32 IPC_MESSAGE_ROUTED2(PushMessagingMsg_PermissionStatusResult
,
33 int32
/* callback_id */,
34 blink::WebPushPermissionStatus
/* status */)
36 IPC_MESSAGE_ROUTED1(PushMessagingMsg_PermissionStatusFailure
,
37 int32
/* callback_id */)
39 // Messages sent from the renderer to the browser.
41 IPC_MESSAGE_CONTROL5(PushMessagingHostMsg_Register
,
42 int32
/* render_frame_id */,
43 int32
/* callbacks_id */,
44 std::string
/* sender_id */,
45 bool /* user_gesture */,
46 int32
/* service_worker_provider_id */)
48 IPC_MESSAGE_CONTROL3(PushMessagingHostMsg_PermissionStatus
,
49 int32
/* render_frame_id */,
50 int32
/* service_worker_provider_id */,
51 int32
/* permission_callback_id */)