| Index: chrome/browser/diagnostics/recon_diagnostics.cc
|
| diff --git a/chrome/browser/diagnostics/recon_diagnostics.cc b/chrome/browser/diagnostics/recon_diagnostics.cc
|
| index 059d6fc0009ccd47fc514b3c3fef9f85687a7f95..2761f7ce9fdef94fd6e824709e4cfa2ecb404c37 100644
|
| --- a/chrome/browser/diagnostics/recon_diagnostics.cc
|
| +++ b/chrome/browser/diagnostics/recon_diagnostics.cc
|
| @@ -325,15 +325,32 @@ class DiskSpaceTest : public DiagnosticsTest {
|
| // Checks that a given json file can be correctly parsed.
|
| class JSONTest : public DiagnosticsTest {
|
| public:
|
| + enum FileImportance {
|
| + NON_CRITICAL,
|
| + CRITICAL
|
| + };
|
| +
|
| JSONTest(const base::FilePath& path,
|
| const std::string& id,
|
| const std::string& name,
|
| - int64 max_file_size)
|
| - : DiagnosticsTest(id, name), path_(path), max_file_size_(max_file_size) {}
|
| + int64 max_file_size,
|
| + FileImportance importance)
|
| + : DiagnosticsTest(id, name),
|
| + path_(path),
|
| + max_file_size_(max_file_size),
|
| + importance_(importance) {}
|
|
|
| virtual bool ExecuteImpl(DiagnosticsModel::Observer* observer) OVERRIDE {
|
| if (!base::PathExists(path_)) {
|
| - RecordFailure(DIAG_RECON_FILE_NOT_FOUND, "File not found");
|
| + if (importance_ == CRITICAL) {
|
| + RecordOutcome(DIAG_RECON_FILE_NOT_FOUND,
|
| + "File not found",
|
| + DiagnosticsModel::TEST_FAIL_CONTINUE);
|
| + } else {
|
| + RecordOutcome(DIAG_RECON_FILE_NOT_FOUND_OK,
|
| + "File not found (but that is OK)",
|
| + DiagnosticsModel::TEST_OK);
|
| + }
|
| return true;
|
| }
|
| int64 file_size;
|
| @@ -374,6 +391,7 @@ class JSONTest : public DiagnosticsTest {
|
| private:
|
| base::FilePath path_;
|
| int64 max_file_size_;
|
| + FileImportance importance_;
|
| DISALLOW_COPY_AND_ASSIGN(JSONTest);
|
| };
|
|
|
| @@ -406,23 +424,32 @@ DiagnosticsTest* MakeInstallTypeTest() { return new InstallTypeTest(); }
|
| DiagnosticsTest* MakePreferencesTest() {
|
| base::FilePath path = DiagnosticsTest::GetUserDefaultProfileDir();
|
| path = path.Append(chrome::kPreferencesFilename);
|
| - return new JSONTest(
|
| - path, kJSONProfileTest, "Profile JSON", 100 * kOneKilobyte);
|
| + return new JSONTest(path,
|
| + kJSONProfileTest,
|
| + "Profile JSON",
|
| + 100 * kOneKilobyte,
|
| + JSONTest::CRITICAL);
|
| }
|
|
|
| DiagnosticsTest* MakeBookMarksTest() {
|
| base::FilePath path = DiagnosticsTest::GetUserDefaultProfileDir();
|
| path = path.Append(chrome::kBookmarksFileName);
|
| - return new JSONTest(
|
| - path, kJSONBookmarksTest, "Bookmarks JSON", 2 * kOneMegabyte);
|
| + return new JSONTest(path,
|
| + kJSONBookmarksTest,
|
| + "Bookmarks JSON",
|
| + 2 * kOneMegabyte,
|
| + JSONTest::NON_CRITICAL);
|
| }
|
|
|
| DiagnosticsTest* MakeLocalStateTest() {
|
| base::FilePath path;
|
| PathService::Get(chrome::DIR_USER_DATA, &path);
|
| path = path.Append(chrome::kLocalStateFilename);
|
| - return new JSONTest(
|
| - path, kJSONLocalStateTest, "Local State JSON", 50 * kOneKilobyte);
|
| + return new JSONTest(path,
|
| + kJSONLocalStateTest,
|
| + "Local State JSON",
|
| + 50 * kOneKilobyte,
|
| + JSONTest::CRITICAL);
|
| }
|
|
|
| } // namespace diagnostics
|
|
|