Index: webkit/browser/fileapi/sandbox_origin_database.h |
diff --git a/webkit/browser/fileapi/sandbox_origin_database.h b/webkit/browser/fileapi/sandbox_origin_database.h |
index f804d2942027543b34ba17ebe7af15c4b786f355..fa666131dc9b8275747e269849591d552f1075cb 100644 |
--- a/webkit/browser/fileapi/sandbox_origin_database.h |
+++ b/webkit/browser/fileapi/sandbox_origin_database.h |
@@ -5,14 +5,9 @@ |
#ifndef WEBKIT_BROWSER_FILEAPI_SANDBOX_ORIGIN_DATABASE_H_ |
#define WEBKIT_BROWSER_FILEAPI_SANDBOX_ORIGIN_DATABASE_H_ |
-#include <string> |
-#include <utility> |
-#include <vector> |
- |
-#include "base/files/file_path.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/time.h" |
-#include "webkit/storage/webkit_storage_export.h" |
+#include "webkit/browser/fileapi/sandbox_origin_database_interface.h" |
namespace leveldb { |
class DB; |
@@ -27,35 +22,24 @@ namespace fileapi { |
// All methods of this class other than the constructor may be used only from |
// the browser's FILE thread. The constructor may be used on any thread. |
-class WEBKIT_STORAGE_EXPORT_PRIVATE SandboxOriginDatabase { |
+class WEBKIT_STORAGE_EXPORT_PRIVATE SandboxOriginDatabase |
+ : public SandboxOriginDatabaseInterface { |
public: |
- struct WEBKIT_STORAGE_EXPORT_PRIVATE OriginRecord { |
- std::string origin; |
- base::FilePath path; |
- |
- OriginRecord(); |
- OriginRecord(const std::string& origin, const base::FilePath& path); |
- ~OriginRecord(); |
- }; |
- |
// Only one instance of SandboxOriginDatabase should exist for a given path |
// at a given time. |
explicit SandboxOriginDatabase(const base::FilePath& file_system_directory); |
- ~SandboxOriginDatabase(); |
- |
- bool HasOriginPath(const std::string& origin); |
+ virtual ~SandboxOriginDatabase(); |
- // This will produce a unique path and add it to its database, if it's not |
- // already present. |
- bool GetPathForOrigin(const std::string& origin, base::FilePath* directory); |
+ // SandboxOriginDatabaseInterface overrides. |
+ virtual bool HasOriginPath(const std::string& origin) OVERRIDE; |
+ virtual bool GetPathForOrigin(const std::string& origin, |
+ base::FilePath* directory) OVERRIDE; |
+ virtual bool RemovePathForOrigin(const std::string& origin) OVERRIDE; |
+ virtual bool ListAllOrigins(std::vector<OriginRecord>* origins) OVERRIDE; |
+ virtual void DropDatabase() OVERRIDE; |
- // Also returns success if the origin is not found. |
- bool RemovePathForOrigin(const std::string& origin); |
- |
- bool ListAllOrigins(std::vector<OriginRecord>* origins); |
- |
- // This will release all database resources in use; call it to save memory. |
- void DropDatabase(); |
+ base::FilePath GetDatabasePath() const; |
+ void RemoveDatabase(); |
private: |
enum RecoveryOption { |
@@ -64,7 +48,12 @@ class WEBKIT_STORAGE_EXPORT_PRIVATE SandboxOriginDatabase { |
FAIL_ON_CORRUPTION, |
}; |
- bool Init(RecoveryOption recovery_option); |
+ enum InitOption { |
+ CREATE_IF_NONEXISTENT, |
+ FAIL_IF_NONEXISTENT, |
+ }; |
+ |
+ bool Init(InitOption init_option, RecoveryOption recovery_option); |
bool RepairDatabase(const std::string& db_path); |
void HandleError(const tracked_objects::Location& from_here, |
const leveldb::Status& status); |