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::RelatedApplication
)
28 IPC_STRUCT_TRAITS_MEMBER(platform
)
29 IPC_STRUCT_TRAITS_MEMBER(url
)
30 IPC_STRUCT_TRAITS_MEMBER(id
)
31 IPC_STRUCT_TRAITS_END()
33 IPC_STRUCT_TRAITS_BEGIN(content::Manifest
)
34 IPC_STRUCT_TRAITS_MEMBER(name
)
35 IPC_STRUCT_TRAITS_MEMBER(short_name
)
36 IPC_STRUCT_TRAITS_MEMBER(start_url
)
37 IPC_STRUCT_TRAITS_MEMBER(display
)
38 IPC_STRUCT_TRAITS_MEMBER(orientation
)
39 IPC_STRUCT_TRAITS_MEMBER(icons
)
40 IPC_STRUCT_TRAITS_MEMBER(related_applications
)
41 IPC_STRUCT_TRAITS_MEMBER(prefer_related_applications
)
42 IPC_STRUCT_TRAITS_MEMBER(theme_color
)
43 IPC_STRUCT_TRAITS_MEMBER(gcm_sender_id
)
44 IPC_STRUCT_TRAITS_END()
46 // The browser process requests for the manifest linked with the associated
47 // render frame. The renderer process will respond via a RequestManifestResponse
48 // IPC message with a Manifest object attached to it and the associated
49 // |request_id| that was initially given.
50 IPC_MESSAGE_ROUTED1(ManifestManagerMsg_RequestManifest
,
53 // The renderer process' response to a RequestManifest. The |request_id| will
54 // match the one that was initially received. The |manifest| object will be an
55 // empty manifest in case of any failure.
56 IPC_MESSAGE_ROUTED2(ManifestManagerHostMsg_RequestManifestResponse
,
58 content::Manifest
/* manifest */)