summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryoz <yoz@chromium.org>2015-02-23 19:40:31 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-24 03:40:57 +0000
commit768503cd5548895a72fd8fe5579032403175b8c9 (patch)
tree03809374bbb6a533ed6c6e6671750e0c41f4f1ec
parent403e56062fff5bdbca47745201e075b2916152ba (diff)
downloadchromium_src-768503cd5548895a72fd8fe5579032403175b8c9.zip
chromium_src-768503cd5548895a72fd8fe5579032403175b8c9.tar.gz
chromium_src-768503cd5548895a72fd8fe5579032403175b8c9.tar.bz2
Get more useful LOG(FATAL) messages from ExtensionSyncData to help diagnose crashes.
BUG=359210 Review URL: https://codereview.chromium.org/947673002 Cr-Commit-Position: refs/heads/master@{#317751}
-rw-r--r--chrome/browser/extensions/extension_sync_data.cc25
1 files changed, 21 insertions, 4 deletions
diff --git a/chrome/browser/extensions/extension_sync_data.cc b/chrome/browser/extensions/extension_sync_data.cc
index 007887d..31df101 100644
--- a/chrome/browser/extensions/extension_sync_data.cc
+++ b/chrome/browser/extensions/extension_sync_data.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/extensions/extension_sync_data.h"
#include "base/logging.h"
+#include "base/strings/stringprintf.h"
#include "chrome/browser/extensions/app_sync_data.h"
#include "chrome/browser/extensions/extension_service.h"
#include "components/crx_file/id_util.h"
@@ -16,6 +17,18 @@
namespace extensions {
+namespace {
+
+std::string GetExtensionSpecificsLogMessage(
+ const sync_pb::ExtensionSpecifics& specifics) {
+ return base::StringPrintf("id: %s\nversion: %s\nupdate_url: %s",
+ specifics.id().c_str(),
+ specifics.version().c_str(),
+ specifics.update_url().c_str());
+}
+
+} // namespace
+
ExtensionSyncData::ExtensionSyncData()
: uninstalled_(false),
enabled_(false),
@@ -96,17 +109,21 @@ void ExtensionSyncData::PopulateExtensionSpecifics(
void ExtensionSyncData::PopulateFromExtensionSpecifics(
const sync_pb::ExtensionSpecifics& specifics) {
if (!crx_file::id_util::IdIsValid(specifics.id())) {
- LOG(FATAL) << "Attempt to sync bad ExtensionSpecifics.";
+ LOG(FATAL) << "Attempt to sync bad ExtensionSpecifics (bad ID):\n"
+ << GetExtensionSpecificsLogMessage(specifics);
}
Version specifics_version(specifics.version());
- if (!specifics_version.IsValid())
- LOG(FATAL) << "Attempt to sync bad ExtensionSpecifics.";
+ if (!specifics_version.IsValid()) {
+ LOG(FATAL) << "Attempt to sync bad ExtensionSpecifics (bad version):\n"
+ << GetExtensionSpecificsLogMessage(specifics);
+ }
// The update URL must be either empty or valid.
GURL specifics_update_url(specifics.update_url());
if (!specifics_update_url.is_empty() && !specifics_update_url.is_valid()) {
- LOG(FATAL) << "Attempt to sync bad ExtensionSpecifics.";
+ LOG(FATAL) << "Attempt to sync bad ExtensionSpecifics (bad update URL):\n"
+ << GetExtensionSpecificsLogMessage(specifics);
}
id_ = specifics.id();