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 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
493 } | 493 } |
494 | 494 |
495 *(static_cast<NaClHandle*>(imc_handle)) = ToNativeHandle(result_socket); | 495 *(static_cast<NaClHandle*>(imc_handle)) = ToNativeHandle(result_socket); |
496 | 496 |
497 // Store the crash information shared memory handle. | 497 // Store the crash information shared memory handle. |
498 load_manager->set_crash_info_shmem_handle( | 498 load_manager->set_crash_info_shmem_handle( |
499 launch_result.crash_info_shmem_handle); | 499 launch_result.crash_info_shmem_handle); |
500 | 500 |
501 // Create the trusted plugin channel. | 501 // Create the trusted plugin channel. |
502 if (IsValidChannelHandle(launch_result.trusted_ipc_channel_handle)) { | 502 if (IsValidChannelHandle(launch_result.trusted_ipc_channel_handle)) { |
503 bool report_exit_status = PP_ToBool(main_service_runtime); | 503 bool is_helper_nexe = !PP_ToBool(main_service_runtime); |
504 scoped_ptr<TrustedPluginChannel> trusted_plugin_channel( | 504 scoped_ptr<TrustedPluginChannel> trusted_plugin_channel( |
505 new TrustedPluginChannel( | 505 new TrustedPluginChannel( |
506 load_manager, | 506 load_manager, |
507 launch_result.trusted_ipc_channel_handle, | 507 launch_result.trusted_ipc_channel_handle, |
508 content::RenderThread::Get()->GetShutdownEvent(), | 508 content::RenderThread::Get()->GetShutdownEvent(), |
509 report_exit_status)); | 509 is_helper_nexe)); |
510 load_manager->set_trusted_plugin_channel(trusted_plugin_channel.Pass()); | 510 load_manager->set_trusted_plugin_channel(trusted_plugin_channel.Pass()); |
511 } else { | 511 } else { |
512 PostPPCompletionCallback(callback, PP_ERROR_FAILED); | 512 PostPPCompletionCallback(callback, PP_ERROR_FAILED); |
513 return; | 513 return; |
514 } | 514 } |
515 | 515 |
516 // Create the manifest service handle as well. | 516 // Create the manifest service handle as well. |
517 if (IsValidChannelHandle(launch_result.manifest_service_ipc_channel_handle)) { | 517 if (IsValidChannelHandle(launch_result.manifest_service_ipc_channel_handle)) { |
518 scoped_ptr<ManifestServiceChannel> manifest_service_channel( | 518 scoped_ptr<ManifestServiceChannel> manifest_service_channel( |
519 new ManifestServiceChannel( | 519 new ManifestServiceChannel( |
(...skipping 957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1477 // FileDownloader deletes itself after invoking DownloadNexeCompletion. | 1477 // FileDownloader deletes itself after invoking DownloadNexeCompletion. |
1478 FileDownloader* file_downloader = new FileDownloader( | 1478 FileDownloader* file_downloader = new FileDownloader( |
1479 url_loader.Pass(), | 1479 url_loader.Pass(), |
1480 target_file.Pass(), | 1480 target_file.Pass(), |
1481 base::Bind(&DownloadFileCompletion, callback), | 1481 base::Bind(&DownloadFileCompletion, callback), |
1482 base::Bind(&ProgressEventRateLimiter::ReportProgress, | 1482 base::Bind(&ProgressEventRateLimiter::ReportProgress, |
1483 base::Owned(tracker), std::string(url))); | 1483 base::Owned(tracker), std::string(url))); |
1484 file_downloader->Load(url_request); | 1484 file_downloader->Load(url_request); |
1485 } | 1485 } |
1486 | 1486 |
1487 void ReportSelLdrStatus(PP_Instance instance, | |
1488 int32_t load_status, | |
1489 int32_t max_status) { | |
1490 HistogramEnumerate("NaCl.LoadStatus.SelLdr", load_status, max_status); | |
1491 NexeLoadManager* load_manager = GetNexeLoadManager(instance); | |
1492 DCHECK(load_manager); | |
1493 if (!load_manager) | |
1494 return; | |
1495 | |
1496 // Gather data to see if being installed changes load outcomes. | |
Mark Seaborn
2015/04/21 23:29:56
Keep this comment in your replacement in trusted_p
jvoung (off chromium)
2015/04/21 23:38:49
Done.
| |
1497 const char* name = load_manager->is_installed() ? | |
1498 "NaCl.LoadStatus.SelLdr.InstalledApp" : | |
1499 "NaCl.LoadStatus.SelLdr.NotInstalledApp"; | |
1500 HistogramEnumerate(name, load_status, max_status); | |
1501 } | |
1502 | |
1503 void LogTranslateTime(const char* histogram_name, | 1487 void LogTranslateTime(const char* histogram_name, |
1504 int64_t time_in_us) { | 1488 int64_t time_in_us) { |
1505 ppapi::PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostTask( | 1489 ppapi::PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostTask( |
1506 FROM_HERE, | 1490 FROM_HERE, |
1507 base::Bind(&HistogramTimeTranslation, | 1491 base::Bind(&HistogramTimeTranslation, |
1508 std::string(histogram_name), | 1492 std::string(histogram_name), |
1509 time_in_us / 1000)); | 1493 time_in_us / 1000)); |
1510 } | 1494 } |
1511 | 1495 |
1512 void LogBytesCompiledVsDowloaded(PP_Bool use_subzero, | 1496 void LogBytesCompiledVsDowloaded(PP_Bool use_subzero, |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1710 &GetSandboxArch, | 1694 &GetSandboxArch, |
1711 &Vlog, | 1695 &Vlog, |
1712 &InitializePlugin, | 1696 &InitializePlugin, |
1713 &RequestNaClManifest, | 1697 &RequestNaClManifest, |
1714 &GetManifestBaseURL, | 1698 &GetManifestBaseURL, |
1715 &ProcessNaClManifest, | 1699 &ProcessNaClManifest, |
1716 &ManifestGetProgramURL, | 1700 &ManifestGetProgramURL, |
1717 &GetPNaClResourceInfo, | 1701 &GetPNaClResourceInfo, |
1718 &GetCpuFeatureAttrs, | 1702 &GetCpuFeatureAttrs, |
1719 &DownloadNexe, | 1703 &DownloadNexe, |
1720 &ReportSelLdrStatus, | |
1721 &LogTranslateTime, | 1704 &LogTranslateTime, |
1722 &LogBytesCompiledVsDowloaded, | 1705 &LogBytesCompiledVsDowloaded, |
1723 &SetPNaClStartTime, | 1706 &SetPNaClStartTime, |
1724 &StreamPexe | 1707 &StreamPexe |
1725 }; | 1708 }; |
1726 | 1709 |
1727 } // namespace | 1710 } // namespace |
1728 | 1711 |
1729 const PPB_NaCl_Private* GetNaClPrivateInterface() { | 1712 const PPB_NaCl_Private* GetNaClPrivateInterface() { |
1730 return &nacl_interface; | 1713 return &nacl_interface; |
1731 } | 1714 } |
1732 | 1715 |
1733 } // namespace nacl | 1716 } // namespace nacl |
OLD | NEW |