diff options
author | Steve Block <steveblock@google.com> | 2009-10-08 17:19:54 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2009-10-20 00:41:58 +0100 |
commit | 231d4e3152a9c27a73b6ac7badbe6be673aa3ddf (patch) | |
tree | a6c7e2d6cd7bfa7011cc39abbb436142d7a4a7c8 /WebCore/storage/StorageMap.h | |
parent | e196732677050bd463301566a68a643b6d14b907 (diff) | |
download | external_webkit-231d4e3152a9c27a73b6ac7badbe6be673aa3ddf.zip external_webkit-231d4e3152a9c27a73b6ac7badbe6be673aa3ddf.tar.gz external_webkit-231d4e3152a9c27a73b6ac7badbe6be673aa3ddf.tar.bz2 |
Merge webkit.org at R49305 : Automatic merge by git.
Change-Id: I8968561bc1bfd72b8923b7118d3728579c6dbcc7
Diffstat (limited to 'WebCore/storage/StorageMap.h')
-rw-r--r-- | WebCore/storage/StorageMap.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/WebCore/storage/StorageMap.h b/WebCore/storage/StorageMap.h index 95b4047..fa5f46c 100644 --- a/WebCore/storage/StorageMap.h +++ b/WebCore/storage/StorageMap.h @@ -20,7 +20,7 @@ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef StorageMap_h @@ -39,27 +39,35 @@ namespace WebCore { class StorageMap : public RefCounted<StorageMap> { public: - static PassRefPtr<StorageMap> create(); + // Quota size mesured in bytes. + static PassRefPtr<StorageMap> create(unsigned quotaSize); unsigned length() const; - String key(unsigned index) const; + String key(unsigned index); String getItem(const String&) const; - PassRefPtr<StorageMap> setItem(const String& key, const String& value, String& oldValue); + PassRefPtr<StorageMap> setItem(const String& key, const String& value, String& oldValue, bool& quota_exception); PassRefPtr<StorageMap> removeItem(const String&, String& oldValue); bool contains(const String& key) const; - void importItem(const String& key, const String& value) const; + void importItem(const String& key, const String& value); + + unsigned quota() const { return m_quotaSize; } + + static const unsigned noQuota = UINT_MAX; private: - StorageMap(); + StorageMap(unsigned quota); PassRefPtr<StorageMap> copy(); void invalidateIterator(); - void setIteratorToIndex(unsigned) const; + void setIteratorToIndex(unsigned); + + HashMap<String, String> m_map; + HashMap<String, String>::iterator m_iterator; + unsigned m_iteratorIndex; - mutable HashMap<String, String> m_map; - mutable HashMap<String, String>::iterator m_iterator; - mutable unsigned m_iteratorIndex; + unsigned m_quotaSize; // Measured in bytes. + unsigned m_currentLength; // Measured in UChars. }; } // namespace WebCore |