Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef WEBKIT_DOM_STORAGE_SESSION_STORAGE_DATABASE_H_ | 5 #ifndef WEBKIT_DOM_STORAGE_SESSION_STORAGE_DATABASE_H_ |
| 6 #define WEBKIT_DOM_STORAGE_SESSION_STORAGE_DATABASE_H_ | 6 #define WEBKIT_DOM_STORAGE_SESSION_STORAGE_DATABASE_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 37 // assumed to be empty and any duplicate keys will be overwritten. If the | 37 // assumed to be empty and any duplicate keys will be overwritten. If the |
| 38 // database exists on disk then it will be opened. If it does not exist then | 38 // database exists on disk then it will be opened. If it does not exist then |
| 39 // it will not be created and |result| will be unmodified. | 39 // it will not be created and |result| will be unmodified. |
| 40 void ReadAreaValues(int64 namespace_id, | 40 void ReadAreaValues(int64 namespace_id, |
| 41 const GURL& origin, | 41 const GURL& origin, |
| 42 ValuesMap* result); | 42 ValuesMap* result); |
| 43 | 43 |
| 44 // Updates the data for |namespace_id| and |origin|. Will remove all keys | 44 // Updates the data for |namespace_id| and |origin|. Will remove all keys |
| 45 // before updating the database if |clear_all_first| is set. Then all entries | 45 // before updating the database if |clear_all_first| is set. Then all entries |
| 46 // in |changes| will be examined - keys mapped to a null NullableString16 will | 46 // in |changes| will be examined - keys mapped to a null NullableString16 will |
| 47 // be removed and all others will be inserted/updated as appropriate. | 47 // be removed and all others will be inserted/updated as appropriate. It is |
| 48 // allowed to write data into a shallow copy created by CloneNamespace, and in | |
| 49 // that case the copy will be made deep before writing the values. | |
| 48 bool CommitAreaChanges(int64 namespace_id, | 50 bool CommitAreaChanges(int64 namespace_id, |
| 49 const GURL& origin, | 51 const GURL& origin, |
| 50 bool clear_all_first, | 52 bool clear_all_first, |
| 51 const ValuesMap& changes); | 53 const ValuesMap& changes); |
| 52 | 54 |
| 53 // Creates shallow copies of the areas for |namespace_id| and associates them | 55 // Creates shallow copies of the areas for |namespace_id| and associates them |
| 54 // with |new_namespace_id|. | 56 // with |new_namespace_id|. |
| 55 bool CloneNamespace(int64 namespace_id, int64 new_namespace_id); | 57 bool CloneNamespace(int64 namespace_id, int64 new_namespace_id); |
| 56 | 58 |
| 57 // Creates a deep copy of the area for |namespace_id| and |origin|. | 59 // Creates a deep copy of the area for |namespace_id| and |origin|. |
| 58 bool DeepCopyArea(int64 namespace_id, const GURL& origin); | 60 bool DeepCopyArea(int64 namespace_id, const GURL& origin); |
|
michaeln
2012/05/09 21:46:48
looks like this method decl is obsolete now and sh
marja
2012/05/10 06:30:04
Done.
| |
| 59 | 61 |
| 60 // Deletes the data for |namespace_id| and |origin|. | 62 // Deletes the data for |namespace_id| and |origin|. |
| 61 bool DeleteArea(int64 namespace_id, const GURL& origin); | 63 bool DeleteArea(int64 namespace_id, const GURL& origin); |
| 62 | 64 |
| 63 // Deletes the data for |namespace_id|. | 65 // Deletes the data for |namespace_id|. |
| 64 bool DeleteNamespace(int64 namespace_id); | 66 bool DeleteNamespace(int64 namespace_id); |
| 65 | 67 |
| 66 private: | 68 private: |
| 67 friend class base::RefCountedThreadSafe<SessionStorageDatabase>; | 69 friend class base::RefCountedThreadSafe<SessionStorageDatabase>; |
| 68 friend class SessionStorageDatabaseTest; | 70 friend class SessionStorageDatabaseTest; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 151 leveldb::WriteBatch* batch); | 153 leveldb::WriteBatch* batch); |
| 152 // Decreases the ref count of a map by |decrease|. If the ref count goes to 0, | 154 // Decreases the ref count of a map by |decrease|. If the ref count goes to 0, |
| 153 // deletes the map. | 155 // deletes the map. |
| 154 bool DecreaseMapRefCount(const std::string& map_id, | 156 bool DecreaseMapRefCount(const std::string& map_id, |
| 155 int decrease, | 157 int decrease, |
| 156 leveldb::WriteBatch* batch); | 158 leveldb::WriteBatch* batch); |
| 157 | 159 |
| 158 // Deletes all values in |map_id|. | 160 // Deletes all values in |map_id|. |
| 159 bool ClearMap(const std::string& map_id, leveldb::WriteBatch* batch); | 161 bool ClearMap(const std::string& map_id, leveldb::WriteBatch* batch); |
| 160 | 162 |
| 163 // Breaks the association between (|namespace_id|, |origin|) and |map_id| and | |
| 164 // creates a new map for (|namespace_id|, |origin|). Copies the data from the | |
| 165 // old map if |copy_data| is true. | |
| 166 bool DeepCopyArea(int64 namespace_id, | |
| 167 const GURL& origin, | |
| 168 bool copy_data, | |
| 169 std::string* map_id, | |
| 170 leveldb::WriteBatch* batch); | |
| 171 | |
| 161 // Helper functions for creating the keys needed for the schema. | 172 // Helper functions for creating the keys needed for the schema. |
| 162 static std::string NamespaceStartKey(const std::string& namespace_id_str); | 173 static std::string NamespaceStartKey(const std::string& namespace_id_str); |
| 163 static std::string NamespaceStartKey(int64 namespace_id, | 174 static std::string NamespaceStartKey(int64 namespace_id, |
| 164 int64 namespace_offset); | 175 int64 namespace_offset); |
| 165 static std::string NamespaceKey(const std::string& namespace_id_str, | 176 static std::string NamespaceKey(const std::string& namespace_id_str, |
| 166 const std::string& origin); | 177 const std::string& origin); |
| 167 static std::string NamespaceKey(int64 namespace_id, | 178 static std::string NamespaceKey(int64 namespace_id, |
| 168 int64 namespace_offset, | 179 int64 namespace_offset, |
| 169 const GURL& origin); | 180 const GURL& origin); |
| 170 static std::string NamespaceIdStr(int64 namespace_id, int64 namespace_offset); | 181 static std::string NamespaceIdStr(int64 namespace_id, int64 namespace_offset); |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 193 // the offset yet. The namespaces ids which are handled as strings (named | 204 // the offset yet. The namespaces ids which are handled as strings (named |
| 194 // namesapce_id_str) contain the offset. | 205 // namesapce_id_str) contain the offset. |
| 195 int64 namespace_offset_; | 206 int64 namespace_offset_; |
| 196 | 207 |
| 197 DISALLOW_COPY_AND_ASSIGN(SessionStorageDatabase); | 208 DISALLOW_COPY_AND_ASSIGN(SessionStorageDatabase); |
| 198 }; | 209 }; |
| 199 | 210 |
| 200 } // namespace dom_storage | 211 } // namespace dom_storage |
| 201 | 212 |
| 202 #endif // WEBKIT_DOM_STORAGE_SESSION_STORAGE_DATABASE_H_ | 213 #endif // WEBKIT_DOM_STORAGE_SESSION_STORAGE_DATABASE_H_ |
| OLD | NEW |