| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #include "components/nacl/renderer/ppb_nacl_private_impl.h" | 5 #include "components/nacl/renderer/ppb_nacl_private_impl.h" |
| 6 | 6 |
| 7 #include <numeric> | 7 #include <numeric> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 // Don't save instance_info if channel handle is invalid. | 404 // Don't save instance_info if channel handle is invalid. |
| 405 if (IsValidChannelHandle(instance_info.channel_handle)) | 405 if (IsValidChannelHandle(instance_info.channel_handle)) |
| 406 g_instance_info.Get()[instance] = instance_info; | 406 g_instance_info.Get()[instance] = instance_info; |
| 407 | 407 |
| 408 *(static_cast<NaClHandle*>(imc_handle)) = ToNativeHandle(result_socket); | 408 *(static_cast<NaClHandle*>(imc_handle)) = ToNativeHandle(result_socket); |
| 409 | 409 |
| 410 NexeLoadManager* load_manager = GetNexeLoadManager(instance); | 410 NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
| 411 DCHECK(load_manager); | 411 DCHECK(load_manager); |
| 412 if (!load_manager) { | 412 if (!load_manager) { |
| 413 PostPPCompletionCallback(callback, PP_ERROR_FAILED); | 413 PostPPCompletionCallback(callback, PP_ERROR_FAILED); |
| 414 base::SharedMemory::CloseHandle(launch_result.crash_info_shmem_handle); |
| 414 return; | 415 return; |
| 415 } | 416 } |
| 416 | 417 |
| 418 // Store the crash information shared memory handle. |
| 419 load_manager->set_crash_info_shmem_handle( |
| 420 launch_result.crash_info_shmem_handle); |
| 421 |
| 417 // Create the trusted plugin channel. | 422 // Create the trusted plugin channel. |
| 418 if (IsValidChannelHandle(launch_result.trusted_ipc_channel_handle)) { | 423 if (IsValidChannelHandle(launch_result.trusted_ipc_channel_handle)) { |
| 419 scoped_ptr<TrustedPluginChannel> trusted_plugin_channel( | 424 scoped_ptr<TrustedPluginChannel> trusted_plugin_channel( |
| 420 new TrustedPluginChannel( | 425 new TrustedPluginChannel( |
| 421 launch_result.trusted_ipc_channel_handle)); | 426 launch_result.trusted_ipc_channel_handle)); |
| 422 load_manager->set_trusted_plugin_channel(trusted_plugin_channel.Pass()); | 427 load_manager->set_trusted_plugin_channel(trusted_plugin_channel.Pass()); |
| 423 } else { | 428 } else { |
| 424 PostPPCompletionCallback(callback, PP_ERROR_FAILED); | 429 PostPPCompletionCallback(callback, PP_ERROR_FAILED); |
| 425 return; | 430 return; |
| 426 } | 431 } |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 748 if (load_manager) | 753 if (load_manager) |
| 749 load_manager->ReportLoadError(error, error_message); | 754 load_manager->ReportLoadError(error, error_message); |
| 750 } | 755 } |
| 751 | 756 |
| 752 void ReportLoadAbort(PP_Instance instance) { | 757 void ReportLoadAbort(PP_Instance instance) { |
| 753 NexeLoadManager* load_manager = GetNexeLoadManager(instance); | 758 NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
| 754 if (load_manager) | 759 if (load_manager) |
| 755 load_manager->ReportLoadAbort(); | 760 load_manager->ReportLoadAbort(); |
| 756 } | 761 } |
| 757 | 762 |
| 758 void NexeDidCrash(PP_Instance instance, const char* crash_log) { | 763 void NexeDidCrash(PP_Instance instance) { |
| 759 NexeLoadManager* load_manager = GetNexeLoadManager(instance); | 764 NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
| 760 if (load_manager) | 765 if (load_manager) |
| 761 load_manager->NexeDidCrash(crash_log); | 766 load_manager->NexeDidCrash(); |
| 762 } | 767 } |
| 763 | 768 |
| 764 void InstanceCreated(PP_Instance instance) { | 769 void InstanceCreated(PP_Instance instance) { |
| 765 scoped_ptr<NexeLoadManager> new_load_manager(new NexeLoadManager(instance)); | 770 scoped_ptr<NexeLoadManager> new_load_manager(new NexeLoadManager(instance)); |
| 766 NexeLoadManagerMap& map = g_load_manager_map.Get(); | 771 NexeLoadManagerMap& map = g_load_manager_map.Get(); |
| 767 DLOG_IF(ERROR, map.count(instance) != 0) << "Instance count should be 0"; | 772 DLOG_IF(ERROR, map.count(instance) != 0) << "Instance count should be 0"; |
| 768 map.add(instance, new_load_manager.Pass()); | 773 map.add(instance, new_load_manager.Pass()); |
| 769 } | 774 } |
| 770 | 775 |
| 771 void InstanceDestroyed(PP_Instance instance) { | 776 void InstanceDestroyed(PP_Instance instance) { |
| (...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1745 &StreamPexe | 1750 &StreamPexe |
| 1746 }; | 1751 }; |
| 1747 | 1752 |
| 1748 } // namespace | 1753 } // namespace |
| 1749 | 1754 |
| 1750 const PPB_NaCl_Private* GetNaClPrivateInterface() { | 1755 const PPB_NaCl_Private* GetNaClPrivateInterface() { |
| 1751 return &nacl_interface; | 1756 return &nacl_interface; |
| 1752 } | 1757 } |
| 1753 | 1758 |
| 1754 } // namespace nacl | 1759 } // namespace nacl |
| OLD | NEW |