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

Unified Diff: webkit/dom_storage/dom_storage_session.cc

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_session.cc
diff --git a/webkit/dom_storage/dom_storage_session.cc b/webkit/dom_storage/dom_storage_session.cc
index e70d497c90c2e19dc790027d2d7bebf4c305eb61..e4adb5dd664892e67a20746a1e5f00d55da718cb 100644
--- a/webkit/dom_storage/dom_storage_session.cc
+++ b/webkit/dom_storage/dom_storage_session.cc
@@ -15,26 +15,41 @@ namespace dom_storage {
DomStorageSession::DomStorageSession(DomStorageContext* context)
: context_(context),
- namespace_id_(context->AllocateSessionId()) {
+ namespace_id_(context->AllocateSessionId()),
+ persistent_namespace_id_(context->AllocatePersistentSessionId()) {
context->task_runner()->PostTask(
FROM_HERE,
base::Bind(&DomStorageContext::CreateSessionNamespace,
- context_, namespace_id_));
+ context_, namespace_id_, persistent_namespace_id_));
+}
+
+DomStorageSession::DomStorageSession(DomStorageContext* context,
+ const std::string& persistent_namespace_id)
+ : context_(context),
+ namespace_id_(context->AllocateSessionId()),
+ persistent_namespace_id_(persistent_namespace_id) {
+ context->task_runner()->PostTask(
+ FROM_HERE,
+ base::Bind(&DomStorageContext::CreateSessionNamespace,
+ context_, namespace_id_, persistent_namespace_id_));
}
DomStorageSession* DomStorageSession::Clone() {
int64 clone_id = context_->AllocateSessionId();
+ std::string persistent_clone_id = context_->AllocatePersistentSessionId();
context_->task_runner()->PostTask(
FROM_HERE,
base::Bind(&DomStorageContext::CloneSessionNamespace,
- context_, namespace_id_, clone_id));
- return new DomStorageSession(context_, clone_id);
+ context_, namespace_id_, clone_id, persistent_clone_id));
+ return new DomStorageSession(context_, clone_id, persistent_clone_id);
}
DomStorageSession::DomStorageSession(DomStorageContext* context,
- int64 namespace_id)
+ int64 namespace_id,
+ const std::string& persistent_namespace_id)
: context_(context),
- namespace_id_(namespace_id) {
+ namespace_id_(namespace_id),
+ persistent_namespace_id_(persistent_namespace_id) {
// This ctor is intended for use by the Clone() method.
}

Powered by Google App Engine
This is Rietveld 408576698