| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/in_process_webkit/dom_storage_context_impl.h" | 5 #include "content/browser/in_process_webkit/dom_storage_context_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 } // namespace | 57 } // namespace |
| 58 | 58 |
| 59 DOMStorageContextImpl::DOMStorageContextImpl( | 59 DOMStorageContextImpl::DOMStorageContextImpl( |
| 60 const FilePath& data_path, | 60 const FilePath& data_path, |
| 61 quota::SpecialStoragePolicy* special_storage_policy) | 61 quota::SpecialStoragePolicy* special_storage_policy) |
| 62 : last_storage_area_id_(0), | 62 : last_storage_area_id_(0), |
| 63 last_session_storage_namespace_id_on_ui_thread_(kLocalStorageNamespaceId), | 63 last_session_storage_namespace_id_on_ui_thread_(kLocalStorageNamespaceId), |
| 64 last_session_storage_namespace_id_on_io_thread_(kLocalStorageNamespaceId), | 64 last_session_storage_namespace_id_on_io_thread_(kLocalStorageNamespaceId), |
| 65 clear_local_state_on_exit_(false), | 65 clear_local_state_on_exit_(false), |
| 66 save_session_state_(false), | 66 save_session_state_(false), |
| 67 special_storage_policy_(special_storage_policy) { | 67 special_storage_policy_(special_storage_policy), |
| 68 webkit_message_loop_( |
| 69 BrowserThread::GetMessageLoopProxyForThread( |
| 70 BrowserThread::WEBKIT_DEPRECATED)) { |
| 68 data_path_ = data_path; | 71 data_path_ = data_path; |
| 69 } | 72 } |
| 70 | 73 |
| 71 DOMStorageContextImpl::~DOMStorageContextImpl() { | 74 DOMStorageContextImpl::~DOMStorageContextImpl() { |
| 72 // This should not go away until all DOM Storage message filters have gone | 75 // This should not go away until all DOM Storage message filters have gone |
| 73 // away. And they remove themselves from this list. | 76 // away. And they remove themselves from this list. |
| 74 DCHECK(message_filter_set_.empty()); | 77 DCHECK(message_filter_set_.empty()); |
| 75 | 78 |
| 76 for (StorageNamespaceMap::iterator iter(storage_namespace_map_.begin()); | 79 for (StorageNamespaceMap::iterator iter(storage_namespace_map_.begin()); |
| 77 iter != storage_namespace_map_.end(); ++iter) { | 80 iter != storage_namespace_map_.end(); ++iter) { |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 void DOMStorageContextImpl::CompleteCloningSessionStorage( | 288 void DOMStorageContextImpl::CompleteCloningSessionStorage( |
| 286 int64 existing_id, int64 clone_id) { | 289 int64 existing_id, int64 clone_id) { |
| 287 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); | 290 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED)); |
| 288 DOMStorageNamespace* existing_namespace = | 291 DOMStorageNamespace* existing_namespace = |
| 289 GetStorageNamespace(existing_id, false); | 292 GetStorageNamespace(existing_id, false); |
| 290 // If nothing exists, then there's nothing to clone. | 293 // If nothing exists, then there's nothing to clone. |
| 291 if (existing_namespace) | 294 if (existing_namespace) |
| 292 RegisterStorageNamespace(existing_namespace->Copy(clone_id)); | 295 RegisterStorageNamespace(existing_namespace->Copy(clone_id)); |
| 293 } | 296 } |
| 294 | 297 |
| 298 base::SequencedTaskRunner* DOMStorageContextImpl::task_runner() const { |
| 299 return webkit_message_loop_; |
| 300 } |
| 301 |
| 295 std::vector<FilePath> DOMStorageContextImpl::GetAllStorageFiles() { | 302 std::vector<FilePath> DOMStorageContextImpl::GetAllStorageFiles() { |
| 296 std::vector<FilePath> files; | 303 std::vector<FilePath> files; |
| 297 file_util::FileEnumerator file_enumerator( | 304 file_util::FileEnumerator file_enumerator( |
| 298 data_path_.Append(kLocalStorageDirectory), false, | 305 data_path_.Append(kLocalStorageDirectory), false, |
| 299 file_util::FileEnumerator::FILES); | 306 file_util::FileEnumerator::FILES); |
| 300 for (FilePath file_path = file_enumerator.Next(); !file_path.empty(); | 307 for (FilePath file_path = file_enumerator.Next(); !file_path.empty(); |
| 301 file_path = file_enumerator.Next()) { | 308 file_path = file_enumerator.Next()) { |
| 302 if (file_path.Extension() == kLocalStorageExtension) | 309 if (file_path.Extension() == kLocalStorageExtension) |
| 303 files.push_back(file_path); | 310 files.push_back(file_path); |
| 304 } | 311 } |
| 305 return files; | 312 return files; |
| 306 } | 313 } |
| 307 | 314 |
| 308 FilePath DOMStorageContextImpl::GetFilePath(const string16& origin_id) const { | 315 FilePath DOMStorageContextImpl::GetFilePath(const string16& origin_id) const { |
| 309 FilePath storage_dir = data_path_.Append(kLocalStorageDirectory); | 316 FilePath storage_dir = data_path_.Append(kLocalStorageDirectory); |
| 310 FilePath::StringType id = webkit_glue::WebStringToFilePathString(origin_id); | 317 FilePath::StringType id = webkit_glue::WebStringToFilePathString(origin_id); |
| 311 return storage_dir.Append(id.append(kLocalStorageExtension)); | 318 return storage_dir.Append(id.append(kLocalStorageExtension)); |
| 312 } | 319 } |
| OLD | NEW |