summaryrefslogtreecommitdiffstats
path: root/webkit/dom_storage/dom_storage_session.cc
diff options
context:
space:
mode:
authormarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-22 21:20:55 +0000
committermarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-22 21:20:55 +0000
commit9cc8fd9c7aa8c6ef9afc02c6ffab48c216723fda (patch)
treef7078c4bd4b48f904aa1d3b39504a07b9a01884c /webkit/dom_storage/dom_storage_session.cc
parent17b5a817290e1b495a577fcc783d15fb8bc89137 (diff)
downloadchromium_src-9cc8fd9c7aa8c6ef9afc02c6ffab48c216723fda.zip
chromium_src-9cc8fd9c7aa8c6ef9afc02c6ffab48c216723fda.tar.gz
chromium_src-9cc8fd9c7aa8c6ef9afc02c6ffab48c216723fda.tar.bz2
Session restore: Store and restore persistent IDs for sessionStorage.
Saving the sessionStorage data on disk will be done in a future CL. BUG=104292 TEST=TBD Review URL: https://chromiumcodereview.appspot.com/10572015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143709 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/dom_storage/dom_storage_session.cc')
-rw-r--r--webkit/dom_storage/dom_storage_session.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/webkit/dom_storage/dom_storage_session.cc b/webkit/dom_storage/dom_storage_session.cc
index 91c2f39..2961fa3 100644
--- a/webkit/dom_storage/dom_storage_session.cc
+++ b/webkit/dom_storage/dom_storage_session.cc
@@ -16,7 +16,8 @@ namespace dom_storage {
DomStorageSession::DomStorageSession(DomStorageContext* context)
: context_(context),
namespace_id_(context->AllocateSessionId()),
- persistent_namespace_id_(context->AllocatePersistentSessionId()) {
+ persistent_namespace_id_(context->AllocatePersistentSessionId()),
+ should_persist_(false) {
context->task_runner()->PostTask(
FROM_HERE,
base::Bind(&DomStorageContext::CreateSessionNamespace,
@@ -27,13 +28,18 @@ DomStorageSession::DomStorageSession(DomStorageContext* context,
const std::string& persistent_namespace_id)
: context_(context),
namespace_id_(context->AllocateSessionId()),
- persistent_namespace_id_(persistent_namespace_id) {
+ persistent_namespace_id_(persistent_namespace_id),
+ should_persist_(false) {
context->task_runner()->PostTask(
FROM_HERE,
base::Bind(&DomStorageContext::CreateSessionNamespace,
context_, namespace_id_, persistent_namespace_id_));
}
+void DomStorageSession::SetShouldPersist(bool should_persist) {
+ should_persist_ = should_persist;
+}
+
DomStorageSession* DomStorageSession::Clone() {
return CloneFrom(context_, namespace_id_);
}
@@ -63,7 +69,7 @@ DomStorageSession::~DomStorageSession() {
context_->task_runner()->PostTask(
FROM_HERE,
base::Bind(&DomStorageContext::DeleteSessionNamespace,
- context_, namespace_id_));
+ context_, namespace_id_, should_persist_));
}
} // namespace dom_storage