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

Unified Diff: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc

Issue 11881038: Refine PNaCl pexe fetch UMA errors to know if the user aborted, etc. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rearrange Created 7 years, 11 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: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
diff --git a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
index a9987fc61641fda97ab3696cef6e94b5150738c7..901d1a5d5f292b56020e6b796351e05961dd4325 100644
--- a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
+++ b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
@@ -349,24 +349,27 @@ void PnaclCoordinator::TranslateFinished(int32_t pp_error) {
void PnaclCoordinator::CachedNexeOpenedForWrite(int32_t pp_error) {
if (pp_error != PP_OK) {
if (pp_error == PP_ERROR_NOACCESS) {
- ReportPpapiError(ERROR_PNACL_CACHE_FILEOPEN_NOACCESS,
- pp_error,
- "PNaCl translation cache failed to open file for write."
- " No access.");
+ ReportPpapiError(
+ ERROR_PNACL_CACHE_FILEOPEN_NOACCESS,
+ pp_error,
+ "PNaCl translation cache failed to open file for write "
+ "(no access).");
return;
}
if (pp_error == PP_ERROR_NOQUOTA) {
- ReportPpapiError(ERROR_PNACL_CACHE_FILEOPEN_NOQUOTA,
- pp_error,
- "PNaCl translation cache failed to open file for write."
- " No quota.");
+ ReportPpapiError(
+ ERROR_PNACL_CACHE_FILEOPEN_NOQUOTA,
+ pp_error,
+ "PNaCl translation cache failed to open file for write "
+ "(no quota).");
return;
}
if (pp_error == PP_ERROR_NOSPACE) {
- ReportPpapiError(ERROR_PNACL_CACHE_FILEOPEN_NOSPACE,
- pp_error,
- "PNaCl translation cache failed to open file for write."
- " No space.");
+ ReportPpapiError(
+ ERROR_PNACL_CACHE_FILEOPEN_NOSPACE,
+ pp_error,
+ "PNaCl translation cache failed to open file for write "
+ "(no space).");
return;
}
if (pp_error == PP_ERROR_NOTAFILE) {
@@ -474,13 +477,13 @@ void PnaclCoordinator::NexeWasCopiedToCache(int32_t pp_error) {
if (pp_error == PP_ERROR_NOQUOTA) {
ReportPpapiError(ERROR_PNACL_CACHE_FINALIZE_COPY_NOQUOTA,
pp_error,
- "Failed to copy translated nexe to cache. No quota.");
+ "Failed to copy translated nexe to cache (no quota).");
return;
}
if (pp_error == PP_ERROR_NOSPACE) {
ReportPpapiError(ERROR_PNACL_CACHE_FINALIZE_COPY_NOSPACE,
pp_error,
- "Failed to copy translated nexe to cache. No space.");
+ "Failed to copy translated nexe to cache (no space).");
return;
}
ReportPpapiError(ERROR_PNACL_CACHE_FINALIZE_COPY_OTHER,
@@ -501,7 +504,7 @@ void PnaclCoordinator::NexeFileWasRenamed(int32_t pp_error) {
if (pp_error == PP_ERROR_NOACCESS) {
ReportPpapiError(ERROR_PNACL_CACHE_FINALIZE_RENAME_NOACCESS,
pp_error,
- "Failed to finalize cached translation. No access.");
+ "Failed to finalize cached translation (no access).");
return;
} else if (pp_error != PP_ERROR_FILEEXISTS) {
ReportPpapiError(ERROR_PNACL_CACHE_FINALIZE_RENAME_OTHER,
@@ -540,13 +543,13 @@ void PnaclCoordinator::NexeReadDidOpen(int32_t pp_error) {
if (pp_error == PP_ERROR_FILENOTFOUND) {
ReportPpapiError(ERROR_PNACL_CACHE_FETCH_NOTFOUND,
pp_error,
- "Failed to open translated nexe. Not found.");
+ "Failed to open translated nexe (not found).");
return;
}
if (pp_error == PP_ERROR_NOACCESS) {
ReportPpapiError(ERROR_PNACL_CACHE_FETCH_NOACCESS,
pp_error,
- "Failed to open translated nexe. No access.");
+ "Failed to open translated nexe (no access).");
return;
}
ReportPpapiError(ERROR_PNACL_CACHE_FETCH_OTHER,
@@ -588,8 +591,8 @@ void PnaclCoordinator::ResourcesDidLoad(int32_t pp_error) {
ReportPpapiError(
ERROR_PNACL_CACHE_OPEN_INPROGRESS,
pp_error,
- "File system for PNaCl translation cache failed to open."
- " In progress.");
+ "File system for PNaCl translation cache failed to open "
+ "(in progress).");
return;
}
ReportPpapiError(
@@ -608,24 +611,27 @@ void PnaclCoordinator::FileSystemDidOpen(int32_t pp_error) {
NACL_PRId32")\n", pp_error));
if (pp_error != PP_OK) {
if (pp_error == PP_ERROR_NOACCESS) {
- ReportPpapiError(ERROR_PNACL_CACHE_OPEN_NOACCESS,
- pp_error,
- "File system for PNaCl translation cache failed to open."
- " No access.");
+ ReportPpapiError(
+ ERROR_PNACL_CACHE_OPEN_NOACCESS,
+ pp_error,
+ "File system for PNaCl translation cache failed to open "
+ "(no access).");
return;
}
if (pp_error == PP_ERROR_NOQUOTA) {
- ReportPpapiError(ERROR_PNACL_CACHE_OPEN_NOQUOTA,
- pp_error,
- "File system for PNaCl translation cache failed to open."
- " No quota.");
+ ReportPpapiError(
+ ERROR_PNACL_CACHE_OPEN_NOQUOTA,
+ pp_error,
+ "File system for PNaCl translation cache failed to open "
+ "(no quota).");
return;
}
if (pp_error == PP_ERROR_NOSPACE) {
- ReportPpapiError(ERROR_PNACL_CACHE_OPEN_NOSPACE,
- pp_error,
- "File system for PNaCl translation cache failed to open."
- " No space.");
+ ReportPpapiError(
+ ERROR_PNACL_CACHE_OPEN_NOSPACE,
+ pp_error,
+ "File system for PNaCl translation cache failed to open "
+ "(no space).");
return;
}
ReportPpapiError(ERROR_PNACL_CACHE_OPEN_OTHER,
@@ -648,8 +654,8 @@ void PnaclCoordinator::DirectoryWasCreated(int32_t pp_error) {
ReportPpapiError(
ERROR_PNACL_CACHE_DIRECTORY_CREATE,
pp_error,
- "PNaCl translation cache directory creation/check failed. "
- "No access.");
+ "PNaCl translation cache directory creation/check failed "
+ "(no access).");
return;
}
ReportPpapiError(
@@ -703,9 +709,8 @@ void PnaclCoordinator::CachedFileDidOpen(int32_t pp_error) {
callback_factory_.NewCallback(
&PnaclCoordinator::BitcodeStreamDidFinish);
- // TODO(dschuff): need to use url_util_->ResolveRelativeToURL?
if (!streaming_downloader_->OpenStream(pexe_url_, cb, this)) {
- ReportNonPpapiError(ERROR_PNACL_PEXE_FETCH,
+ ReportNonPpapiError(ERROR_PNACL_PEXE_FETCH_OTHER,
nacl::string("failed to open stream ") + pexe_url_);
}
}
@@ -717,15 +722,19 @@ void PnaclCoordinator::BitcodeStreamDidFinish(int32_t pp_error) {
// Defer reporting the error and cleanup until after the translation
// thread returns, because it may be accessing the coordinator's
// objects or writing to the files.
- // TODO(dschuff,jvoung): If this is a PP_ERROR_ABORTED, we probably
- // want the UMA stat to show that the user aborted the action
- // (vs a network error).
- // We also want to track the total number of bytes of the pexe
- // to know the typical application sizes.
translate_finish_error_ = pp_error;
- nacl::stringstream ss;
- ss << "PnaclCoordinator: pexe load failed (pp_error=" << pp_error << ").";
- error_info_.SetReport(ERROR_PNACL_PEXE_FETCH, ss.str());
+ if (pp_error == PP_ERROR_ABORTED) {
+ error_info_.SetReport(ERROR_PNACL_PEXE_FETCH_ABORTED,
+ "PnaclCoordinator: pexe load failed (aborted).");
+ }
+ if (pp_error == PP_ERROR_NOACCESS) {
+ error_info_.SetReport(ERROR_PNACL_PEXE_FETCH_NOACCESS,
+ "PnaclCoordinator: pexe load failed (no access).");
+ } else {
+ nacl::stringstream ss;
+ ss << "PnaclCoordinator: pexe load failed (pp_error=" << pp_error << ").";
+ error_info_.SetReport(ERROR_PNACL_PEXE_FETCH_OTHER, ss.str());
+ }
translate_thread_->AbortSubprocesses();
}
}

Powered by Google App Engine
This is Rietveld 408576698