Chromium Code Reviews| Index: components/nacl/loader/nacl_listener.cc |
| diff --git a/components/nacl/loader/nacl_listener.cc b/components/nacl/loader/nacl_listener.cc |
| index e6a38110754b061e887c17d7566df3b02245a87e..1bab036e4d0bb45ea8982c78203ad3713aaf3521 100644 |
| --- a/components/nacl/loader/nacl_listener.cc |
| +++ b/components/nacl/loader/nacl_listener.cc |
| @@ -275,6 +275,8 @@ void NaClListener::Listen() { |
| bool NaClListener::OnMessageReceived(const IPC::Message& msg) { |
| bool handled = true; |
| IPC_BEGIN_MESSAGE_MAP(NaClListener, msg) |
| + IPC_MESSAGE_HANDLER(NaClProcessMsg_SetPrefetchedResource, |
| + OnSetPrefetchedResource) |
| IPC_MESSAGE_HANDLER(NaClProcessMsg_Start, OnStart) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| @@ -307,6 +309,22 @@ bool NaClListener::OnOpenResource( |
| return false; |
| } |
| +void NaClListener::OnSetPrefetchedResource( |
|
Mark Seaborn
2015/05/08 00:35:36
It might be worth adding a sanity check to ensure
Yusuke Sato
2015/05/08 15:12:35
Done.
|
| + const std::vector< |
| + nacl::NaClResourcePrefetchResult>& prefetched_resource_files) { |
| + for (size_t i = 0; i < prefetched_resource_files.size(); ++i) { |
| + bool result = prefetched_resource_files_.insert(std::make_pair( |
| + prefetched_resource_files[i].file_key, |
| + std::make_pair( |
| + prefetched_resource_files[i].file, |
| + prefetched_resource_files[i].file_path_metadata))).second; |
| + if (!result) { |
| + LOG(FATAL) << "Duplicated open_resource key: " |
| + << prefetched_resource_files[i].file_key; |
| + } |
| + } |
| +} |
| + |
| void NaClListener::OnStart(const nacl::NaClStartParams& params) { |
| #if defined(OS_LINUX) || defined(OS_MACOSX) |
| int urandom_fd = dup(base::GetUrandomFD()); |
| @@ -335,18 +353,6 @@ void NaClListener::OnStart(const nacl::NaClStartParams& params) { |
| IPC::ChannelHandle ppapi_renderer_handle; |
| IPC::ChannelHandle manifest_service_handle; |
| - for (size_t i = 0; i < params.prefetched_resource_files.size(); ++i) { |
| - bool result = prefetched_resource_files_.insert(std::make_pair( |
| - params.prefetched_resource_files[i].file_key, |
| - std::make_pair( |
| - params.prefetched_resource_files[i].file, |
| - params.prefetched_resource_files[i].file_path_metadata))).second; |
| - if (!result) { |
| - LOG(FATAL) << "Duplicated open_resource key: " |
| - << params.prefetched_resource_files[i].file_key; |
| - } |
| - } |
| - |
| if (params.enable_ipc_proxy) { |
| browser_handle = IPC::Channel::GenerateVerifiedChannelID("nacl"); |
| ppapi_renderer_handle = IPC::Channel::GenerateVerifiedChannelID("nacl"); |