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

Unified Diff: chrome/browser/chromeos/app_mode/kiosk_app_data.cc

Issue 23717031: Additional error logs to track webstore response failures. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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
« no previous file with comments | « chrome/browser/chromeos/app_mode/kiosk_app_data.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/app_mode/kiosk_app_data.cc
diff --git a/chrome/browser/chromeos/app_mode/kiosk_app_data.cc b/chrome/browser/chromeos/app_mode/kiosk_app_data.cc
index 104a367a43fb59799d836abe64cc93bd4c9e7d2f..25f45dde000bcbbfc33e01b6b08b7834f5311b80 100644
--- a/chrome/browser/chromeos/app_mode/kiosk_app_data.cc
+++ b/chrome/browser/chromeos/app_mode/kiosk_app_data.cc
@@ -8,6 +8,7 @@
#include "base/bind.h"
#include "base/file_util.h"
+#include "base/json/json_writer.h"
#include "base/memory/ref_counted_memory.h"
#include "base/prefs/pref_service.h"
#include "base/threading/sequenced_worker_pool.h"
@@ -71,6 +72,12 @@ bool IsValidKioskAppManifest(const extensions::Manifest& manifest) {
return false;
}
+std::string ValueToString(const base::Value* value) {
+ std::string json;
+ base::JSONWriter::Write(value, &json);
+ return json;
+}
+
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -409,24 +416,21 @@ void KioskAppData::OnWebstoreResponseParseSuccess(
webstore_fetcher_.reset();
std::string manifest;
- if (!webstore_data->GetString(kManifestKey, &manifest)) {
- OnWebstoreResponseParseFailure(kInvalidWebstoreResponseError);
+ if (!CheckResponseKeyValue(data.get(), kManifestKey, &manifest))
return;
- }
- if (!webstore_data->GetString(kLocalizedNameKey, &name_)) {
- OnWebstoreResponseParseFailure(kInvalidWebstoreResponseError);
+ if (!CheckResponseKeyValue(data.get(), kLocalizedNameKey, &name_))
return;
- }
std::string icon_url_string;
- if (!webstore_data->GetString(kIconUrlKey, &icon_url_string)) {
- OnWebstoreResponseParseFailure(kInvalidWebstoreResponseError);
+ if (!CheckResponseKeyValue(data.get(), kIconUrlKey, &icon_url_string))
return;
- }
+
GURL icon_url = GURL(extension_urls::GetWebstoreLaunchURL()).Resolve(
icon_url_string);
if (!icon_url.is_valid()) {
+ LOG(ERROR) << "Webstore response error (icon url): "
+ << ValueToString(data.get());
OnWebstoreResponseParseFailure(kInvalidWebstoreResponseError);
return;
}
@@ -439,8 +443,22 @@ void KioskAppData::OnWebstoreResponseParseSuccess(
}
void KioskAppData::OnWebstoreResponseParseFailure(const std::string& error) {
+ LOG(ERROR) << "Webstore failed for kiosk app " << app_id_
+ << ", " << error;
webstore_fetcher_.reset();
SetStatus(STATUS_ERROR);
}
+bool KioskAppData::CheckResponseKeyValue(const base::DictionaryValue* response,
+ const char* key,
+ std::string* value) {
+ if (!response->GetString(key, value)) {
+ LOG(ERROR) << "Webstore response error (" << key
+ << "): " << ValueToString(response);
+ OnWebstoreResponseParseFailure(kInvalidWebstoreResponseError);
+ return false;
+ }
+ return true;
+}
+
} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/app_mode/kiosk_app_data.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698