Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9135)

Unified Diff: chrome/common/extensions/chrome_utility_extensions_messages.h

Issue 345693002: Extensions: Split extensions utility IPC messages into its own file. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: disable another test Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/common_message_generator.h ('k') | chrome/utility/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/chrome_utility_extensions_messages.h
diff --git a/chrome/common/extensions/chrome_utility_extensions_messages.h b/chrome/common/extensions/chrome_utility_extensions_messages.h
new file mode 100644
index 0000000000000000000000000000000000000000..3229f96e4a6cc21f392ca765c22ca5990958e465
--- /dev/null
+++ b/chrome/common/extensions/chrome_utility_extensions_messages.h
@@ -0,0 +1,304 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Multiply-included message file, so no include guard.
+
+#include <string>
+#include <vector>
+
+#include "base/basictypes.h"
+#include "base/files/file_path.h"
+#include "chrome/common/extensions/update_manifest.h"
+#include "chrome/common/media_galleries/iphoto_library.h"
+#include "chrome/common/media_galleries/itunes_library.h"
+#include "chrome/common/media_galleries/metadata_types.h"
+#include "chrome/common/media_galleries/picasa_types.h"
+#include "ipc/ipc_message_macros.h"
+#include "ipc/ipc_platform_file.h"
+
+#if !defined(ENABLE_EXTENSIONS)
+#error "Extensions must be enabled"
+#endif
+
+#define IPC_MESSAGE_START ChromeUtilityExtensionsMsgStart
+
+IPC_STRUCT_TRAITS_BEGIN(UpdateManifest::Result)
+ IPC_STRUCT_TRAITS_MEMBER(extension_id)
+ IPC_STRUCT_TRAITS_MEMBER(version)
+ IPC_STRUCT_TRAITS_MEMBER(browser_min_version)
+ IPC_STRUCT_TRAITS_MEMBER(package_hash)
+ IPC_STRUCT_TRAITS_MEMBER(crx_url)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(UpdateManifest::Results)
+ IPC_STRUCT_TRAITS_MEMBER(list)
+ IPC_STRUCT_TRAITS_MEMBER(daystart_elapsed_seconds)
+IPC_STRUCT_TRAITS_END()
+
+#if defined(OS_MACOSX)
+IPC_STRUCT_TRAITS_BEGIN(iphoto::parser::Photo)
+ IPC_STRUCT_TRAITS_MEMBER(id)
+ IPC_STRUCT_TRAITS_MEMBER(location)
+ IPC_STRUCT_TRAITS_MEMBER(original_location)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(iphoto::parser::Library)
+ IPC_STRUCT_TRAITS_MEMBER(albums)
+ IPC_STRUCT_TRAITS_MEMBER(all_photos)
+IPC_STRUCT_TRAITS_END()
+#endif // defined(OS_MACOSX)
+
+#if defined(OS_WIN) || defined(OS_MACOSX)
+IPC_STRUCT_TRAITS_BEGIN(itunes::parser::Track)
+ IPC_STRUCT_TRAITS_MEMBER(id)
+ IPC_STRUCT_TRAITS_MEMBER(location)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(picasa::AlbumInfo)
+ IPC_STRUCT_TRAITS_MEMBER(name)
+ IPC_STRUCT_TRAITS_MEMBER(timestamp)
+ IPC_STRUCT_TRAITS_MEMBER(uid)
+ IPC_STRUCT_TRAITS_MEMBER(path)
+IPC_STRUCT_TRAITS_END()
+
+// These files are opened read-only. Please see the constructor for
+// picasa::AlbumTableFiles for details.
+IPC_STRUCT_TRAITS_BEGIN(picasa::AlbumTableFilesForTransit)
+ IPC_STRUCT_TRAITS_MEMBER(indicator_file)
+ IPC_STRUCT_TRAITS_MEMBER(category_file)
+ IPC_STRUCT_TRAITS_MEMBER(date_file)
+ IPC_STRUCT_TRAITS_MEMBER(filename_file)
+ IPC_STRUCT_TRAITS_MEMBER(name_file)
+ IPC_STRUCT_TRAITS_MEMBER(token_file)
+ IPC_STRUCT_TRAITS_MEMBER(uid_file)
+IPC_STRUCT_TRAITS_END()
+
+IPC_STRUCT_TRAITS_BEGIN(picasa::FolderINIContents)
+ IPC_STRUCT_TRAITS_MEMBER(folder_path)
+ IPC_STRUCT_TRAITS_MEMBER(ini_contents)
+IPC_STRUCT_TRAITS_END()
+#endif // defined(OS_WIN) || defined(OS_MACOSX)
+
+#if !defined(OS_ANDROID) && !defined(OS_IOS)
+IPC_STRUCT_TRAITS_BEGIN(metadata::AttachedImage)
+ IPC_STRUCT_TRAITS_MEMBER(type)
+ IPC_STRUCT_TRAITS_MEMBER(data)
+IPC_STRUCT_TRAITS_END()
+#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
+
+//------------------------------------------------------------------------------
+// Utility process messages:
+// These are messages from the browser to the utility process.
+
+// Tells the utility process to unpack the given extension file in its
+// directory and verify that it is valid.
+IPC_MESSAGE_CONTROL4(ChromeUtilityMsg_UnpackExtension,
+ base::FilePath /* extension_filename */,
+ std::string /* extension_id */,
+ int /* Manifest::Location */,
+ int /* InitFromValue flags */)
+
+// Tell the utility process to parse the given xml document.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseUpdateManifest,
+ std::string /* xml document contents */)
+
+// Tell the utility process to decode the given image data, which is base64
+// encoded.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_DecodeImageBase64,
+ std::string) // base64 encoded image contents
+
+// Tell the utility process to parse a JSON string into a Value object.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseJSON,
+ std::string /* JSON to parse */)
+
+#if defined(OS_WIN)
+// Tell the utility process to parse the iTunes preference XML file contents
+// and return the path to the iTunes directory.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseITunesPrefXml,
+ std::string /* XML to parse */)
+#endif // defined(OS_WIN)
+
+#if defined(OS_MACOSX)
+// Tell the utility process to parse the iPhoto library XML file and
+// return the parse result as well as the iPhoto library as an iphoto::Library.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseIPhotoLibraryXmlFile,
+ IPC::PlatformFileForTransit /* XML file to parse */)
+#endif // defined(OS_MACOSX)
+
+#if defined(OS_WIN) || defined(OS_MACOSX)
+// Tell the utility process to parse the iTunes library XML file and
+// return the parse result as well as the iTunes library as an itunes::Library.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParseITunesLibraryXmlFile,
+ IPC::PlatformFileForTransit /* XML file to parse */)
+
+// Tells the utility process to parse the Picasa PMP database and return a
+// listing of the user's Picasa albums and folders, along with metadata.
+IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_ParsePicasaPMPDatabase,
+ picasa::AlbumTableFilesForTransit /* album_table_files */)
+
+// Tells the utility process to index the Picasa user-created Album contents
+// by parsing all the INI files in Picasa Folders.
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_IndexPicasaAlbumsContents,
+ picasa::AlbumUIDSet /* album_uids */,
+ std::vector<picasa::FolderINIContents> /* folders_inis */)
+#endif // defined(OS_WIN) || defined(OS_MACOSX)
+
+#if !defined(OS_ANDROID) && !defined(OS_IOS)
+// Tell the utility process to attempt to validate the passed media file. The
+// file will undergo basic sanity checks and will be decoded for up to
+// |milliseconds_of_decoding| wall clock time. It is still not safe to decode
+// the file in the browser process after this check.
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_CheckMediaFile,
+ int64 /* milliseconds_of_decoding */,
+ IPC::PlatformFileForTransit /* Media file to parse */)
+
+IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_ParseMediaMetadata,
+ std::string /* mime_type */,
+ int64 /* total_size */,
+ bool /* get_attached_images */)
+
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_RequestBlobBytes_Finished,
+ int64 /* request_id */,
+ std::string /* bytes */)
+#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
+
+// Requests that the utility process write the contents of the source file to
+// the removable drive listed in the target file. The target will be restricted
+// to removable drives by the utility process.
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_ImageWriter_Write,
+ base::FilePath /* source file */,
+ base::FilePath /* target file */)
+
+// Requests that the utility process verify that the contents of the source file
+// was written to the target. As above the target will be restricted to
+// removable drives by the utility process.
+IPC_MESSAGE_CONTROL2(ChromeUtilityMsg_ImageWriter_Verify,
+ base::FilePath /* source file */,
+ base::FilePath /* target file */)
+
+// Cancels a pending write or verify operation.
+IPC_MESSAGE_CONTROL0(ChromeUtilityMsg_ImageWriter_Cancel)
+
+//------------------------------------------------------------------------------
+// Utility process host messages:
+// These are messages from the utility process to the browser.
+
+// Reply when the utility process is done unpacking an extension. |manifest|
+// is the parsed manifest.json file.
+// The unpacker should also have written out files containing the decoded
+// images and message catalogs from the extension. The data is written into a
+// DecodedImages struct into a file named kDecodedImagesFilename in the
+// directory that was passed in. This is done because the data is too large to
+// pass over IPC.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackExtension_Succeeded,
+ base::DictionaryValue /* manifest */)
+
+// Reply when the utility process has failed while unpacking an extension.
+// |error_message| is a user-displayable explanation of what went wrong.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackExtension_Failed,
+ base::string16 /* error_message, if any */)
+
+// Reply when the utility process has succeeded in parsing an update manifest
+// xml document.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseUpdateManifest_Succeeded,
+ UpdateManifest::Results /* updates */)
+
+// Reply when an error occurred parsing the update manifest. |error_message|
+// is a description of what went wrong suitable for logging.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseUpdateManifest_Failed,
+ std::string /* error_message, if any */)
+
+// Reply when the utility process successfully parsed a JSON string.
+//
+// WARNING: The result can be of any Value subclass type, but we can't easily
+// pass indeterminate value types by const object reference with our IPC macros,
+// so we put the result Value into a ListValue. Handlers should examine the
+// first (and only) element of the ListValue for the actual result.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseJSON_Succeeded,
+ base::ListValue)
+
+// Reply when the utility process failed in parsing a JSON string.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ParseJSON_Failed,
+ std::string /* error message, if any*/)
+
+#if defined(OS_WIN)
+// Reply after parsing the iTunes preferences XML file contents with either the
+// path to the iTunes directory or an empty FilePath.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_GotITunesDirectory,
+ base::FilePath /* Path to iTunes library */)
+#endif // defined(OS_WIN)
+
+#if defined(OS_MACOSX)
+// Reply after parsing the iPhoto library XML file with the parser result and
+// an iphoto::Library data structure.
+IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GotIPhotoLibrary,
+ bool /* Parser result */,
+ iphoto::parser::Library /* iPhoto library */)
+#endif // defined(OS_MACOSX)
+
+#if defined(OS_WIN) || defined(OS_MACOSX)
+// Reply after parsing the iTunes library XML file with the parser result and
+// an itunes::Library data structure.
+IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GotITunesLibrary,
+ bool /* Parser result */,
+ itunes::parser::Library /* iTunes library */)
+
+// Reply after parsing the Picasa PMP Database with the parser result and a
+// listing of the user's Picasa albums and folders, along with metadata.
+IPC_MESSAGE_CONTROL3(ChromeUtilityHostMsg_ParsePicasaPMPDatabase_Finished,
+ bool /* parse_success */,
+ std::vector<picasa::AlbumInfo> /* albums */,
+ std::vector<picasa::AlbumInfo> /* folders */)
+
+// Reply after indexing the Picasa user-created Album contents by parsing all
+// the INI files in Picasa Folders.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_IndexPicasaAlbumsContents_Finished,
+ picasa::AlbumImagesMap /* albums_images */)
+#endif // defined(OS_WIN) || defined(OS_MACOSX)
+
+#if !defined(OS_ANDROID) && !defined(OS_IOS)
+// Reply after checking the passed media file. A true result indicates that
+// the file appears to be a well formed media file.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_CheckMediaFile_Finished,
+ bool /* passed_checks */)
+
+IPC_MESSAGE_CONTROL3(
+ ChromeUtilityHostMsg_ParseMediaMetadata_Finished,
+ bool /* parse_success */,
+ base::DictionaryValue /* metadata */,
+ std::vector<metadata::AttachedImage> /* attached_images */)
+
+IPC_MESSAGE_CONTROL3(ChromeUtilityHostMsg_RequestBlobBytes,
+ int64 /* request_id */,
+ int64 /* start_byte */,
+ int64 /* length */)
+#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
+
+// Reply when a write or verify operation succeeds.
+IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_ImageWriter_Succeeded)
+
+// Reply when a write or verify operation has been fully cancelled.
+IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_ImageWriter_Cancelled)
+
+// Reply when a write or verify operation fails to complete.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ImageWriter_Failed,
+ std::string /* message */)
+
+// Periodic status update about the progress of an operation.
+IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_ImageWriter_Progress,
+ int64 /* number of bytes processed */)
+
+#if defined(OS_WIN)
+// Get plain-text WiFi credentials from the system (requires UAC privilege
+// elevation) and encrypt them with |public_key|.
+IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GetAndEncryptWiFiCredentials,
+ std::string /* ssid */,
+ std::vector<uint8> /* public_key */)
+
+// Reply after getting WiFi credentials from the system and encrypting them with
+// caller's public key. |success| is false if error occurred.
+IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GotEncryptedWiFiCredentials,
+ std::vector<uint8> /* encrypted_key_data */,
+ bool /* success */)
+#endif // defined(OS_WIN)
« no previous file with comments | « chrome/common/common_message_generator.h ('k') | chrome/utility/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698