OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Multiply-included message file, so no include guard. | 5 // Multiply-included message file, so no include guard. |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | |
11 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
12 #include "base/strings/string16.h" | 11 #include "base/strings/string16.h" |
13 #include "base/tuple.h" | 12 #include "base/tuple.h" |
14 #include "base/values.h" | 13 #include "base/values.h" |
15 #include "chrome/common/extensions/update_manifest.h" | |
16 #include "chrome/common/media_galleries/iphoto_library.h" | |
17 #include "chrome/common/media_galleries/itunes_library.h" | |
18 #include "chrome/common/media_galleries/metadata_types.h" | |
19 #include "chrome/common/media_galleries/picasa_types.h" | |
20 #include "chrome/common/safe_browsing/zip_analyzer.h" | 14 #include "chrome/common/safe_browsing/zip_analyzer.h" |
21 #include "ipc/ipc_message_macros.h" | 15 #include "ipc/ipc_message_macros.h" |
22 #include "ipc/ipc_platform_file.h" | 16 #include "ipc/ipc_platform_file.h" |
23 #include "third_party/skia/include/core/SkBitmap.h" | 17 #include "third_party/skia/include/core/SkBitmap.h" |
24 | 18 |
25 #define IPC_MESSAGE_START ChromeUtilityMsgStart | 19 #define IPC_MESSAGE_START ChromeUtilityMsgStart |
26 | 20 |
27 #ifndef CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ | 21 #ifndef CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
28 #define CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ | 22 #define CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
29 | 23 |
30 typedef std::vector<Tuple2<SkBitmap, base::FilePath> > DecodedImages; | 24 typedef std::vector<Tuple2<SkBitmap, base::FilePath> > DecodedImages; |
31 | 25 |
32 #endif // CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ | 26 #endif // CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
33 | 27 |
34 IPC_STRUCT_TRAITS_BEGIN(UpdateManifest::Result) | |
35 IPC_STRUCT_TRAITS_MEMBER(extension_id) | |
36 IPC_STRUCT_TRAITS_MEMBER(version) | |
37 IPC_STRUCT_TRAITS_MEMBER(browser_min_version) | |
38 IPC_STRUCT_TRAITS_MEMBER(package_hash) | |
39 IPC_STRUCT_TRAITS_MEMBER(crx_url) | |
40 IPC_STRUCT_TRAITS_END() | |
41 | |
42 IPC_STRUCT_TRAITS_BEGIN(UpdateManifest::Results) | |
43 IPC_STRUCT_TRAITS_MEMBER(list) | |
44 IPC_STRUCT_TRAITS_MEMBER(daystart_elapsed_seconds) | |
45 IPC_STRUCT_TRAITS_END() | |
46 | |
47 IPC_STRUCT_TRAITS_BEGIN(safe_browsing::zip_analyzer::Results) | 28 IPC_STRUCT_TRAITS_BEGIN(safe_browsing::zip_analyzer::Results) |
48 IPC_STRUCT_TRAITS_MEMBER(success) | 29 IPC_STRUCT_TRAITS_MEMBER(success) |
49 IPC_STRUCT_TRAITS_MEMBER(has_executable) | 30 IPC_STRUCT_TRAITS_MEMBER(has_executable) |
50 IPC_STRUCT_TRAITS_MEMBER(has_archive) | 31 IPC_STRUCT_TRAITS_MEMBER(has_archive) |
51 IPC_STRUCT_TRAITS_END() | 32 IPC_STRUCT_TRAITS_END() |
52 | 33 |
53 #if defined(OS_MACOSX) | |
54 IPC_STRUCT_TRAITS_BEGIN(iphoto::parser::Photo) | |
55 IPC_STRUCT_TRAITS_MEMBER(id) | |
56 IPC_STRUCT_TRAITS_MEMBER(location) | |
57 IPC_STRUCT_TRAITS_MEMBER(original_location) | |
58 IPC_STRUCT_TRAITS_END() | |
59 | |
60 IPC_STRUCT_TRAITS_BEGIN(iphoto::parser::Library) | |
61 IPC_STRUCT_TRAITS_MEMBER(albums) | |
62 IPC_STRUCT_TRAITS_MEMBER(all_photos) | |
63 IPC_STRUCT_TRAITS_END() | |
64 #endif // defined(OS_MACOSX) | |
65 | |
66 #if defined(OS_WIN) || defined(OS_MACOSX) | |
67 IPC_STRUCT_TRAITS_BEGIN(itunes::parser::Track) | |
68 IPC_STRUCT_TRAITS_MEMBER(id) | |
69 IPC_STRUCT_TRAITS_MEMBER(location) | |
70 IPC_STRUCT_TRAITS_END() | |
71 | |
72 IPC_STRUCT_TRAITS_BEGIN(picasa::AlbumInfo) | |
73 IPC_STRUCT_TRAITS_MEMBER(name) | |
74 IPC_STRUCT_TRAITS_MEMBER(timestamp) | |
75 IPC_STRUCT_TRAITS_MEMBER(uid) | |
76 IPC_STRUCT_TRAITS_MEMBER(path) | |
77 IPC_STRUCT_TRAITS_END() | |
78 | |
79 // These files are opened read-only. Please see the constructor for | |
80 // picasa::AlbumTableFiles for details. | |
81 IPC_STRUCT_TRAITS_BEGIN(picasa::AlbumTableFilesForTransit) | |
82 IPC_STRUCT_TRAITS_MEMBER(indicator_file) | |
83 IPC_STRUCT_TRAITS_MEMBER(category_file) | |
84 IPC_STRUCT_TRAITS_MEMBER(date_file) | |
85 IPC_STRUCT_TRAITS_MEMBER(filename_file) | |
86 IPC_STRUCT_TRAITS_MEMBER(name_file) | |
87 IPC_STRUCT_TRAITS_MEMBER(token_file) | |
88 IPC_STRUCT_TRAITS_MEMBER(uid_file) | |
89 IPC_STRUCT_TRAITS_END() | |
90 | |
91 IPC_STRUCT_TRAITS_BEGIN(picasa::FolderINIContents) | |
92 IPC_STRUCT_TRAITS_MEMBER(folder_path) | |
93 IPC_STRUCT_TRAITS_MEMBER(ini_contents) | |
94 IPC_STRUCT_TRAITS_END() | |
95 #endif // defined(OS_WIN) || defined(OS_MACOSX) | |
96 | |
97 #if !defined(OS_ANDROID) && !defined(OS_IOS) | |
98 IPC_STRUCT_TRAITS_BEGIN(metadata::AttachedImage) | |
99 IPC_STRUCT_TRAITS_MEMBER(type) | |
100 IPC_STRUCT_TRAITS_MEMBER(data) | |
101 IPC_STRUCT_TRAITS_END() | |
102 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) | |
103 | |
104 //------------------------------------------------------------------------------ | 34 //------------------------------------------------------------------------------ |
105 // Utility process messages: | 35 // Utility process messages: |
106 // These are messages from the browser to the utility process. | 36 // These are messages from the browser to the utility process. |
107 | 37 |
108 // Tells the utility process to unpack the given extension file in its | |
109 // directory and verify that it is valid. | |
110 IPC_MESSAGE_CONTROL4(ChromeUtilityMsg_UnpackExtension, | |
111 base::FilePath /* extension_filename */, | |
112 std::string /* extension_id */, | |
113 int /* Manifest::Location */, | |
114 int /* InitFromValue flags */) | |
115 | |
116 // Tell the utility process to parse the given JSON data and verify its | 38 // Tell the utility process to parse the given JSON data and verify its |
117 // validity. | 39 // validity. |
118 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_UnpackWebResource, | 40 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_UnpackWebResource, |
119 std::string /* JSON data */) | 41 std::string /* JSON data */) |
120 | 42 |
121 // Tell the utility process to parse the given xml document. | |
122 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseUpdateManifest, | |
123 std::string /* xml document contents */) | |
124 | |
125 // Tell the utility process to decode the given image data. | 43 // Tell the utility process to decode the given image data. |
126 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_DecodeImage, | 44 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_DecodeImage, |
127 std::vector<unsigned char>) // encoded image contents | 45 std::vector<unsigned char>) // encoded image contents |
128 | 46 |
129 // Tell the utility process to decode the given image data, which is base64 | |
130 // encoded. | |
131 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_DecodeImageBase64, | |
132 std::string) // base64 encoded image contents | |
133 | |
134 // Tell the utility process to decode the given JPEG image data with a robust | 47 // Tell the utility process to decode the given JPEG image data with a robust |
135 // libjpeg codec. | 48 // libjpeg codec. |
136 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_RobustJPEGDecodeImage, | 49 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_RobustJPEGDecodeImage, |
137 std::vector<unsigned char>) // encoded image contents | 50 std::vector<unsigned char>) // encoded image contents |
138 | 51 |
139 // Tell the utility process to parse a JSON string into a Value object. | |
140 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseJSON, | |
141 std::string /* JSON to parse */) | |
142 | |
143 // Tell the utility process to patch the given |input_file| using |patch_file| | 52 // Tell the utility process to patch the given |input_file| using |patch_file| |
144 // and place the output in |output_file|. The patch should use the bsdiff | 53 // and place the output in |output_file|. The patch should use the bsdiff |
145 // algorithm (Courgette's version). | 54 // algorithm (Courgette's version). |
146 IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_PatchFileBsdiff, | 55 IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_PatchFileBsdiff, |
147 base::FilePath /* input_file */, | 56 base::FilePath /* input_file */, |
148 base::FilePath /* patch_file */, | 57 base::FilePath /* patch_file */, |
149 base::FilePath /* output_file */) | 58 base::FilePath /* output_file */) |
150 | 59 |
151 // Tell the utility process to patch the given |input_file| using |patch_file| | 60 // Tell the utility process to patch the given |input_file| using |patch_file| |
152 // and place the output in |output_file|. The patch should use the Courgette | 61 // and place the output in |output_file|. The patch should use the Courgette |
(...skipping 14 matching lines...) Expand all Loading... |
167 // Requests the utility process to respond with a | 76 // Requests the utility process to respond with a |
168 // ChromeUtilityHostMsg_ProcessStarted message once it has started. This may | 77 // ChromeUtilityHostMsg_ProcessStarted message once it has started. This may |
169 // be used if the host process needs a handle to the running utility process. | 78 // be used if the host process needs a handle to the running utility process. |
170 IPC_MESSAGE_CONTROL0(ChromeUtilityMsg_StartupPing) | 79 IPC_MESSAGE_CONTROL0(ChromeUtilityMsg_StartupPing) |
171 | 80 |
172 // Tells the utility process to analyze a zip file for malicious download | 81 // Tells the utility process to analyze a zip file for malicious download |
173 // protection. | 82 // protection. |
174 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_AnalyzeZipFileForDownloadProtection, | 83 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_AnalyzeZipFileForDownloadProtection, |
175 IPC::PlatformFileForTransit /* zip_file */) | 84 IPC::PlatformFileForTransit /* zip_file */) |
176 | 85 |
177 #if defined(OS_WIN) | |
178 // Tell the utility process to parse the iTunes preference XML file contents | |
179 // and return the path to the iTunes directory. | |
180 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseITunesPrefXml, | |
181 std::string /* XML to parse */) | |
182 #endif // defined(OS_WIN) | |
183 | |
184 #if defined(OS_MACOSX) | |
185 // Tell the utility process to parse the iPhoto library XML file and | |
186 // return the parse result as well as the iPhoto library as an iphoto::Library. | |
187 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseIPhotoLibraryXmlFile, | |
188 IPC::PlatformFileForTransit /* XML file to parse */) | |
189 #endif // defined(OS_MACOSX) | |
190 | |
191 #if defined(OS_WIN) || defined(OS_MACOSX) | |
192 // Tell the utility process to parse the iTunes library XML file and | |
193 // return the parse result as well as the iTunes library as an itunes::Library. | |
194 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseITunesLibraryXmlFile, | |
195 IPC::PlatformFileForTransit /* XML file to parse */) | |
196 | |
197 // Tells the utility process to parse the Picasa PMP database and return a | |
198 // listing of the user's Picasa albums and folders, along with metadata. | |
199 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParsePicasaPMPDatabase, | |
200 picasa::AlbumTableFilesForTransit /* album_table_files */) | |
201 | |
202 // Tells the utility process to index the Picasa user-created Album contents | |
203 // by parsing all the INI files in Picasa Folders. | |
204 IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_IndexPicasaAlbumsContents, | |
205 picasa::AlbumUIDSet /* album_uids */, | |
206 std::vector<picasa::FolderINIContents> /* folders_inis */) | |
207 #endif // defined(OS_WIN) || defined(OS_MACOSX) | |
208 | |
209 #if !defined(OS_ANDROID) && !defined(OS_IOS) | |
210 // Tell the utility process to attempt to validate the passed media file. The | |
211 // file will undergo basic sanity checks and will be decoded for up to | |
212 // |milliseconds_of_decoding| wall clock time. It is still not safe to decode | |
213 // the file in the browser process after this check. | |
214 IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_CheckMediaFile, | |
215 int64 /* milliseconds_of_decoding */, | |
216 IPC::PlatformFileForTransit /* Media file to parse */) | |
217 | |
218 IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_ParseMediaMetadata, | |
219 std::string /* mime_type */, | |
220 int64 /* total_size */, | |
221 bool /* get_attached_images */) | |
222 | |
223 IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_RequestBlobBytes_Finished, | |
224 int64 /* request_id */, | |
225 std::string /* bytes */) | |
226 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) | |
227 | |
228 // Requests that the utility process write the contents of the source file to | |
229 // the removable drive listed in the target file. The target will be restricted | |
230 // to removable drives by the utility process. | |
231 IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_ImageWriter_Write, | |
232 base::FilePath /* source file */, | |
233 base::FilePath /* target file */) | |
234 | |
235 // Requests that the utility process verify that the contents of the source file | |
236 // was written to the target. As above the target will be restricted to | |
237 // removable drives by the utility process. | |
238 IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_ImageWriter_Verify, | |
239 base::FilePath /* source file */, | |
240 base::FilePath /* target file */) | |
241 | |
242 // Cancels a pending write or verify operation. | |
243 IPC_MESSAGE_CONTROL0(ChromeUtilityMsg_ImageWriter_Cancel) | |
244 | |
245 //------------------------------------------------------------------------------ | 86 //------------------------------------------------------------------------------ |
246 // Utility process host messages: | 87 // Utility process host messages: |
247 // These are messages from the utility process to the browser. | 88 // These are messages from the utility process to the browser. |
248 | 89 |
249 // Reply when the utility process is done unpacking an extension. |manifest| | |
250 // is the parsed manifest.json file. | |
251 // The unpacker should also have written out files containing the decoded | |
252 // images and message catalogs from the extension. The data is written into a | |
253 // DecodedImages struct into a file named kDecodedImagesFilename in the | |
254 // directory that was passed in. This is done because the data is too large to | |
255 // pass over IPC. | |
256 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackExtension_Succeeded, | |
257 base::DictionaryValue /* manifest */) | |
258 | |
259 // Reply when the utility process has failed while unpacking an extension. | |
260 // |error_message| is a user-displayable explanation of what went wrong. | |
261 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackExtension_Failed, | |
262 base::string16 /* error_message, if any */) | |
263 | |
264 // Reply when the utility process is done unpacking and parsing JSON data | 90 // Reply when the utility process is done unpacking and parsing JSON data |
265 // from a web resource. | 91 // from a web resource. |
266 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackWebResource_Succeeded, | 92 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackWebResource_Succeeded, |
267 base::DictionaryValue /* json data */) | 93 base::DictionaryValue /* json data */) |
268 | 94 |
269 // Reply when the utility process has failed while unpacking and parsing a | 95 // Reply when the utility process has failed while unpacking and parsing a |
270 // web resource. |error_message| is a user-readable explanation of what | 96 // web resource. |error_message| is a user-readable explanation of what |
271 // went wrong. | 97 // went wrong. |
272 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackWebResource_Failed, | 98 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackWebResource_Failed, |
273 std::string /* error_message, if any */) | 99 std::string /* error_message, if any */) |
274 | 100 |
275 // Reply when the utility process has succeeded in parsing an update manifest | |
276 // xml document. | |
277 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseUpdateManifest_Succeeded, | |
278 UpdateManifest::Results /* updates */) | |
279 | |
280 // Reply when an error occurred parsing the update manifest. |error_message| | |
281 // is a description of what went wrong suitable for logging. | |
282 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseUpdateManifest_Failed, | |
283 std::string /* error_message, if any */) | |
284 | |
285 // Reply when the utility process has succeeded in decoding the image. | 101 // Reply when the utility process has succeeded in decoding the image. |
286 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_DecodeImage_Succeeded, | 102 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_DecodeImage_Succeeded, |
287 SkBitmap) // decoded image | 103 SkBitmap) // decoded image |
288 | 104 |
289 // Reply when an error occurred decoding the image. | 105 // Reply when an error occurred decoding the image. |
290 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_DecodeImage_Failed) | 106 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_DecodeImage_Failed) |
291 | 107 |
292 // Reply when the utility process successfully parsed a JSON string. | |
293 // | |
294 // WARNING: The result can be of any Value subclass type, but we can't easily | |
295 // pass indeterminate value types by const object reference with our IPC macros, | |
296 // so we put the result Value into a ListValue. Handlers should examine the | |
297 // first (and only) element of the ListValue for the actual result. | |
298 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseJSON_Succeeded, | |
299 base::ListValue) | |
300 | |
301 // Reply when the utility process failed in parsing a JSON string. | |
302 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseJSON_Failed, | |
303 std::string /* error message, if any*/) | |
304 | |
305 // Reply when a file has been patched successfully. | 108 // Reply when a file has been patched successfully. |
306 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_PatchFile_Succeeded) | 109 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_PatchFile_Succeeded) |
307 | 110 |
308 // Reply when patching a file failed. | 111 // Reply when patching a file failed. |
309 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_PatchFile_Failed, | 112 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_PatchFile_Failed, |
310 int /* error code */) | 113 int /* error code */) |
311 | 114 |
312 #if defined(OS_CHROMEOS) | 115 #if defined(OS_CHROMEOS) |
313 // Reply when the utility process has succeeded in creating the zip file. | 116 // Reply when the utility process has succeeded in creating the zip file. |
314 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_CreateZipFile_Succeeded) | 117 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_CreateZipFile_Succeeded) |
315 | 118 |
316 // Reply when an error occured in creating the zip file. | 119 // Reply when an error occured in creating the zip file. |
317 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_CreateZipFile_Failed) | 120 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_CreateZipFile_Failed) |
318 #endif // defined(OS_CHROMEOS) | 121 #endif // defined(OS_CHROMEOS) |
319 | 122 |
320 // Reply when the utility process has started. | 123 // Reply when the utility process has started. |
321 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_ProcessStarted) | 124 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_ProcessStarted) |
322 | 125 |
323 // Reply when a zip file has been analyzed for malicious download protection. | 126 // Reply when a zip file has been analyzed for malicious download protection. |
324 IPC_MESSAGE_CONTROL1( | 127 IPC_MESSAGE_CONTROL1( |
325 ChromeUtilityHostMsg_AnalyzeZipFileForDownloadProtection_Finished, | 128 ChromeUtilityHostMsg_AnalyzeZipFileForDownloadProtection_Finished, |
326 safe_browsing::zip_analyzer::Results) | 129 safe_browsing::zip_analyzer::Results) |
327 | |
328 #if defined(OS_WIN) | |
329 // Reply after parsing the iTunes preferences XML file contents with either the | |
330 // path to the iTunes directory or an empty FilePath. | |
331 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_GotITunesDirectory, | |
332 base::FilePath /* Path to iTunes library */) | |
333 #endif // defined(OS_WIN) | |
334 | |
335 #if defined(OS_MACOSX) | |
336 // Reply after parsing the iPhoto library XML file with the parser result and | |
337 // an iphoto::Library data structure. | |
338 IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GotIPhotoLibrary, | |
339 bool /* Parser result */, | |
340 iphoto::parser::Library /* iPhoto library */) | |
341 #endif // defined(OS_MACOSX) | |
342 | |
343 #if defined(OS_WIN) || defined(OS_MACOSX) | |
344 // Reply after parsing the iTunes library XML file with the parser result and | |
345 // an itunes::Library data structure. | |
346 IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GotITunesLibrary, | |
347 bool /* Parser result */, | |
348 itunes::parser::Library /* iTunes library */) | |
349 | |
350 // Reply after parsing the Picasa PMP Database with the parser result and a | |
351 // listing of the user's Picasa albums and folders, along with metadata. | |
352 IPC_MESSAGE_CONTROL3(ChromeUtilityHostMsg_ParsePicasaPMPDatabase_Finished, | |
353 bool /* parse_success */, | |
354 std::vector<picasa::AlbumInfo> /* albums */, | |
355 std::vector<picasa::AlbumInfo> /* folders */) | |
356 | |
357 // Reply after indexing the Picasa user-created Album contents by parsing all | |
358 // the INI files in Picasa Folders. | |
359 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_IndexPicasaAlbumsContents_Finished, | |
360 picasa::AlbumImagesMap /* albums_images */) | |
361 #endif // defined(OS_WIN) || defined(OS_MACOSX) | |
362 | |
363 #if !defined(OS_ANDROID) && !defined(OS_IOS) | |
364 // Reply after checking the passed media file. A true result indicates that | |
365 // the file appears to be a well formed media file. | |
366 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_CheckMediaFile_Finished, | |
367 bool /* passed_checks */) | |
368 | |
369 IPC_MESSAGE_CONTROL3( | |
370 ChromeUtilityHostMsg_ParseMediaMetadata_Finished, | |
371 bool /* parse_success */, | |
372 base::DictionaryValue /* metadata */, | |
373 std::vector<metadata::AttachedImage> /* attached_images */) | |
374 | |
375 IPC_MESSAGE_CONTROL3(ChromeUtilityHostMsg_RequestBlobBytes, | |
376 int64 /* request_id */, | |
377 int64 /* start_byte */, | |
378 int64 /* length */) | |
379 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) | |
380 | |
381 // Reply when a write or verify operation succeeds. | |
382 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_ImageWriter_Succeeded) | |
383 | |
384 // Reply when a write or verify operation has been fully cancelled. | |
385 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_ImageWriter_Cancelled) | |
386 | |
387 // Reply when a write or verify operation fails to complete. | |
388 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ImageWriter_Failed, | |
389 std::string /* message */) | |
390 | |
391 // Periodic status update about the progress of an operation. | |
392 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ImageWriter_Progress, | |
393 int64 /* number of bytes processed */) | |
394 | |
395 #if defined(OS_WIN) | |
396 // Get plain-text WiFi credentials from the system (requires UAC privilege | |
397 // elevation) and encrypt them with |public_key|. | |
398 IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GetAndEncryptWiFiCredentials, | |
399 std::string /* ssid */, | |
400 std::vector<uint8> /* public_key */) | |
401 | |
402 // Reply after getting WiFi credentials from the system and encrypting them with | |
403 // caller's public key. |success| is false if error occurred. | |
404 IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GotEncryptedWiFiCredentials, | |
405 std::vector<uint8> /* encrypted_key_data */, | |
406 bool /* success */) | |
407 #endif // defined(OS_WIN) | |
OLD | NEW |