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 |