1 // Copyright (c) 2012 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 // Message definition file, included multiple times, hence no include guard.
7 #include "content/common/content_export.h"
8 #include "ipc/ipc_message_macros.h"
9 #include "ipc/ipc_message_utils.h"
10 #include "ipc/param_traits_macros.h"
11 #include "webkit/glue/web_intent_data.h"
12 #include "webkit/glue/web_intent_reply_data.h"
13 #include "webkit/glue/web_intent_service_data.h"
15 #undef IPC_MESSAGE_EXPORT
16 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
17 #define IPC_MESSAGE_START IntentsMsgStart
19 IPC_ENUM_TRAITS(webkit_glue::WebIntentReplyType
)
20 IPC_ENUM_TRAITS(webkit_glue::WebIntentData::DataType
)
21 IPC_ENUM_TRAITS(webkit_glue::WebIntentServiceData::Disposition
)
23 IPC_STRUCT_TRAITS_BEGIN(webkit_glue::WebIntentData
)
24 IPC_STRUCT_TRAITS_MEMBER(action
)
25 IPC_STRUCT_TRAITS_MEMBER(type
)
26 IPC_STRUCT_TRAITS_MEMBER(data
)
27 IPC_STRUCT_TRAITS_MEMBER(extra_data
)
28 IPC_STRUCT_TRAITS_MEMBER(service
)
29 IPC_STRUCT_TRAITS_MEMBER(suggestions
)
30 IPC_STRUCT_TRAITS_MEMBER(unserialized_data
)
31 IPC_STRUCT_TRAITS_MEMBER(message_port_ids
)
32 IPC_STRUCT_TRAITS_MEMBER(blob_file
)
33 IPC_STRUCT_TRAITS_MEMBER(blob_length
)
34 IPC_STRUCT_TRAITS_MEMBER(mime_data
)
35 IPC_STRUCT_TRAITS_MEMBER(root_name
)
36 IPC_STRUCT_TRAITS_MEMBER(filesystem_id
)
37 IPC_STRUCT_TRAITS_MEMBER(data_type
)
38 IPC_STRUCT_TRAITS_END()
40 IPC_STRUCT_TRAITS_BEGIN(webkit_glue::WebIntentReply
)
41 IPC_STRUCT_TRAITS_MEMBER(type
)
42 IPC_STRUCT_TRAITS_MEMBER(data
)
43 IPC_STRUCT_TRAITS_MEMBER(data_file
)
44 IPC_STRUCT_TRAITS_MEMBER(data_file_size
)
45 IPC_STRUCT_TRAITS_END()
47 IPC_STRUCT_TRAITS_BEGIN(webkit_glue::WebIntentServiceData
)
48 IPC_STRUCT_TRAITS_MEMBER(action
)
49 IPC_STRUCT_TRAITS_MEMBER(type
)
50 IPC_STRUCT_TRAITS_MEMBER(scheme
)
51 IPC_STRUCT_TRAITS_MEMBER(service_url
)
52 IPC_STRUCT_TRAITS_MEMBER(title
)
53 IPC_STRUCT_TRAITS_MEMBER(disposition
)
54 IPC_STRUCT_TRAITS_END()
56 // Set the intent data to be set on the service page.
57 IPC_MESSAGE_ROUTED1(IntentsMsg_SetWebIntentData
,
58 webkit_glue::WebIntentData
)
60 // Send the service's reply to the client page.
61 IPC_MESSAGE_ROUTED2(IntentsMsg_WebIntentReply
,
62 webkit_glue::WebIntentReply
, /* reply */
65 // Notify the container that the service has replied to the client page.
66 IPC_MESSAGE_ROUTED1(IntentsHostMsg_WebIntentReply
,
67 webkit_glue::WebIntentReply
/* reply */)
69 // Route the startActivity Intents call from a page to the service picker.
70 IPC_MESSAGE_ROUTED2(IntentsHostMsg_WebIntentDispatch
,
71 webkit_glue::WebIntentData
,
74 // Register a new service for Intents with the given action and type filter.
75 IPC_MESSAGE_ROUTED2(IntentsHostMsg_RegisterIntentService
,
76 webkit_glue::WebIntentServiceData
,
77 bool /* user_gesture */)