diff options
author | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-22 21:20:55 +0000 |
---|---|---|
committer | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-22 21:20:55 +0000 |
commit | 9cc8fd9c7aa8c6ef9afc02c6ffab48c216723fda (patch) | |
tree | f7078c4bd4b48f904aa1d3b39504a07b9a01884c /webkit/dom_storage/dom_storage_session.cc | |
parent | 17b5a817290e1b495a577fcc783d15fb8bc89137 (diff) | |
download | chromium_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.cc | 12 |
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 |