summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/resources/sync_internals/about.html16
-rw-r--r--chrome/browser/sync/sync_ui_util.cc34
2 files changed, 31 insertions, 19 deletions
diff --git a/chrome/browser/resources/sync_internals/about.html b/chrome/browser/resources/sync_internals/about.html
index bf4bda5..e6ba344 100644
--- a/chrome/browser/resources/sync_internals/about.html
+++ b/chrome/browser/resources/sync_internals/about.html
@@ -91,12 +91,14 @@ table#aboutDetails tr[highlighted]:nth-child(odd) {
</div>
<div class="column">
- <h2>Actionable Error</h2>
- <table id="actionableError">
- <tr jsselect="actionable_error">
- <td jscontent="stat_name"/>
- <td jscontent="stat_value"/>
- </tr>
- </table>
+ <p jsdisplay="actionable_error_detected">
+ <h2 jsdisplay="actionable_error_detected">Actionable Error</h2>
+ <table id="actionableError">
+ <tr jsselect="actionable_error">
+ <td jscontent="stat_name"/>
+ <td jscontent="stat_value"/>
+ </tr>
+ </table>
+ </p>
</div>
</div>
diff --git a/chrome/browser/sync/sync_ui_util.cc b/chrome/browser/sync/sync_ui_util.cc
index 777ccab..3024a4c 100644
--- a/chrome/browser/sync/sync_ui_util.cc
+++ b/chrome/browser/sync/sync_ui_util.cc
@@ -647,18 +647,28 @@ void ConstructAboutInformation(ProfileSyncService* service,
}
// Now set the actionable errors.
- ListValue* actionable_error = new ListValue();
- strings->Set("actionable_error", actionable_error);
- sync_ui_util::AddStringSyncDetails(actionable_error, "Error Type",
- browser_sync::GetSyncErrorTypeString(
- full_status.sync_protocol_error.error_type));
- sync_ui_util::AddStringSyncDetails(actionable_error, "Action",
- browser_sync::GetClientActionString(
- full_status.sync_protocol_error.action));
- sync_ui_util::AddStringSyncDetails(actionable_error, "url",
- full_status.sync_protocol_error.url);
- sync_ui_util::AddStringSyncDetails(actionable_error, "Error Description",
- full_status.sync_protocol_error.error_description);
+ if ((full_status.sync_protocol_error.error_type !=
+ browser_sync::UNKNOWN_ERROR) &&
+ (full_status.sync_protocol_error.error_type !=
+ browser_sync::SYNC_SUCCESS)) {
+ strings->Set("actionable_error_detected",
+ base::Value::CreateBooleanValue(true));
+ ListValue* actionable_error = new ListValue();
+ strings->Set("actionable_error", actionable_error);
+ sync_ui_util::AddStringSyncDetails(actionable_error, "Error Type",
+ browser_sync::GetSyncErrorTypeString(
+ full_status.sync_protocol_error.error_type));
+ sync_ui_util::AddStringSyncDetails(actionable_error, "Action",
+ browser_sync::GetClientActionString(
+ full_status.sync_protocol_error.action));
+ sync_ui_util::AddStringSyncDetails(actionable_error, "url",
+ full_status.sync_protocol_error.url);
+ sync_ui_util::AddStringSyncDetails(actionable_error, "Error Description",
+ full_status.sync_protocol_error.error_description);
+ } else {
+ strings->Set("actionable_error_detected",
+ base::Value::CreateBooleanValue(false));
+ }
const FailedDatatypesHandler& failed_datatypes_handler =
service->failed_datatypes_handler();