blob: 40a1a4b0400e7fc42db5f8f251de8bdfcb8481c2 [file] [log] [blame]
// Copyright 2014 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.
// IPC messages for push messaging.
// Multiply-included message file, hence no include guard.
#include "content/public/common/push_messaging_status.h"
#include "ipc/ipc_message_macros.h"
#include "third_party/WebKit/public/platform/WebPushPermissionStatus.h"
#include "url/gurl.h"
#define IPC_MESSAGE_START PushMessagingMsgStart
IPC_ENUM_TRAITS_MAX_VALUE(content::PushRegistrationStatus,
content::PUSH_REGISTRATION_STATUS_LAST)
IPC_ENUM_TRAITS_MAX_VALUE(
blink::WebPushPermissionStatus,
blink::WebPushPermissionStatus::WebPushPermissionStatusLast)
// Messages sent from the browser to the renderer.
IPC_MESSAGE_ROUTED3(PushMessagingMsg_RegisterSuccess,
int32 /* callbacks_id */,
GURL /* push_endpoint */,
std::string /* push_registration_id */)
IPC_MESSAGE_ROUTED2(PushMessagingMsg_RegisterError,
int32 /* callbacks_id */,
content::PushRegistrationStatus /* status */)
IPC_MESSAGE_ROUTED2(PushMessagingMsg_PermissionStatusResult,
int32 /* callback_id */,
blink::WebPushPermissionStatus /* status */)
IPC_MESSAGE_ROUTED1(PushMessagingMsg_PermissionStatusFailure,
int32 /* callback_id */)
IPC_MESSAGE_ROUTED1(PushMessagingMsg_RequestPermissionResponse,
int32 /* request_id */)
// Messages sent from the renderer to the browser.
IPC_MESSAGE_CONTROL5(PushMessagingHostMsg_Register,
int32 /* render_frame_id */,
int32 /* callbacks_id */,
std::string /* sender_id */,
bool /* user_gesture */,
int32 /* service_worker_provider_id */)
IPC_MESSAGE_CONTROL3(PushMessagingHostMsg_PermissionStatus,
int32 /* render_frame_id */,
int32 /* service_worker_provider_id */,
int32 /* permission_callback_id */)
IPC_MESSAGE_ROUTED2(PushMessagingHostMsg_RequestPermission,
int32 /* request_id */,
bool /* user_gesture */)