| 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 1f9c390651fbffbf6cfcabb77452b579f390c223..91c2f39de7e21da437ec646f7755388f54c2eee3 100644
|
| --- a/webkit/dom_storage/dom_storage_session.cc
|
| +++ b/webkit/dom_storage/dom_storage_session.cc
|
| @@ -15,11 +15,23 @@ 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() {
|
| @@ -30,17 +42,20 @@ DomStorageSession* DomStorageSession::Clone() {
|
| DomStorageSession* DomStorageSession::CloneFrom(DomStorageContext* context,
|
| int64 namepace_id_to_clone) {
|
| int64 clone_id = context->AllocateSessionId();
|
| + std::string persistent_clone_id = context->AllocatePersistentSessionId();
|
| context->task_runner()->PostTask(
|
| FROM_HERE,
|
| base::Bind(&DomStorageContext::CloneSessionNamespace,
|
| - context, namepace_id_to_clone, clone_id));
|
| - return new DomStorageSession(context, clone_id);
|
| + context, namepace_id_to_clone, 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.
|
| }
|
|
|
|
|