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

Unified Diff: components/nacl/browser/nacl_host_message_filter.cc

Issue 649603004: Non-SFI NaCl: Batch-open resource files (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: code review Created 6 years, 2 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/browser/nacl_host_message_filter.cc
diff --git a/components/nacl/browser/nacl_host_message_filter.cc b/components/nacl/browser/nacl_host_message_filter.cc
index e4737660ad3634a5b75480d48b640eea55089e7f..97746ac594d59c0d629145401879022445ae53a7 100644
--- a/components/nacl/browser/nacl_host_message_filter.cc
+++ b/components/nacl/browser/nacl_host_message_filter.cc
@@ -152,6 +152,7 @@ void NaClHostMessageFilter::LaunchNaClContinuation(
};
base::PlatformFile nexe_file;
+ scoped_ptr<base::File[]> resource_files;
#if defined(OS_WIN)
// Duplicate the nexe file handle from the renderer process into the browser
// process.
@@ -169,9 +170,17 @@ void NaClHostMessageFilter::LaunchNaClContinuation(
Send(reply_msg);
return;
}
+ // TODO(yusukes): Support pre-opening resource files.
+ CHECK(launch_params.resource_files.empty());
+ CHECK(launch_params.resource_keys.empty());
#elif defined(OS_POSIX)
nexe_file =
IPC::PlatformFileForTransitToPlatformFile(launch_params.nexe_file);
+ resource_files.reset(new base::File[launch_params.resource_files.size()]);
+ for (size_t i = 0; i < launch_params.resource_files.size(); ++i) {
+ resource_files[i] = base::File(IPC::PlatformFileForTransitToPlatformFile(
+ launch_params.resource_files[i]));
+ }
#else
#error Unsupported platform.
#endif
@@ -180,6 +189,9 @@ void NaClHostMessageFilter::LaunchNaClContinuation(
GURL(launch_params.manifest_url),
base::File(nexe_file),
nexe_token,
+ resource_files.Pass(),
+ launch_params.resource_file_tokens,
+ launch_params.resource_keys,
permissions,
launch_params.render_view_id,
launch_params.permission_bits,
@@ -284,11 +296,13 @@ void NaClHostMessageFilter::OnMissingArchError(int render_view_id) {
ShowMissingArchInfobar(render_process_id_, render_view_id);
}
-void NaClHostMessageFilter::OnOpenNaClExecutable(int render_view_id,
- const GURL& file_url,
- IPC::Message* reply_msg) {
+void NaClHostMessageFilter::OnOpenNaClExecutable(
+ int render_view_id,
+ const GURL& file_url,
+ const std::vector<GURL>& resource_urls,
+ IPC::Message* reply_msg) {
nacl_file_host::OpenNaClExecutable(this, render_view_id, file_url,
- reply_msg);
+ resource_urls, reply_msg);
}
void NaClHostMessageFilter::OnNaClDebugEnabledForURL(const GURL& nmf_url,

Powered by Google App Engine
This is Rietveld 408576698