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 the web manifest manager.
6 // Multiply-included message file, hence no include guard.
8 #include "content/common/content_export.h"
9 #include "content/public/common/manifest.h"
10 #include "ipc/ipc_message_macros.h"
12 #undef IPC_MESSAGE_EXPORT
13 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
15 #define IPC_MESSAGE_START ManifestManagerMsgStart
17 IPC_ENUM_TRAITS_MAX_VALUE(content::Manifest::DisplayMode
,
18 content::Manifest::DISPLAY_MODE_BROWSER
)
20 IPC_STRUCT_TRAITS_BEGIN(content::Manifest::Icon
)
21 IPC_STRUCT_TRAITS_MEMBER(src
)
22 IPC_STRUCT_TRAITS_MEMBER(type
)
23 IPC_STRUCT_TRAITS_MEMBER(density
)
24 IPC_STRUCT_TRAITS_MEMBER(sizes
)
25 IPC_STRUCT_TRAITS_END()
27 IPC_STRUCT_TRAITS_BEGIN(content::Manifest
)
28 IPC_STRUCT_TRAITS_MEMBER(name
)
29 IPC_STRUCT_TRAITS_MEMBER(short_name
)
30 IPC_STRUCT_TRAITS_MEMBER(start_url
)
31 IPC_STRUCT_TRAITS_MEMBER(display
)
32 IPC_STRUCT_TRAITS_MEMBER(orientation
)
33 IPC_STRUCT_TRAITS_MEMBER(icons
)
34 IPC_STRUCT_TRAITS_MEMBER(gcm_sender_id
)
35 IPC_STRUCT_TRAITS_END()
37 // The browser process requests for the manifest linked with the associated
38 // render frame. The renderer process will respond via a RequestManifestResponse
39 // IPC message with a Manifest object attached to it and the associated
40 // |request_id| that was initially given.
41 IPC_MESSAGE_ROUTED1(ManifestManagerMsg_RequestManifest
,
44 // The renderer process' response to a RequestManifest. The |request_id| will
45 // match the one that was initially received. The |manifest| object will be an
46 // empty manifest in case of any failure.
47 IPC_MESSAGE_ROUTED2(ManifestManagerHostMsg_RequestManifestResponse
,
49 content::Manifest
/* manifest */)