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

Unified Diff: webkit/dom_storage/dom_storage_namespace.h

Issue 9963107: Persist sessionStorage on disk. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review. Created 8 years, 6 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: 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

Powered by Google App Engine
This is Rietveld 408576698