Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6214)

Unified Diff: content/browser/indexed_db/indexed_db_backing_store.h

Issue 197333009: Handling LevelDB errors encountered after open. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Commented that DestroyBackingStore leaves non LevelDB files alone Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/indexed_db/indexed_db_backing_store.h
diff --git a/content/browser/indexed_db/indexed_db_backing_store.h b/content/browser/indexed_db/indexed_db_backing_store.h
index 8e5f7ac0de74b28a9c8233e6f638297da3c46907..b59eeffc9063a24a55ab6a5d4fa06d97b3d4a32d 100644
--- a/content/browser/indexed_db/indexed_db_backing_store.h
+++ b/content/browser/indexed_db/indexed_db_backing_store.h
@@ -26,6 +26,7 @@
namespace content {
+class IndexedDBDatabaseError;
class LevelDBComparator;
class LevelDBDatabase;
struct IndexedDBValue;
@@ -70,6 +71,7 @@ class CONTENT_EXPORT IndexedDBBackingStore
const GURL& origin_url,
LevelDBFactory* factory);
+ virtual void Compact();
virtual std::vector<base::string16> GetDatabaseNames();
virtual leveldb::Status GetIDBDatabaseMetaData(
const base::string16& name,
@@ -86,6 +88,12 @@ class CONTENT_EXPORT IndexedDBBackingStore
int64 int_version);
virtual leveldb::Status DeleteDatabase(const base::string16& name);
+ // Assumes caller has already closed the backing store.
+ static leveldb::Status DestroyBackingStore(const base::FilePath& path_base,
+ const GURL& origin_url);
+ static bool RecordCorruptionInfo(const base::FilePath& path_base,
+ const GURL& origin_url,
+ const std::string& message);
leveldb::Status GetObjectStores(
int64 database_id,
IndexedDBDatabaseMetadata::ObjectStoreMap* map) WARN_UNUSED_RESULT;
@@ -317,6 +325,9 @@ class CONTENT_EXPORT IndexedDBBackingStore
const GURL& origin_url,
scoped_ptr<LevelDBDatabase> db,
scoped_ptr<LevelDBComparator> comparator);
+ static bool ReadCorruptionInfo(const base::FilePath& path_base,
+ const GURL& origin_url,
+ std::string& message);
leveldb::Status FindKeyInIndex(
IndexedDBBackingStore::Transaction* transaction,

Powered by Google App Engine
This is Rietveld 408576698