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.
5 // Multiply-included message file, hence no include guard.
7 #include "ipc/ipc_message_macros.h"
8 #include "content/common/appcache_interfaces.h"
10 #define IPC_MESSAGE_START AppCacheMsgStart
12 IPC_ENUM_TRAITS_MAX_VALUE(content::AppCacheEventID
,
13 content::APPCACHE_EVENT_ID_LAST
)
14 IPC_ENUM_TRAITS_MAX_VALUE(content::AppCacheStatus
,
15 content::APPCACHE_STATUS_LAST
)
16 IPC_ENUM_TRAITS_MAX_VALUE(content::AppCacheErrorReason
,
17 content::APPCACHE_ERROR_REASON_LAST
)
19 IPC_STRUCT_TRAITS_BEGIN(content::AppCacheInfo
)
20 IPC_STRUCT_TRAITS_MEMBER(manifest_url
)
21 IPC_STRUCT_TRAITS_MEMBER(creation_time
)
22 IPC_STRUCT_TRAITS_MEMBER(last_update_time
)
23 IPC_STRUCT_TRAITS_MEMBER(last_access_time
)
24 IPC_STRUCT_TRAITS_MEMBER(cache_id
)
25 IPC_STRUCT_TRAITS_MEMBER(group_id
)
26 IPC_STRUCT_TRAITS_MEMBER(status
)
27 IPC_STRUCT_TRAITS_MEMBER(size
)
28 IPC_STRUCT_TRAITS_MEMBER(is_complete
)
29 IPC_STRUCT_TRAITS_END()
31 IPC_STRUCT_TRAITS_BEGIN(content::AppCacheResourceInfo
)
32 IPC_STRUCT_TRAITS_MEMBER(url
)
33 IPC_STRUCT_TRAITS_MEMBER(size
)
34 IPC_STRUCT_TRAITS_MEMBER(is_master
)
35 IPC_STRUCT_TRAITS_MEMBER(is_manifest
)
36 IPC_STRUCT_TRAITS_MEMBER(is_fallback
)
37 IPC_STRUCT_TRAITS_MEMBER(is_foreign
)
38 IPC_STRUCT_TRAITS_MEMBER(is_explicit
)
39 IPC_STRUCT_TRAITS_END()
41 IPC_STRUCT_TRAITS_BEGIN(content::AppCacheErrorDetails
)
42 IPC_STRUCT_TRAITS_MEMBER(message
)
43 IPC_STRUCT_TRAITS_MEMBER(reason
)
44 IPC_STRUCT_TRAITS_MEMBER(url
)
45 IPC_STRUCT_TRAITS_MEMBER(status
)
46 IPC_STRUCT_TRAITS_MEMBER(is_cross_origin
)
47 IPC_STRUCT_TRAITS_END()
49 // AppCache messages sent from the child process to the browser.
51 // Informs the browser of a new appcache host.
52 IPC_MESSAGE_CONTROL1(AppCacheHostMsg_RegisterHost
,
55 // Informs the browser of an appcache host being destroyed.
56 IPC_MESSAGE_CONTROL1(AppCacheHostMsg_UnregisterHost
,
59 // Informs the browser of which host caused another to be created.
60 // This can influence which appcache should be utilized for the main
61 // resource load into the newly created host, so it should be sent
62 // prior to the main resource request being initiated.
63 IPC_MESSAGE_CONTROL2(AppCacheHostMsg_SetSpawningHostId
,
65 int /* spawning_host_id */)
67 // Initiates the cache selection algorithm for the given host.
68 // This is sent prior to any subresource loads. An AppCacheMsg_CacheSelected
69 // message will be sent in response.
70 // 'host_id' indentifies a specific document or worker
71 // 'document_url' the url of the main resource
72 // 'appcache_document_was_loaded_from' the id of the appcache the main
73 // resource was loaded from or kAppCacheNoCacheId
74 // 'opt_manifest_url' the manifest url specified in the <html> tag if any
75 IPC_MESSAGE_CONTROL4(AppCacheHostMsg_SelectCache
,
77 GURL
/* document_url */,
78 int64
/* appcache_document_was_loaded_from */,
79 GURL
/* opt_manifest_url */)
81 // Initiates worker specific cache selection algorithm for the given host.
82 IPC_MESSAGE_CONTROL3(AppCacheHostMsg_SelectCacheForWorker
,
84 int /* parent_process_id */,
85 int /* parent_host_id */)
86 IPC_MESSAGE_CONTROL2(AppCacheHostMsg_SelectCacheForSharedWorker
,
88 int64
/* appcache_id */)
90 // Informs the browser of a 'foreign' entry in an appcache.
91 IPC_MESSAGE_CONTROL3(AppCacheHostMsg_MarkAsForeignEntry
,
93 GURL
/* document_url */,
94 int64
/* appcache_document_was_loaded_from */)
96 // Returns the status of the appcache associated with host_id.
97 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_GetStatus
,
99 content::AppCacheStatus
)
101 // Initiates an update of the appcache associated with host_id.
102 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_StartUpdate
,
106 // Swaps a new pending appcache, if there is one, into use for host_id.
107 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_SwapCache
,
111 // Gets resource list from appcache synchronously.
112 IPC_SYNC_MESSAGE_CONTROL1_1(AppCacheHostMsg_GetResourceList
,
114 std::vector
<content::AppCacheResourceInfo
>
118 // AppCache messages sent from the browser to the child process.
120 // Notifies the renderer of the appcache that has been selected for a
121 // a particular host. This is sent in reply to AppCacheHostMsg_SelectCache.
122 IPC_MESSAGE_CONTROL2(AppCacheMsg_CacheSelected
,
124 content::AppCacheInfo
)
126 // Notifies the renderer of an AppCache status change.
127 IPC_MESSAGE_CONTROL2(AppCacheMsg_StatusChanged
,
128 std::vector
<int> /* host_ids */,
129 content::AppCacheStatus
)
131 // Notifies the renderer of an AppCache event other than the
132 // progress event which has a seperate message.
133 IPC_MESSAGE_CONTROL2(AppCacheMsg_EventRaised
,
134 std::vector
<int> /* host_ids */,
135 content::AppCacheEventID
)
137 // Notifies the renderer of an AppCache progress event.
138 IPC_MESSAGE_CONTROL4(AppCacheMsg_ProgressEventRaised
,
139 std::vector
<int> /* host_ids */,
140 GURL
/* url being processed */,
144 // Notifies the renderer of an AppCache error event.
145 IPC_MESSAGE_CONTROL2(AppCacheMsg_ErrorEventRaised
,
146 std::vector
<int> /* host_ids */,
147 content::AppCacheErrorDetails
)
149 // Notifies the renderer of an AppCache logging message.
150 IPC_MESSAGE_CONTROL3(AppCacheMsg_LogMessage
,
153 std::string
/* message */)
155 // Notifies the renderer of the fact that AppCache access was blocked.
156 IPC_MESSAGE_CONTROL2(AppCacheMsg_ContentBlocked
,
158 GURL
/* manifest_url */)