diff options
author | yoz <yoz@chromium.org> | 2015-02-23 19:40:31 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-24 03:40:57 +0000 |
commit | 768503cd5548895a72fd8fe5579032403175b8c9 (patch) | |
tree | 03809374bbb6a533ed6c6e6671750e0c41f4f1ec | |
parent | 403e56062fff5bdbca47745201e075b2916152ba (diff) | |
download | chromium_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.cc | 25 |
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(); |