• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 // Chrome-specific IPC messages for extensions.
6 // Extension-related messages that aren't specific to Chrome live in
7 // extensions/common/extension_messages.h.
8 //
9 // Multiply-included message file, hence no include guard.
10 
11 #include "chrome/common/extensions/api/webstore/webstore_api_constants.h"
12 #include "chrome/common/web_application_info.h"
13 #include "ipc/ipc_message_macros.h"
14 
15 #define IPC_MESSAGE_START ChromeExtensionMsgStart
16 
17 IPC_ENUM_TRAITS_MAX_VALUE(extensions::api::webstore::InstallStage,
18                           extensions::api::webstore::INSTALL_STAGE_INSTALLING)
19 
20 IPC_STRUCT_TRAITS_BEGIN(WebApplicationInfo::IconInfo)
21   IPC_STRUCT_TRAITS_MEMBER(url)
22   IPC_STRUCT_TRAITS_MEMBER(width)
23   IPC_STRUCT_TRAITS_MEMBER(height)
24   IPC_STRUCT_TRAITS_MEMBER(data)
25 IPC_STRUCT_TRAITS_END()
26 
27 IPC_STRUCT_TRAITS_BEGIN(WebApplicationInfo)
28   IPC_STRUCT_TRAITS_MEMBER(title)
29   IPC_STRUCT_TRAITS_MEMBER(description)
30   IPC_STRUCT_TRAITS_MEMBER(app_url)
31   IPC_STRUCT_TRAITS_MEMBER(icons)
32 IPC_STRUCT_TRAITS_END()
33 
34 // Messages sent from the browser to the renderer.
35 
36 // Requests application info for the page. The renderer responds back with
37 // ExtensionHostMsg_DidGetApplicationInfo.
38 IPC_MESSAGE_ROUTED1(ChromeExtensionMsg_GetApplicationInfo,
39                     int32 /* page_id */)
40 
41 // Sent by the renderer to implement chrome.webstore.install().
42 IPC_MESSAGE_ROUTED5(ExtensionHostMsg_InlineWebstoreInstall,
43                     int32 /* install id */,
44                     int32 /* return route id */,
45                     std::string /* Web Store item ID */,
46                     GURL /* requestor URL */,
47                     int /* listeners_mask */)
48 
49 // Sent to the renderer if install stage updates were requested for an inline
50 // install.
51 IPC_MESSAGE_ROUTED1(ExtensionMsg_InlineInstallStageChanged,
52                     extensions::api::webstore::InstallStage /* stage */)
53 
54 // Sent to the renderer if download progress updates were requested for an
55 // inline install.
56 IPC_MESSAGE_ROUTED1(ExtensionMsg_InlineInstallDownloadProgress,
57                     int /* percent_downloaded */)
58 
59 // Send to renderer once the installation mentioned on
60 // ExtensionHostMsg_InlineWebstoreInstall is complete.
61 IPC_MESSAGE_ROUTED3(ExtensionMsg_InlineWebstoreInstallResponse,
62                     int32 /* install id */,
63                     bool /* whether the install was successful */,
64                     std::string /* error */)
65 
66 // Messages sent from the renderer to the browser.
67 
68 IPC_MESSAGE_ROUTED2(ChromeExtensionHostMsg_DidGetApplicationInfo,
69                     int32 /* page_id */,
70                     WebApplicationInfo)
71