Index: chrome/browser/diagnostics/diagnostics_test.h |
diff --git a/chrome/browser/diagnostics/diagnostics_test.h b/chrome/browser/diagnostics/diagnostics_test.h |
index 20e44d9a8f1699d04c7cb61a95850daad87c602a..8d45a10e07c1e664753d6c1b7b9adadccb1f5a63 100644 |
--- a/chrome/browser/diagnostics/diagnostics_test.h |
+++ b/chrome/browser/diagnostics/diagnostics_test.h |
@@ -39,6 +39,11 @@ class DiagnosticsTest : public DiagnosticsModel::TestInfo { |
bool Execute(DiagnosticsModel::Observer* observer, DiagnosticsModel* model, |
size_t index); |
+ // Runs any recovery steps for the test. Returning false signals that no more |
+ // recovery should be attempted. |
+ bool Recover(DiagnosticsModel::Observer* observer, DiagnosticsModel* model, |
+ size_t index); |
+ |
void RecordStopFailure(int outcome_code, const std::string& additional_info) { |
RecordOutcome( |
outcome_code, additional_info, DiagnosticsModel::TEST_FAIL_STOP); |
@@ -71,6 +76,10 @@ class DiagnosticsTest : public DiagnosticsModel::TestInfo { |
// Derived classes override this method do perform the actual test. |
virtual bool ExecuteImpl(DiagnosticsModel::Observer* observer) = 0; |
+ // Derived classes may override this method to perform a recovery, if recovery |
+ // makes sense for the diagnostics test. |
+ virtual bool RecoveryImpl(DiagnosticsModel::Observer* observer); |
+ |
const std::string id_; |
const std::string title_; |
std::string additional_info_; |