summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/diagnostics/diagnostics_model.cc16
-rw-r--r--chrome/browser/diagnostics/sqlite_diagnostics.cc96
-rw-r--r--chrome/browser/diagnostics/sqlite_diagnostics.h15
3 files changed, 4 insertions, 123 deletions
diff --git a/chrome/browser/diagnostics/diagnostics_model.cc b/chrome/browser/diagnostics/diagnostics_model.cc
index b7a1bc3..0fb53fc 100644
--- a/chrome/browser/diagnostics/diagnostics_model.cc
+++ b/chrome/browser/diagnostics/diagnostics_model.cc
@@ -14,7 +14,6 @@
#include "base/path_service.h"
#include "chrome/browser/diagnostics/diagnostics_test.h"
#include "chrome/browser/diagnostics/recon_diagnostics.h"
-#include "chrome/browser/diagnostics/sqlite_diagnostics.h"
#include "chrome/common/chrome_paths.h"
namespace {
@@ -87,11 +86,6 @@ class DiagnosticsModelWin : public DiagnosticsModelImpl {
tests_.push_back(MakeDictonaryDirTest());
tests_.push_back(MakeInspectorDirTest());
tests_.push_back(MakeDiskSpaceTest());
- tests_.push_back(MakeSqliteWebDbTest());
- tests_.push_back(MakeSqliteCookiesDbTest());
- tests_.push_back(MakeSqliteHistoryDbTest());
- tests_.push_back(MakeSqliteArchivedHistoryDbTest());
- tests_.push_back(MakeSqliteThumbnailsDbTest());
}
private:
@@ -108,11 +102,6 @@ class DiagnosticsModelMac : public DiagnosticsModelImpl {
tests_.push_back(MakeDictonaryDirTest());
tests_.push_back(MakeInspectorDirTest());
tests_.push_back(MakeDiskSpaceTest());
- tests_.push_back(MakeSqliteWebDbTest());
- tests_.push_back(MakeSqliteCookiesDbTest());
- tests_.push_back(MakeSqliteHistoryDbTest());
- tests_.push_back(MakeSqliteArchivedHistoryDbTest());
- tests_.push_back(MakeSqliteThumbnailsDbTest());
}
private:
@@ -129,11 +118,6 @@ class DiagnosticsModelPosix : public DiagnosticsModelImpl {
tests_.push_back(MakeDictonaryDirTest());
tests_.push_back(MakeInspectorDirTest());
tests_.push_back(MakeDiskSpaceTest());
- tests_.push_back(MakeSqliteWebDbTest());
- tests_.push_back(MakeSqliteCookiesDbTest());
- tests_.push_back(MakeSqliteHistoryDbTest());
- tests_.push_back(MakeSqliteArchivedHistoryDbTest());
- tests_.push_back(MakeSqliteThumbnailsDbTest());
}
private:
diff --git a/chrome/browser/diagnostics/sqlite_diagnostics.cc b/chrome/browser/diagnostics/sqlite_diagnostics.cc
index e0eeab3..fbefc33 100644
--- a/chrome/browser/diagnostics/sqlite_diagnostics.cc
+++ b/chrome/browser/diagnostics/sqlite_diagnostics.cc
@@ -5,16 +5,9 @@
#include "chrome/browser/diagnostics/sqlite_diagnostics.h"
#include "app/sql/connection.h"
-#include "app/sql/init_status.h"
-#include "app/sql/statement.h"
-#include "base/file_util.h"
#include "base/histogram.h"
#include "base/logging.h"
-#include "base/path_service.h"
#include "base/singleton.h"
-#include "base/string_util.h"
-#include "chrome/common/chrome_constants.h"
-#include "chrome/common/chrome_paths.h"
namespace {
@@ -54,74 +47,6 @@ class BasicSqliteErrrorHandler : public sql::ErrorDelegate {
}
};
-struct DbTestInfo {
- const char* test_name;
- const FilePath::CharType* db_name;
-};
-
-static const DbTestInfo kTestInfo[] = {
- {"Web Database", chrome::kWebDataFilename},
- {"Cookies Database", chrome::kCookieFilename},
- {"History Database", chrome::kHistoryFilename},
- {"Archived history Database", chrome::kArchivedHistoryFilename},
- {"Thumbnails Database", chrome::kThumbnailsFilename}
-};
-
-// Generic diagnostic test class for checking sqlite db integrity.
-class SqliteIntegrityTest : public DiagnosticTest {
- public:
- explicit SqliteIntegrityTest(int index)
- : DiagnosticTest(ASCIIToUTF16(kTestInfo[index].test_name)),
- index_(index) {
- }
-
- virtual int GetId() { return 0; }
-
- virtual bool ExecuteImpl(DiagnosticsModel::Observer* observer) {
- FilePath path;
- PathService::Get(chrome::DIR_USER_DATA, &path);
- path = path.Append(FilePath::FromWStringHack(chrome::kNotSignedInProfile));
- path = path.Append(kTestInfo[index_].db_name);
- if (!file_util::PathExists(path)) {
- RecordFailure(ASCIIToUTF16("File not found"));
- return true;
- }
-
- int errors = 0;
- { // This block scopes the lifetime of the db objects.
- sql::Connection db;
- db.set_exclusive_locking();
- if (!db.Open(path)) {
- RecordFailure(ASCIIToUTF16("Cannot open db. Possibly corrupted"));
- return true;
- }
- sql::Statement s(db.GetUniqueStatement("PRAGMA integrity_check;"));
- if (!s) {
- RecordFailure(ASCIIToUTF16("Statement failed"));
- return false;
- }
- while (s.Step()) {
- std::string result(s.ColumnString(0));
- if ("ok" != result)
- ++errors;
- }
- }
- // All done. Report to the user.
- if (errors != 0) {
- string16 str(ASCIIToUTF16("Database corruption detected :"));
- str += IntToString16(errors) + ASCIIToUTF16(" errors");
- RecordFailure(str);
- return true;
- }
- RecordSuccess(ASCIIToUTF16("no corruption detected"));
- return true;
- }
-
- private:
- int index_;
- DISALLOW_COPY_AND_ASSIGN(SqliteIntegrityTest);
-};
-
} // namespace
sql::ErrorDelegate* GetErrorHandlerForCookieDb() {
@@ -143,24 +68,3 @@ sql::ErrorDelegate* GetErrorHandlerForTextDb() {
sql::ErrorDelegate* GetErrorHandlerForWebDb() {
return new BasicSqliteErrrorHandler<4>();
}
-
-DiagnosticTest* MakeSqliteWebDbTest() {
- return new SqliteIntegrityTest(0);
-}
-
-DiagnosticTest* MakeSqliteCookiesDbTest() {
- return new SqliteIntegrityTest(1);
-}
-
-DiagnosticTest* MakeSqliteHistoryDbTest() {
- return new SqliteIntegrityTest(2);
-}
-
-DiagnosticTest* MakeSqliteArchivedHistoryDbTest() {
- return new SqliteIntegrityTest(3);
-}
-
-DiagnosticTest* MakeSqliteThumbnailsDbTest() {
- return new SqliteIntegrityTest(4);
-}
-
diff --git a/chrome/browser/diagnostics/sqlite_diagnostics.h b/chrome/browser/diagnostics/sqlite_diagnostics.h
index 1618a07..ee1a7f1 100644
--- a/chrome/browser/diagnostics/sqlite_diagnostics.h
+++ b/chrome/browser/diagnostics/sqlite_diagnostics.h
@@ -5,25 +5,18 @@
#ifndef CHROME_BROWSER_DIAGNOSTICS_SQLITE_DIAGNOSTICS_H_
#define CHROME_BROWSER_DIAGNOSTICS_SQLITE_DIAGNOSTICS_H_
-#include "chrome/browser/diagnostics/diagnostics_test.h"
-
namespace sql {
class ErrorDelegate;
}
-// The following five factories create the error handlers that we use when
-// issuing sqlite commands during normal browser operation.
sql::ErrorDelegate* GetErrorHandlerForCookieDb();
+
sql::ErrorDelegate* GetErrorHandlerForHistoryDb();
+
sql::ErrorDelegate* GetErrorHandlerForThumbnailDb();
+
sql::ErrorDelegate* GetErrorHandlerForTextDb();
-sql::ErrorDelegate* GetErrorHandlerForWebDb();
-// Factories for the db integrity tests we run in diagnostic mode.
-DiagnosticTest* MakeSqliteWebDbTest();
-DiagnosticTest* MakeSqliteCookiesDbTest();
-DiagnosticTest* MakeSqliteHistoryDbTest();
-DiagnosticTest* MakeSqliteArchivedHistoryDbTest();
-DiagnosticTest* MakeSqliteThumbnailsDbTest();
+sql::ErrorDelegate* GetErrorHandlerForWebDb();
#endif // CHROME_BROWSER_DIAGNOSTICS_SQLITE_DIAGNOSTICS_H_