Index: webkit/dom_storage/dom_storage_namespace.h |
diff --git a/webkit/dom_storage/dom_storage_namespace.h b/webkit/dom_storage/dom_storage_namespace.h |
index 6063266a498ff242114bd9748f384b59abe15d37..df5bf2cafa5d45cb825cb080b96ed009f370316c 100644 |
--- a/webkit/dom_storage/dom_storage_namespace.h |
+++ b/webkit/dom_storage/dom_storage_namespace.h |
@@ -18,6 +18,7 @@ namespace dom_storage { |
class DomStorageArea; |
class DomStorageTaskRunner; |
+class SessionStorageDatabase; |
// Container for the set of per-origin Areas. |
// See class comments for DomStorageContext for a larger overview. |
@@ -29,12 +30,17 @@ class DomStorageNamespace |
DomStorageNamespace(const FilePath& directory, // may be empty |
DomStorageTaskRunner* task_runner); |
- // Constructor for a SessionStorage namespace with a non-zero id |
- // and no backing directory on disk. |
+ // Constructor for a SessionStorage namespace with a non-zero id and an |
+ // optional backing on disk via |session_storage_database| (may be NULL). |
DomStorageNamespace(int64 namespace_id, |
+ const std::string& persistent_namespace_id, |
+ SessionStorageDatabase* session_storage_database, |
DomStorageTaskRunner* task_runner); |
int64 namespace_id() const { return namespace_id_; } |
+ std::string persistent_namespace_id() const { |
+ return persistent_namespace_id_; |
+ } |
// Returns the storage area for the given origin, |
// creating instance if needed. Each call to open |
@@ -45,7 +51,8 @@ class DomStorageNamespace |
// Creates a clone of |this| namespace including |
// shallow copies of all contained areas. |
// Should only be called for session storage namespaces. |
- DomStorageNamespace* Clone(int64 clone_namespace_id); |
+ DomStorageNamespace* Clone(int64 clone_namespace_id, |
+ const std::string& clone_persistent_namespace_id); |
void DeleteOrigin(const GURL& origin); |
void PurgeMemory(); |
@@ -71,9 +78,11 @@ class DomStorageNamespace |
AreaHolder* GetAreaHolder(const GURL& origin); |
int64 namespace_id_; |
+ std::string persistent_namespace_id_; |
FilePath directory_; |
AreaMap areas_; |
scoped_refptr<DomStorageTaskRunner> task_runner_; |
+ scoped_refptr<SessionStorageDatabase> session_storage_database_; |
}; |
} // namespace dom_storage |