Index: webkit/browser/dom_storage/dom_storage_area.h |
diff --git a/webkit/browser/dom_storage/dom_storage_area.h b/webkit/browser/dom_storage/dom_storage_area.h |
deleted file mode 100644 |
index 04923aa52c0f210db163a6da5b05401ee44b93be..0000000000000000000000000000000000000000 |
--- a/webkit/browser/dom_storage/dom_storage_area.h |
+++ /dev/null |
@@ -1,138 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef WEBKIT_BROWSER_DOM_STORAGE_DOM_STORAGE_AREA_H_ |
-#define WEBKIT_BROWSER_DOM_STORAGE_DOM_STORAGE_AREA_H_ |
- |
-#include "base/files/file_path.h" |
-#include "base/gtest_prod_util.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/strings/nullable_string16.h" |
-#include "base/strings/string16.h" |
-#include "url/gurl.h" |
-#include "webkit/browser/webkit_storage_browser_export.h" |
-#include "webkit/common/dom_storage/dom_storage_types.h" |
- |
-namespace dom_storage { |
- |
-class DomStorageDatabaseAdapter; |
-class DomStorageMap; |
-class DomStorageTaskRunner; |
-class SessionStorageDatabase; |
- |
-// Container for a per-origin Map of key/value pairs potentially |
-// backed by storage on disk and lazily commits changes to disk. |
-// See class comments for DomStorageContext for a larger overview. |
-class WEBKIT_STORAGE_BROWSER_EXPORT DomStorageArea |
- : public base::RefCountedThreadSafe<DomStorageArea> { |
- |
- public: |
- static const base::FilePath::CharType kDatabaseFileExtension[]; |
- static base::FilePath DatabaseFileNameFromOrigin(const GURL& origin); |
- static GURL OriginFromDatabaseFileName(const base::FilePath& file_name); |
- |
- // Local storage. Backed on disk if directory is nonempty. |
- DomStorageArea(const GURL& origin, |
- const base::FilePath& directory, |
- DomStorageTaskRunner* task_runner); |
- |
- // Session storage. Backed on disk if |session_storage_backing| is not NULL. |
- DomStorageArea(int64 namespace_id, |
- const std::string& persistent_namespace_id, |
- const GURL& origin, |
- SessionStorageDatabase* session_storage_backing, |
- DomStorageTaskRunner* task_runner); |
- |
- const GURL& origin() const { return origin_; } |
- int64 namespace_id() const { return namespace_id_; } |
- |
- // Writes a copy of the current set of values in the area to the |map|. |
- void ExtractValues(ValuesMap* map); |
- |
- unsigned Length(); |
- base::NullableString16 Key(unsigned index); |
- base::NullableString16 GetItem(const base::string16& key); |
- bool SetItem(const base::string16& key, const base::string16& value, |
- base::NullableString16* old_value); |
- bool RemoveItem(const base::string16& key, base::string16* old_value); |
- bool Clear(); |
- void FastClear(); |
- |
- DomStorageArea* ShallowCopy( |
- int64 destination_namespace_id, |
- const std::string& destination_persistent_namespace_id); |
- |
- bool HasUncommittedChanges() const; |
- |
- // Similar to Clear() but more optimized for just deleting |
- // without raising events. |
- void DeleteOrigin(); |
- |
- // Frees up memory when possible. Typically, this method returns |
- // the object to its just constructed state, however if uncommitted |
- // changes are pending, it does nothing. |
- void PurgeMemory(); |
- |
- // Schedules the commit of any unsaved changes and enters a |
- // shutdown state such that the value getters and setters will |
- // no longer do anything. |
- void Shutdown(); |
- |
- // Returns true if the data is loaded in memory. |
- bool IsLoadedInMemory() const { return is_initial_import_done_; } |
- |
- private: |
- friend class DomStorageAreaTest; |
- FRIEND_TEST_ALL_PREFIXES(DomStorageAreaTest, DomStorageAreaBasics); |
- FRIEND_TEST_ALL_PREFIXES(DomStorageAreaTest, BackingDatabaseOpened); |
- FRIEND_TEST_ALL_PREFIXES(DomStorageAreaTest, TestDatabaseFilePath); |
- FRIEND_TEST_ALL_PREFIXES(DomStorageAreaTest, CommitTasks); |
- FRIEND_TEST_ALL_PREFIXES(DomStorageAreaTest, CommitChangesAtShutdown); |
- FRIEND_TEST_ALL_PREFIXES(DomStorageAreaTest, DeleteOrigin); |
- FRIEND_TEST_ALL_PREFIXES(DomStorageAreaTest, PurgeMemory); |
- FRIEND_TEST_ALL_PREFIXES(DomStorageContextTest, PersistentIds); |
- friend class base::RefCountedThreadSafe<DomStorageArea>; |
- |
- struct CommitBatch { |
- bool clear_all_first; |
- ValuesMap changed_values; |
- CommitBatch(); |
- ~CommitBatch(); |
- }; |
- |
- ~DomStorageArea(); |
- |
- // If we haven't done so already and this is a local storage area, |
- // will attempt to read any values for this origin currently |
- // stored on disk. |
- void InitialImportIfNeeded(); |
- |
- // Post tasks to defer writing a batch of changed values to |
- // disk on the commit sequence, and to call back on the primary |
- // task sequence when complete. |
- CommitBatch* CreateCommitBatchIfNeeded(); |
- void OnCommitTimer(); |
- void CommitChanges(const CommitBatch* commit_batch); |
- void OnCommitComplete(); |
- |
- void ShutdownInCommitSequence(); |
- |
- int64 namespace_id_; |
- std::string persistent_namespace_id_; |
- GURL origin_; |
- base::FilePath directory_; |
- scoped_refptr<DomStorageTaskRunner> task_runner_; |
- scoped_refptr<DomStorageMap> map_; |
- scoped_ptr<DomStorageDatabaseAdapter> backing_; |
- scoped_refptr<SessionStorageDatabase> session_storage_backing_; |
- bool is_initial_import_done_; |
- bool is_shutdown_; |
- scoped_ptr<CommitBatch> commit_batch_; |
- int commit_batches_in_flight_; |
-}; |
- |
-} // namespace dom_storage |
- |
-#endif // WEBKIT_BROWSER_DOM_STORAGE_DOM_STORAGE_AREA_H_ |