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 #if defined(OS_WIN) |
| 8 #include <Windows.h> |
| 9 #endif // defined(OS_WIN) |
| 10 |
7 #include <string> | 11 #include <string> |
| 12 #include <tuple> |
8 #include <vector> | 13 #include <vector> |
9 | 14 |
10 #include "base/files/file_path.h" | 15 #include "base/files/file_path.h" |
| 16 #include "base/strings/string16.h" |
11 #include "base/values.h" | 17 #include "base/values.h" |
12 #include "build/build_config.h" | 18 #include "build/build_config.h" |
13 #include "ipc/ipc_message_macros.h" | 19 #include "ipc/ipc_message_macros.h" |
14 #include "ipc/ipc_platform_file.h" | 20 #include "ipc/ipc_platform_file.h" |
15 #include "ui/gfx/ipc/gfx_param_traits.h" | 21 #include "ui/gfx/ipc/gfx_param_traits.h" |
16 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" | 22 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" |
17 | 23 |
18 #if defined(FULL_SAFE_BROWSING) | 24 #if defined(FULL_SAFE_BROWSING) |
19 #include "chrome/common/safe_browsing/ipc_protobuf_message_macros.h" | 25 #include "chrome/common/safe_browsing/ipc_protobuf_message_macros.h" |
20 #include "chrome/common/safe_browsing/protobuf_message_param_traits.h" | 26 #include "chrome/common/safe_browsing/protobuf_message_param_traits.h" |
21 #include "chrome/common/safe_browsing/zip_analyzer_results.h" | 27 #include "chrome/common/safe_browsing/zip_analyzer_results.h" |
22 #endif | 28 #endif |
23 | 29 |
24 // Singly-included section for typedefs. | 30 // Singly-included section for typedefs. |
25 #ifndef CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ | 31 #ifndef CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
26 #define CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ | 32 #define CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
27 | 33 |
| 34 #if defined(OS_WIN) |
| 35 // A vector of filters, each being a tuple containing a display string (i.e. |
| 36 // "Text Files") and a filter pattern (i.e. "*.txt"). |
| 37 typedef std::vector<std::tuple<base::string16, base::string16>> |
| 38 GetOpenFileNameFilter; |
| 39 #endif // OS_WIN |
| 40 |
28 #endif // CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ | 41 #endif // CHROME_COMMON_CHROME_UTILITY_MESSAGES_H_ |
29 | 42 |
30 #define IPC_MESSAGE_START ChromeUtilityMsgStart | 43 #define IPC_MESSAGE_START ChromeUtilityMsgStart |
31 | 44 |
32 #if defined(FULL_SAFE_BROWSING) | 45 #if defined(FULL_SAFE_BROWSING) |
33 IPC_ENUM_TRAITS_VALIDATE( | 46 IPC_ENUM_TRAITS_VALIDATE( |
34 safe_browsing::ClientDownloadRequest_DownloadType, | 47 safe_browsing::ClientDownloadRequest_DownloadType, |
35 safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value)) | 48 safe_browsing::ClientDownloadRequest_DownloadType_IsValid(value)) |
36 | 49 |
37 IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(safe_browsing::ClientDownloadRequest_Digests) | 50 IPC_PROTOBUF_MESSAGE_TRAITS_BEGIN(safe_browsing::ClientDownloadRequest_Digests) |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 | 117 |
105 IPC_STRUCT_TRAITS_BEGIN(safe_browsing::zip_analyzer::Results) | 118 IPC_STRUCT_TRAITS_BEGIN(safe_browsing::zip_analyzer::Results) |
106 IPC_STRUCT_TRAITS_MEMBER(success) | 119 IPC_STRUCT_TRAITS_MEMBER(success) |
107 IPC_STRUCT_TRAITS_MEMBER(has_executable) | 120 IPC_STRUCT_TRAITS_MEMBER(has_executable) |
108 IPC_STRUCT_TRAITS_MEMBER(has_archive) | 121 IPC_STRUCT_TRAITS_MEMBER(has_archive) |
109 IPC_STRUCT_TRAITS_MEMBER(archived_binary) | 122 IPC_STRUCT_TRAITS_MEMBER(archived_binary) |
110 IPC_STRUCT_TRAITS_MEMBER(archived_archive_filenames) | 123 IPC_STRUCT_TRAITS_MEMBER(archived_archive_filenames) |
111 IPC_STRUCT_TRAITS_END() | 124 IPC_STRUCT_TRAITS_END() |
112 #endif // FULL_SAFE_BROWSING | 125 #endif // FULL_SAFE_BROWSING |
113 | 126 |
| 127 #if defined(OS_WIN) |
| 128 IPC_STRUCT_BEGIN(ChromeUtilityMsg_GetSaveFileName_Params) |
| 129 IPC_STRUCT_MEMBER(HWND, owner) |
| 130 IPC_STRUCT_MEMBER(DWORD, flags) |
| 131 IPC_STRUCT_MEMBER(GetOpenFileNameFilter, filters) |
| 132 IPC_STRUCT_MEMBER(int, one_based_filter_index) |
| 133 IPC_STRUCT_MEMBER(base::FilePath, suggested_filename) |
| 134 IPC_STRUCT_MEMBER(base::FilePath, initial_directory) |
| 135 IPC_STRUCT_MEMBER(base::string16, default_extension) |
| 136 IPC_STRUCT_END() |
| 137 #endif // OS_WIN |
| 138 |
114 //------------------------------------------------------------------------------ | 139 //------------------------------------------------------------------------------ |
115 // Utility process messages: | 140 // Utility process messages: |
116 // These are messages from the browser to the utility process. | 141 // These are messages from the browser to the utility process. |
117 | 142 |
118 // Tell the utility process to patch the given |input_file| using |patch_file| | 143 // Tell the utility process to patch the given |input_file| using |patch_file| |
119 // and place the output in |output_file|. The patch should use the bsdiff | 144 // and place the output in |output_file|. The patch should use the bsdiff |
120 // algorithm (Courgette's version). | 145 // algorithm (Courgette's version). |
121 IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_PatchFileBsdiff, | 146 IPC_MESSAGE_CONTROL3(ChromeUtilityMsg_PatchFileBsdiff, |
122 base::FilePath /* input_file */, | 147 base::FilePath /* input_file */, |
123 base::FilePath /* patch_file */, | 148 base::FilePath /* patch_file */, |
(...skipping 24 matching lines...) Expand all Loading... |
148 IPC::PlatformFileForTransit /* temp_file */) | 173 IPC::PlatformFileForTransit /* temp_file */) |
149 | 174 |
150 #if defined(OS_MACOSX) | 175 #if defined(OS_MACOSX) |
151 // Tells the utility process to analyze a DMG file for malicious download | 176 // Tells the utility process to analyze a DMG file for malicious download |
152 // protection. | 177 // protection. |
153 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_AnalyzeDmgFileForDownloadProtection, | 178 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_AnalyzeDmgFileForDownloadProtection, |
154 IPC::PlatformFileForTransit /* dmg_file */) | 179 IPC::PlatformFileForTransit /* dmg_file */) |
155 #endif // defined(OS_MACOSX) | 180 #endif // defined(OS_MACOSX) |
156 #endif // defined(FULL_SAFE_BROWSING) | 181 #endif // defined(FULL_SAFE_BROWSING) |
157 | 182 |
| 183 #if defined(OS_WIN) |
| 184 // Instructs the utility process to invoke GetOpenFileName. |owner| is the |
| 185 // parent of the modal dialog, |flags| are OFN_* flags. |filter| constrains the |
| 186 // user's file choices. |initial_directory| and |filename| select the directory |
| 187 // to be displayed and the file to be initially selected. |
| 188 // |
| 189 // Either ChromeUtilityHostMsg_GetOpenFileName_Failed or |
| 190 // ChromeUtilityHostMsg_GetOpenFileName_Result will be returned when the |
| 191 // operation completes whether due to error or user action. |
| 192 IPC_MESSAGE_CONTROL5(ChromeUtilityMsg_GetOpenFileName, |
| 193 HWND /* owner */, |
| 194 DWORD /* flags */, |
| 195 GetOpenFileNameFilter /* filter */, |
| 196 base::FilePath /* initial_directory */, |
| 197 base::FilePath /* filename */) |
| 198 IPC_MESSAGE_CONTROL1(ChromeUtilityMsg_GetSaveFileName, |
| 199 ChromeUtilityMsg_GetSaveFileName_Params /* params */) |
| 200 #endif // defined(OS_WIN) |
| 201 |
158 //------------------------------------------------------------------------------ | 202 //------------------------------------------------------------------------------ |
159 // Utility process host messages: | 203 // Utility process host messages: |
160 // These are messages from the utility process to the browser. | 204 // These are messages from the utility process to the browser. |
161 | 205 |
162 // Reply when the utility process has failed while unpacking and parsing a | 206 // Reply when the utility process has failed while unpacking and parsing a |
163 // web resource. |error_message| is a user-readable explanation of what | 207 // web resource. |error_message| is a user-readable explanation of what |
164 // went wrong. | 208 // went wrong. |
165 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackWebResource_Failed, | 209 IPC_MESSAGE_CONTROL1(ChromeUtilityHostMsg_UnpackWebResource_Failed, |
166 std::string /* error_message, if any */) | 210 std::string /* error_message, if any */) |
167 | 211 |
(...skipping 14 matching lines...) Expand all Loading... |
182 ChromeUtilityHostMsg_AnalyzeZipFileForDownloadProtection_Finished, | 226 ChromeUtilityHostMsg_AnalyzeZipFileForDownloadProtection_Finished, |
183 safe_browsing::zip_analyzer::Results) | 227 safe_browsing::zip_analyzer::Results) |
184 | 228 |
185 #if defined(OS_MACOSX) | 229 #if defined(OS_MACOSX) |
186 // Reply when a DMG file has been analyzed for malicious download protection. | 230 // Reply when a DMG file has been analyzed for malicious download protection. |
187 IPC_MESSAGE_CONTROL1( | 231 IPC_MESSAGE_CONTROL1( |
188 ChromeUtilityHostMsg_AnalyzeDmgFileForDownloadProtection_Finished, | 232 ChromeUtilityHostMsg_AnalyzeDmgFileForDownloadProtection_Finished, |
189 safe_browsing::zip_analyzer::Results) | 233 safe_browsing::zip_analyzer::Results) |
190 #endif // defined(OS_MACOSX) | 234 #endif // defined(OS_MACOSX) |
191 #endif // defined(FULL_SAFE_BROWSING) | 235 #endif // defined(FULL_SAFE_BROWSING) |
| 236 |
| 237 #if defined(OS_WIN) |
| 238 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_GetOpenFileName_Failed) |
| 239 IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GetOpenFileName_Result, |
| 240 base::FilePath /* directory */, |
| 241 std::vector<base::FilePath> /* filenames */) |
| 242 IPC_MESSAGE_CONTROL0(ChromeUtilityHostMsg_GetSaveFileName_Failed) |
| 243 IPC_MESSAGE_CONTROL2(ChromeUtilityHostMsg_GetSaveFileName_Result, |
| 244 base::FilePath /* path */, |
| 245 int /* one_based_filter_index */) |
| 246 #endif // defined(OS_WIN) |
OLD | NEW |