| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/diagnostics/sqlite_diagnostics.h" | 5 #include "chrome/browser/diagnostics/sqlite_diagnostics.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/base_paths.h" | 9 #include "base/base_paths.h" |
| 10 #include "base/files/file_util.h" | 10 #include "base/files/file_util.h" |
| 11 #include "base/logging.h" | 11 #include "base/logging.h" |
| 12 #include "base/macros.h" | 12 #include "base/macros.h" |
| 13 #include "base/memory/ptr_util.h" |
| 13 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
| 14 #include "base/memory/singleton.h" | 15 #include "base/memory/singleton.h" |
| 15 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
| 16 #include "base/metrics/histogram_macros.h" | 17 #include "base/metrics/histogram_macros.h" |
| 17 #include "base/path_service.h" | 18 #include "base/path_service.h" |
| 18 #include "base/strings/string_number_conversions.h" | 19 #include "base/strings/string_number_conversions.h" |
| 19 #include "base/strings/stringprintf.h" | 20 #include "base/strings/stringprintf.h" |
| 20 #include "base/strings/utf_string_conversions.h" | 21 #include "base/strings/utf_string_conversions.h" |
| 21 #include "build/build_config.h" | 22 #include "build/build_config.h" |
| 22 #include "chrome/common/chrome_constants.h" | 23 #include "chrome/common/chrome_constants.h" |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 DISALLOW_COPY_AND_ASSIGN(ErrorRecorder); | 199 DISALLOW_COPY_AND_ASSIGN(ErrorRecorder); |
| 199 }; | 200 }; |
| 200 | 201 |
| 201 uint32_t flags_; | 202 uint32_t flags_; |
| 202 base::FilePath db_path_; | 203 base::FilePath db_path_; |
| 203 DISALLOW_COPY_AND_ASSIGN(SqliteIntegrityTest); | 204 DISALLOW_COPY_AND_ASSIGN(SqliteIntegrityTest); |
| 204 }; | 205 }; |
| 205 | 206 |
| 206 } // namespace | 207 } // namespace |
| 207 | 208 |
| 208 DiagnosticsTest* MakeSqliteCookiesDbTest() { | 209 std::unique_ptr<DiagnosticsTest> MakeSqliteCookiesDbTest() { |
| 209 return new SqliteIntegrityTest(SqliteIntegrityTest::CRITICAL, | 210 return base::MakeUnique<SqliteIntegrityTest>( |
| 210 DIAGNOSTICS_SQLITE_INTEGRITY_COOKIE_TEST, | 211 SqliteIntegrityTest::CRITICAL, DIAGNOSTICS_SQLITE_INTEGRITY_COOKIE_TEST, |
| 211 base::FilePath(chrome::kCookieFilename)); | 212 base::FilePath(chrome::kCookieFilename)); |
| 212 } | 213 } |
| 213 | 214 |
| 214 DiagnosticsTest* MakeSqliteWebDatabaseTrackerDbTest() { | 215 std::unique_ptr<DiagnosticsTest> MakeSqliteWebDatabaseTrackerDbTest() { |
| 215 base::FilePath databases_dir(storage::kDatabaseDirectoryName); | 216 base::FilePath databases_dir(storage::kDatabaseDirectoryName); |
| 216 base::FilePath tracker_db = | 217 base::FilePath tracker_db = |
| 217 databases_dir.Append(storage::kTrackerDatabaseFileName); | 218 databases_dir.Append(storage::kTrackerDatabaseFileName); |
| 218 return new SqliteIntegrityTest( | 219 return base::MakeUnique<SqliteIntegrityTest>( |
| 219 SqliteIntegrityTest::NO_FLAGS_SET, | 220 SqliteIntegrityTest::NO_FLAGS_SET, |
| 220 DIAGNOSTICS_SQLITE_INTEGRITY_DATABASE_TRACKER_TEST, | 221 DIAGNOSTICS_SQLITE_INTEGRITY_DATABASE_TRACKER_TEST, tracker_db); |
| 221 tracker_db); | |
| 222 } | 222 } |
| 223 | 223 |
| 224 DiagnosticsTest* MakeSqliteHistoryDbTest() { | 224 std::unique_ptr<DiagnosticsTest> MakeSqliteHistoryDbTest() { |
| 225 return new SqliteIntegrityTest(SqliteIntegrityTest::CRITICAL, | 225 return base::MakeUnique<SqliteIntegrityTest>( |
| 226 DIAGNOSTICS_SQLITE_INTEGRITY_HISTORY_TEST, | 226 SqliteIntegrityTest::CRITICAL, DIAGNOSTICS_SQLITE_INTEGRITY_HISTORY_TEST, |
| 227 base::FilePath(history::kHistoryFilename)); | 227 base::FilePath(history::kHistoryFilename)); |
| 228 } | 228 } |
| 229 | 229 |
| 230 #if defined(OS_CHROMEOS) | 230 #if defined(OS_CHROMEOS) |
| 231 DiagnosticsTest* MakeSqliteNssCertDbTest() { | 231 std::unique_ptr<DiagnosticsTest> MakeSqliteNssCertDbTest() { |
| 232 base::FilePath home_dir; | 232 base::FilePath home_dir; |
| 233 PathService::Get(base::DIR_HOME, &home_dir); | 233 PathService::Get(base::DIR_HOME, &home_dir); |
| 234 return new SqliteIntegrityTest(SqliteIntegrityTest::REMOVE_IF_CORRUPT, | 234 return base::MakeUnique<SqliteIntegrityTest>( |
| 235 DIAGNOSTICS_SQLITE_INTEGRITY_NSS_CERT_TEST, | 235 SqliteIntegrityTest::REMOVE_IF_CORRUPT, |
| 236 home_dir.Append(chromeos::kNssCertDbPath)); | 236 DIAGNOSTICS_SQLITE_INTEGRITY_NSS_CERT_TEST, |
| 237 home_dir.Append(chromeos::kNssCertDbPath)); |
| 237 } | 238 } |
| 238 | 239 |
| 239 DiagnosticsTest* MakeSqliteNssKeyDbTest() { | 240 std::unique_ptr<DiagnosticsTest> MakeSqliteNssKeyDbTest() { |
| 240 base::FilePath home_dir; | 241 base::FilePath home_dir; |
| 241 PathService::Get(base::DIR_HOME, &home_dir); | 242 PathService::Get(base::DIR_HOME, &home_dir); |
| 242 return new SqliteIntegrityTest(SqliteIntegrityTest::REMOVE_IF_CORRUPT, | 243 return base::MakeUnique<SqliteIntegrityTest>( |
| 243 DIAGNOSTICS_SQLITE_INTEGRITY_NSS_KEY_TEST, | 244 SqliteIntegrityTest::REMOVE_IF_CORRUPT, |
| 244 home_dir.Append(chromeos::kNssKeyDbPath)); | 245 DIAGNOSTICS_SQLITE_INTEGRITY_NSS_KEY_TEST, |
| 246 home_dir.Append(chromeos::kNssKeyDbPath)); |
| 245 } | 247 } |
| 246 #endif // defined(OS_CHROMEOS) | 248 #endif // defined(OS_CHROMEOS) |
| 247 | 249 |
| 248 DiagnosticsTest* MakeSqliteFaviconsDbTest() { | 250 std::unique_ptr<DiagnosticsTest> MakeSqliteFaviconsDbTest() { |
| 249 return new SqliteIntegrityTest(SqliteIntegrityTest::NO_FLAGS_SET, | 251 return base::MakeUnique<SqliteIntegrityTest>( |
| 250 DIAGNOSTICS_SQLITE_INTEGRITY_FAVICONS_TEST, | 252 SqliteIntegrityTest::NO_FLAGS_SET, |
| 251 base::FilePath(history::kFaviconsFilename)); | 253 DIAGNOSTICS_SQLITE_INTEGRITY_FAVICONS_TEST, |
| 254 base::FilePath(history::kFaviconsFilename)); |
| 252 } | 255 } |
| 253 | 256 |
| 254 DiagnosticsTest* MakeSqliteTopSitesDbTest() { | 257 std::unique_ptr<DiagnosticsTest> MakeSqliteTopSitesDbTest() { |
| 255 return new SqliteIntegrityTest(SqliteIntegrityTest::NO_FLAGS_SET, | 258 return base::MakeUnique<SqliteIntegrityTest>( |
| 256 DIAGNOSTICS_SQLITE_INTEGRITY_TOPSITES_TEST, | 259 SqliteIntegrityTest::NO_FLAGS_SET, |
| 257 base::FilePath(history::kTopSitesFilename)); | 260 DIAGNOSTICS_SQLITE_INTEGRITY_TOPSITES_TEST, |
| 261 base::FilePath(history::kTopSitesFilename)); |
| 258 } | 262 } |
| 259 | 263 |
| 260 DiagnosticsTest* MakeSqliteWebDataDbTest() { | 264 std::unique_ptr<DiagnosticsTest> MakeSqliteWebDataDbTest() { |
| 261 return new SqliteIntegrityTest(SqliteIntegrityTest::CRITICAL, | 265 return base::MakeUnique<SqliteIntegrityTest>( |
| 262 DIAGNOSTICS_SQLITE_INTEGRITY_WEB_DATA_TEST, | 266 SqliteIntegrityTest::CRITICAL, DIAGNOSTICS_SQLITE_INTEGRITY_WEB_DATA_TEST, |
| 263 base::FilePath(kWebDataFilename)); | 267 base::FilePath(kWebDataFilename)); |
| 264 } | 268 } |
| 265 | 269 |
| 266 } // namespace diagnostics | 270 } // namespace diagnostics |
| OLD | NEW |