Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / content / common / appcache_messages.h
1 // Copyright (c) 2011 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.
4
5 // Multiply-included message file, hence no include guard.
6
7 #include "ipc/ipc_message_macros.h"
8 #include "webkit/common/appcache/appcache_interfaces.h"
9
10 #define IPC_MESSAGE_START AppCacheMsgStart
11
12 IPC_ENUM_TRAITS_MAX_VALUE(appcache::EventID, appcache::EVENT_ID_LAST)
13 IPC_ENUM_TRAITS_MAX_VALUE(appcache::Status, appcache::STATUS_LAST)
14 IPC_ENUM_TRAITS_MAX_VALUE(appcache::ErrorReason, appcache::ERROR_REASON_LAST)
15
16 IPC_STRUCT_TRAITS_BEGIN(appcache::AppCacheInfo)
17   IPC_STRUCT_TRAITS_MEMBER(manifest_url)
18   IPC_STRUCT_TRAITS_MEMBER(creation_time)
19   IPC_STRUCT_TRAITS_MEMBER(last_update_time)
20   IPC_STRUCT_TRAITS_MEMBER(last_access_time)
21   IPC_STRUCT_TRAITS_MEMBER(cache_id)
22   IPC_STRUCT_TRAITS_MEMBER(group_id)
23   IPC_STRUCT_TRAITS_MEMBER(status)
24   IPC_STRUCT_TRAITS_MEMBER(size)
25   IPC_STRUCT_TRAITS_MEMBER(is_complete)
26 IPC_STRUCT_TRAITS_END()
27
28 IPC_STRUCT_TRAITS_BEGIN(appcache::AppCacheResourceInfo)
29   IPC_STRUCT_TRAITS_MEMBER(url)
30   IPC_STRUCT_TRAITS_MEMBER(size)
31   IPC_STRUCT_TRAITS_MEMBER(is_master)
32   IPC_STRUCT_TRAITS_MEMBER(is_manifest)
33   IPC_STRUCT_TRAITS_MEMBER(is_fallback)
34   IPC_STRUCT_TRAITS_MEMBER(is_foreign)
35   IPC_STRUCT_TRAITS_MEMBER(is_explicit)
36 IPC_STRUCT_TRAITS_END()
37
38 IPC_STRUCT_TRAITS_BEGIN(appcache::ErrorDetails)
39 IPC_STRUCT_TRAITS_MEMBER(message)
40 IPC_STRUCT_TRAITS_MEMBER(reason)
41 IPC_STRUCT_TRAITS_MEMBER(url)
42 IPC_STRUCT_TRAITS_MEMBER(status)
43 IPC_STRUCT_TRAITS_MEMBER(is_cross_origin)
44 IPC_STRUCT_TRAITS_END()
45
46 // AppCache messages sent from the child process to the browser.
47
48 // Informs the browser of a new appcache host.
49 IPC_MESSAGE_CONTROL1(AppCacheHostMsg_RegisterHost,
50                      int /* host_id */)
51
52 // Informs the browser of an appcache host being destroyed.
53 IPC_MESSAGE_CONTROL1(AppCacheHostMsg_UnregisterHost,
54                      int /* host_id */)
55
56 // Informs the browser of which host caused another to be created.
57 // This can influence which appcache should be utilized for the main
58 // resource load into the newly created host, so it should be sent
59 // prior to the main resource request being initiated.
60 IPC_MESSAGE_CONTROL2(AppCacheHostMsg_SetSpawningHostId,
61                      int /* host_id */,
62                      int /* spawning_host_id */)
63
64 // Initiates the cache selection algorithm for the given host.
65 // This is sent prior to any subresource loads. An AppCacheMsg_CacheSelected
66 // message will be sent in response.
67 // 'host_id' indentifies a specific document or worker
68 // 'document_url' the url of the main resource
69 // 'appcache_document_was_loaded_from' the id of the appcache the main
70 //     resource was loaded from or kNoCacheId
71 // 'opt_manifest_url' the manifest url specified in the <html> tag if any
72 IPC_MESSAGE_CONTROL4(AppCacheHostMsg_SelectCache,
73                      int /* host_id */,
74                      GURL  /* document_url */,
75                      int64 /* appcache_document_was_loaded_from */,
76                      GURL  /* opt_manifest_url */)
77
78 // Initiates worker specific cache selection algorithm for the given host.
79 IPC_MESSAGE_CONTROL3(AppCacheHostMsg_SelectCacheForWorker,
80                      int /* host_id */,
81                      int /* parent_process_id */,
82                      int /* parent_host_id */)
83 IPC_MESSAGE_CONTROL2(AppCacheHostMsg_SelectCacheForSharedWorker,
84                      int /* host_id */,
85                      int64 /* appcache_id */)
86
87 // Informs the browser of a 'foreign' entry in an appcache.
88 IPC_MESSAGE_CONTROL3(AppCacheHostMsg_MarkAsForeignEntry,
89                      int /* host_id */,
90                      GURL  /* document_url */,
91                      int64 /* appcache_document_was_loaded_from */)
92
93 // Returns the status of the appcache associated with host_id.
94 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_GetStatus,
95                             int /* host_id */,
96                             appcache::Status)
97
98 // Initiates an update of the appcache associated with host_id.
99 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_StartUpdate,
100                             int /* host_id */,
101                             bool /* success */)
102
103 // Swaps a new pending appcache, if there is one, into use for host_id.
104 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_SwapCache,
105                             int /* host_id */,
106                             bool /* success */)
107
108 // Gets resource list from appcache synchronously.
109 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_GetResourceList,
110                             int /* host_id in*/,
111                             std::vector<appcache::AppCacheResourceInfo>
112                             /* resources out */)
113
114
115 // AppCache messages sent from the browser to the child process.
116
117 // Notifies the renderer of the appcache that has been selected for a
118 // a particular host. This is sent in reply to AppCacheHostMsg_SelectCache.
119 IPC_MESSAGE_CONTROL2(AppCacheMsg_CacheSelected,
120                      int /* host_id */,
121                      appcache::AppCacheInfo)
122
123 // Notifies the renderer of an AppCache status change.
124 IPC_MESSAGE_CONTROL2(AppCacheMsg_StatusChanged,
125                      std::vector<int> /* host_ids */,
126                      appcache::Status)
127
128 // Notifies the renderer of an AppCache event other than the
129 // progress event which has a seperate message.
130 IPC_MESSAGE_CONTROL2(AppCacheMsg_EventRaised,
131                      std::vector<int> /* host_ids */,
132                      appcache::EventID)
133
134 // Notifies the renderer of an AppCache progress event.
135 IPC_MESSAGE_CONTROL4(AppCacheMsg_ProgressEventRaised,
136                      std::vector<int> /* host_ids */,
137                      GURL /* url being processed */,
138                      int /* total */,
139                      int /* complete */)
140
141 // Notifies the renderer of an AppCache error event.
142 IPC_MESSAGE_CONTROL2(AppCacheMsg_ErrorEventRaised,
143                      std::vector<int> /* host_ids */,
144                      appcache::ErrorDetails)
145
146 // Notifies the renderer of an AppCache logging message.
147 IPC_MESSAGE_CONTROL3(AppCacheMsg_LogMessage,
148                      int /* host_id */,
149                      int /* log_level */,
150                      std::string /* message */)
151
152 // Notifies the renderer of the fact that AppCache access was blocked.
153 IPC_MESSAGE_CONTROL2(AppCacheMsg_ContentBlocked,
154                      int /* host_id */,
155                      GURL /* manifest_url */)