Index: components/nacl/renderer/ppb_nacl_private_impl.cc |
diff --git a/components/nacl/renderer/ppb_nacl_private_impl.cc b/components/nacl/renderer/ppb_nacl_private_impl.cc |
index f3e8855989c90a91c1c693ad22d9238a6b7186b7..6bae6a7e159181abc944214fce27d86b89d5254c 100644 |
--- a/components/nacl/renderer/ppb_nacl_private_impl.cc |
+++ b/components/nacl/renderer/ppb_nacl_private_impl.cc |
@@ -806,14 +806,6 @@ PP_NaClReadyState GetNaClReadyState(PP_Instance instance) { |
return PP_NACL_READY_STATE_UNSENT; |
} |
-PP_Bool GetIsInstalled(PP_Instance instance) { |
- NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
- DCHECK(load_manager); |
- if (load_manager) |
- return PP_FromBool(load_manager->is_installed()); |
- return PP_FALSE; |
-} |
- |
int32_t GetExitStatus(PP_Instance instance) { |
NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
DCHECK(load_manager); |
@@ -859,7 +851,6 @@ bool CreateJsonManifest(PP_Instance instance, |
const std::string& manifest_data); |
void RequestNaClManifest(PP_Instance instance, |
- const char* url, |
PP_CompletionCallback callback) { |
NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
DCHECK(load_manager); |
@@ -871,7 +862,8 @@ void RequestNaClManifest(PP_Instance instance, |
return; |
} |
- if (!load_manager->RequestNaClManifest(url)) { |
+ std::string url = load_manager->GetManifestURLArgument(); |
+ if (url.empty() || !load_manager->RequestNaClManifest(url)) { |
ppapi::PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostTask( |
FROM_HERE, |
base::Bind(callback.func, callback.user_data, |
@@ -923,15 +915,6 @@ void ProcessNaClManifest(PP_Instance instance, const char* program_url) { |
load_manager->ProcessNaClManifest(program_url); |
} |
-PP_Var GetManifestURLArgument(PP_Instance instance) { |
- nacl::NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
- if (load_manager) { |
- return ppapi::StringVar::StringToPPVar( |
- load_manager->GetManifestURLArgument()); |
- } |
- return PP_MakeUndefined(); |
-} |
- |
PP_Bool DevInterfacesEnabled(PP_Instance instance) { |
nacl::NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
if (load_manager) |
@@ -1528,6 +1511,22 @@ void DownloadFile(PP_Instance instance, |
file_downloader->Load(url_request); |
} |
+void ReportSelLdrStatus(PP_Instance instance, |
+ int32_t load_status, |
+ int32_t max_status) { |
+ HistogramEnumerate("NaCl.LoadStatus.SelLdr", load_status, max_status); |
+ NexeLoadManager* load_manager = GetNexeLoadManager(instance); |
+ DCHECK(load_manager); |
+ if (!load_manager) |
+ return; |
+ |
+ // Gather data to see if being installed changes load outcomes. |
+ const char* name = load_manager->is_installed() ? |
+ "NaCl.LoadStatus.SelLdr.InstalledApp" : |
+ "NaCl.LoadStatus.SelLdr.NotInstalledApp"; |
+ HistogramEnumerate(name, load_status, max_status); |
+} |
+ |
const PPB_NaCl_Private nacl_interface = { |
&LaunchSelLdr, |
&StartPpapiProxy, |
@@ -1551,7 +1550,6 @@ const PPB_NaCl_Private nacl_interface = { |
&GetSandboxArch, |
&LogToConsole, |
&GetNaClReadyState, |
- &GetIsInstalled, |
&GetExitStatus, |
&SetExitStatus, |
&Vlog, |
@@ -1560,7 +1558,6 @@ const PPB_NaCl_Private nacl_interface = { |
&RequestNaClManifest, |
&GetManifestBaseURL, |
&ProcessNaClManifest, |
- &GetManifestURLArgument, |
&DevInterfacesEnabled, |
&ManifestGetProgramURL, |
&ManifestResolveKey, |
@@ -1568,7 +1565,8 @@ const PPB_NaCl_Private nacl_interface = { |
&GetCpuFeatureAttrs, |
&PostMessageToJavaScript, |
&DownloadNexe, |
- &DownloadFile |
+ &DownloadFile, |
+ &ReportSelLdrStatus |
}; |
} // namespace |