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

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

Issue 1085583005: Refactor params of NaClProcessMsg_Start. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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/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 9da3fe51726b73a3082b190a47e3cf2ddb617f2f..4ae4623414b13ad6b088e1ee0f8761139d7a6930 100644
--- a/components/nacl/browser/nacl_host_message_filter.cc
+++ b/components/nacl/browser/nacl_host_message_filter.cc
@@ -137,7 +137,7 @@ void NaClHostMessageFilter::OnLaunchNaCl(
LaunchNaClContinuationOnIOThread(
launch_params,
reply_msg,
- std::vector<nacl::NaClResourceFileInfo>(),
+ std::vector<NaClResourcePrefetchResult>(),
ppapi::PpapiPermissions(perms));
return;
}
@@ -168,11 +168,13 @@ void NaClHostMessageFilter::LaunchNaClContinuation(
}
nacl::NaClLaunchParams safe_launch_params(launch_params);
- safe_launch_params.resource_files_to_prefetch.clear();
+ safe_launch_params.resource_prefetch_request_list.clear();
+ const std::vector<NaClResourcePrefetchRequest>& original_request_list =
+ launch_params.resource_prefetch_request_list;
content::SiteInstance* site_instance = rvh->GetSiteInstance();
- for (size_t i = 0; i < launch_params.resource_files_to_prefetch.size(); ++i) {
- GURL gurl(launch_params.resource_files_to_prefetch[i].second);
+ for (size_t i = 0; i < original_request_list.size(); ++i) {
+ GURL gurl(original_request_list[i].resource_url);
// Important security check: Do the same check as OpenNaClExecutable()
// in nacl_file_host.cc.
if (!content::SiteInstance::IsSameWebSite(
@@ -181,8 +183,8 @@ void NaClHostMessageFilter::LaunchNaClContinuation(
gurl)) {
continue;
}
- safe_launch_params.resource_files_to_prefetch.push_back(
- launch_params.resource_files_to_prefetch[i]);
+ safe_launch_params.resource_prefetch_request_list.push_back(
+ original_request_list[i]);
}
// Process a list of resource file URLs in
@@ -200,30 +202,30 @@ void NaClHostMessageFilter::BatchOpenResourceFiles(
const nacl::NaClLaunchParams& launch_params,
IPC::Message* reply_msg,
ppapi::PpapiPermissions permissions) {
- std::vector<nacl::NaClResourceFileInfo> prefetched_resource_files_info;
- for (size_t i = 0; i < launch_params.resource_files_to_prefetch.size(); ++i) {
- nacl::NaClResourceFileInfo prefetched_resource_file;
- GURL gurl(launch_params.resource_files_to_prefetch[i].second);
+ std::vector<NaClResourcePrefetchResult> prefetched_resource_files;
+ const std::vector<NaClResourcePrefetchRequest>& request_list =
+ launch_params.resource_prefetch_request_list;
+ for (size_t i = 0; request_list.size(); ++i) {
+ GURL gurl(request_list[i].resource_url);
+ base::FilePath file_path_metadata;
if (!nacl::NaClBrowser::GetDelegate()->MapUrlToLocalFilePath(
gurl,
true, // use_blocking_api
profile_directory_,
- &prefetched_resource_file.file_path_metadata)) {
+ &file_path_metadata)) {
continue;
}
base::File file = nacl::OpenNaClReadExecImpl(
- prefetched_resource_file.file_path_metadata,
- true /* is_executable */);
+ file_path_metadata, true /* is_executable */);
if (!file.IsValid())
continue;
- prefetched_resource_file.file =
- IPC::TakeFileHandleForProcess(file.Pass(), PeerHandle());
- prefetched_resource_file.file_key =
- launch_params.resource_files_to_prefetch[i].first;
+ prefetched_resource_files.push_back(NaClResourcePrefetchResult(
+ IPC::TakeFileHandleForProcess(file.Pass(), PeerHandle()),
+ file_path_metadata,
+ request_list[i].file_key));
- prefetched_resource_files_info.push_back(prefetched_resource_file);
- if (prefetched_resource_files_info.size() >= kMaxPreOpenResourceFiles)
+ if (prefetched_resource_files.size() >= kMaxPreOpenResourceFiles)
break;
}
@@ -234,15 +236,14 @@ void NaClHostMessageFilter::BatchOpenResourceFiles(
this,
launch_params,
reply_msg,
- prefetched_resource_files_info,
+ prefetched_resource_files,
permissions));
}
void NaClHostMessageFilter::LaunchNaClContinuationOnIOThread(
const nacl::NaClLaunchParams& launch_params,
IPC::Message* reply_msg,
- const std::vector<
- nacl::NaClResourceFileInfo>& prefetched_resource_files_info,
+ const std::vector<NaClResourcePrefetchResult>& prefetched_resource_files,
ppapi::PpapiPermissions permissions) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
@@ -280,7 +281,7 @@ void NaClHostMessageFilter::LaunchNaClContinuationOnIOThread(
GURL(launch_params.manifest_url),
base::File(nexe_file),
nexe_token,
- prefetched_resource_files_info,
+ prefetched_resource_files,
permissions,
launch_params.render_view_id,
launch_params.permission_bits,

Powered by Google App Engine
This is Rietveld 408576698