| // 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. |
| |
| // Chrome-specific IPC messages for extensions. |
| // Extension-related messages that aren't specific to Chrome live in |
| // extensions/common/extension_messages.h. |
| // |
| // Multiply-included message file, hence no include guard. |
| |
| #include "chrome/common/extensions/api/webstore/webstore_api_constants.h" |
| #include "chrome/common/web_application_info.h" |
| #include "ipc/ipc_message_macros.h" |
| |
| #define IPC_MESSAGE_START ChromeExtensionMsgStart |
| |
| IPC_ENUM_TRAITS_MAX_VALUE(extensions::api::webstore::InstallStage, |
| extensions::api::webstore::INSTALL_STAGE_INSTALLING) |
| |
| IPC_STRUCT_TRAITS_BEGIN(WebApplicationInfo::IconInfo) |
| IPC_STRUCT_TRAITS_MEMBER(url) |
| IPC_STRUCT_TRAITS_MEMBER(width) |
| IPC_STRUCT_TRAITS_MEMBER(height) |
| IPC_STRUCT_TRAITS_MEMBER(data) |
| IPC_STRUCT_TRAITS_END() |
| |
| IPC_STRUCT_TRAITS_BEGIN(WebApplicationInfo) |
| IPC_STRUCT_TRAITS_MEMBER(title) |
| IPC_STRUCT_TRAITS_MEMBER(description) |
| IPC_STRUCT_TRAITS_MEMBER(app_url) |
| IPC_STRUCT_TRAITS_MEMBER(icons) |
| IPC_STRUCT_TRAITS_END() |
| |
| // Messages sent from the browser to the renderer. |
| |
| // Requests application info for the page. The renderer responds back with |
| // ExtensionHostMsg_DidGetApplicationInfo. |
| IPC_MESSAGE_ROUTED1(ChromeExtensionMsg_GetApplicationInfo, |
| int32 /* page_id */) |
| |
| // Sent by the renderer to implement chrome.webstore.install(). |
| IPC_MESSAGE_ROUTED5(ExtensionHostMsg_InlineWebstoreInstall, |
| int32 /* install id */, |
| int32 /* return route id */, |
| std::string /* Web Store item ID */, |
| GURL /* requestor URL */, |
| int /* listeners_mask */) |
| |
| // Sent to the renderer if install stage updates were requested for an inline |
| // install. |
| IPC_MESSAGE_ROUTED1(ExtensionMsg_InlineInstallStageChanged, |
| extensions::api::webstore::InstallStage /* stage */) |
| |
| // Sent to the renderer if download progress updates were requested for an |
| // inline install. |
| IPC_MESSAGE_ROUTED1(ExtensionMsg_InlineInstallDownloadProgress, |
| int /* percent_downloaded */) |
| |
| // Send to renderer once the installation mentioned on |
| // ExtensionHostMsg_InlineWebstoreInstall is complete. |
| IPC_MESSAGE_ROUTED3(ExtensionMsg_InlineWebstoreInstallResponse, |
| int32 /* install id */, |
| bool /* whether the install was successful */, |
| std::string /* error */) |
| |
| // Messages sent from the renderer to the browser. |
| |
| IPC_MESSAGE_ROUTED2(ChromeExtensionHostMsg_DidGetApplicationInfo, |
| int32 /* page_id */, |
| WebApplicationInfo) |