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

Unified Diff: components/nacl/common/nacl_types.h

Issue 1085583005: Refactor params of NaClProcessMsg_Start. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 8 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
Index: components/nacl/common/nacl_types.h
diff --git a/components/nacl/common/nacl_types.h b/components/nacl/common/nacl_types.h
index 0afb822e1723af2904e80eface172cd93d42db3c..6107dcaed3450035da7f031d7612bc3721f0d398 100644
--- a/components/nacl/common/nacl_types.h
+++ b/components/nacl/common/nacl_types.h
@@ -12,7 +12,6 @@
#include "base/basictypes.h"
#include "base/memory/shared_memory.h"
#include "base/process/process_handle.h"
-#include "base/strings/string_split.h"
#include "build/build_config.h"
#include "ipc/ipc_channel.h"
#include "ipc/ipc_platform_file.h"
@@ -59,14 +58,26 @@ enum NaClAppProcessType {
kNumNaClProcessTypes
};
+// Represents a request to prefetch a file that's listed in the "files" section
+// of a NaCl manifest file.
+struct NaClResourcePrefetchRequest {
+ NaClResourcePrefetchRequest();
+ NaClResourcePrefetchRequest(const std::string& file_key,
+ const std::string& resource_url);
+ ~NaClResourcePrefetchRequest();
+
+ std::string file_key; // a key for open_resource.
+ std::string resource_url;
+};
+
// Represents a single prefetched file that's listed in the "files" section of
// a NaCl manifest file.
-struct NaClResourceFileInfo {
- NaClResourceFileInfo();
- NaClResourceFileInfo(IPC::PlatformFileForTransit file,
- const base::FilePath& file_path,
- const std::string& file_key);
- ~NaClResourceFileInfo();
+struct NaClResourcePrefetchResult {
+ NaClResourcePrefetchResult();
+ NaClResourcePrefetchResult(IPC::PlatformFileForTransit file,
+ const base::FilePath& file_path,
+ const std::string& file_key);
+ ~NaClResourcePrefetchResult();
IPC::PlatformFileForTransit file;
base::FilePath file_path_metadata; // a key for validation caching
@@ -82,9 +93,15 @@ struct NaClStartParams {
// Used only as a key for validation caching.
base::FilePath nexe_file_path_metadata;
- std::vector<NaClResourceFileInfo> prefetched_resource_files;
- std::vector<FileDescriptor> handles;
- FileDescriptor debug_stub_server_bound_socket;
+ std::vector<NaClResourcePrefetchResult> prefetched_resource_files;
+ IPC::PlatformFileForTransit imc_bootstrap_handle;
+ IPC::PlatformFileForTransit irt_handle;
+#if defined(OS_MACOSX)
+ IPC::PlatformFileForTransit mac_shm_fd;
+#endif
+#if defined(OS_POSIX)
+ IPC::PlatformFileForTransit debug_stub_server_bound_socket;
+#endif
bool validation_cache_enabled;
std::string validation_cache_key;
@@ -112,16 +129,17 @@ struct NaClStartParams {
// nacl_host_messages.h.
struct NaClLaunchParams {
NaClLaunchParams();
- NaClLaunchParams(const std::string& manifest_url,
- const IPC::PlatformFileForTransit& nexe_file,
- uint64_t nexe_token_lo,
- uint64_t nexe_token_hi,
- // A pair of a manifest key and its resource URL.
- const base::StringPairs& resource_files_to_prefetch,
- int render_view_id,
- uint32 permission_bits,
- bool uses_nonsfi_mode,
- NaClAppProcessType process_type);
+ NaClLaunchParams(
+ const std::string& manifest_url,
+ const IPC::PlatformFileForTransit& nexe_file,
+ uint64_t nexe_token_lo,
+ uint64_t nexe_token_hi,
+ const std::vector<
+ NaClResourcePrefetchRequest>& resource_prefetch_request_list,
+ int render_view_id,
+ uint32 permission_bits,
+ bool uses_nonsfi_mode,
+ NaClAppProcessType process_type);
~NaClLaunchParams();
std::string manifest_url;
@@ -131,7 +149,7 @@ struct NaClLaunchParams {
IPC::PlatformFileForTransit nexe_file;
uint64_t nexe_token_lo;
uint64_t nexe_token_hi;
- base::StringPairs resource_files_to_prefetch;
+ std::vector<NaClResourcePrefetchRequest> resource_prefetch_request_list;
int render_view_id;
uint32 permission_bits;

Powered by Google App Engine
This is Rietveld 408576698