WebCore/ChangeLog

 12009-09-30 Jeremy Orlow <jorlow@chromium.org>
 2
 3 Reviewed by NOBODY (OOPS!).
 4
 5 Clean up use of const and mutable in StorageMap
 6 https://bugs.webkit.org/show_bug.cgi?id=29933
 7
 8 What's the point of having every single member variable be mutable and nearly
 9 every method be const? Let's clean it up.
 10
 11 * storage/StorageMap.cpp:
 12 (WebCore::StorageMap::setIteratorToIndex):
 13 (WebCore::StorageMap::key):
 14 (WebCore::StorageMap::importItem):
 15 * storage/StorageMap.h:
 16
1172009-09-21 Jeremy Orlow <jorlow@chromium.org>
218
319 Reviewed by Adam Barth.
48939

WebCore/storage/StorageMap.cpp

@@void StorageMap::invalidateIterator()
5454 m_iteratorIndex = UINT_MAX;
5555}
5656
57 void StorageMap::setIteratorToIndex(unsigned index) const
 57void StorageMap::setIteratorToIndex(unsigned index)
5858{
5959 // FIXME: Once we have bidirectional iterators for HashMap we can be more intelligent about this.
6060 // The requested index will be closest to begin(), our current iterator, or end(), and we

@@unsigned StorageMap::length() const
8282 return m_map.size();
8383}
8484
85 String StorageMap::key(unsigned index) const
 85String StorageMap::key(unsigned index)
8686{
8787 if (index >= length())
8888 return String();

@@bool StorageMap::contains(const String&
145145 return m_map.contains(key);
146146}
147147
148 void StorageMap::importItem(const String& key, const String& value) const
 148void StorageMap::importItem(const String& key, const String& value)
149149{
150150 // Be sure to copy the keys/values as items imported on a background thread are destined
151151 // to cross a thread boundary
48912

WebCore/storage/StorageMap.h

@@namespace WebCore {
4242 static PassRefPtr<StorageMap> create();
4343
4444 unsigned length() const;
45  String key(unsigned index) const;
 45 String key(unsigned index);
4646 String getItem(const String&) const;
4747 PassRefPtr<StorageMap> setItem(const String& key, const String& value, String& oldValue);
4848 PassRefPtr<StorageMap> removeItem(const String&, String& oldValue);
4949
5050 bool contains(const String& key) const;
5151
52  void importItem(const String& key, const String& value) const;
 52 void importItem(const String& key, const String& value);
5353
5454 private:
5555 StorageMap();
5656 PassRefPtr<StorageMap> copy();
5757 void invalidateIterator();
58  void setIteratorToIndex(unsigned) const;
 58 void setIteratorToIndex(unsigned);
5959
60  mutable HashMap<String, String> m_map;
61  mutable HashMap<String, String>::iterator m_iterator;
62  mutable unsigned m_iteratorIndex;
 60 HashMap<String, String> m_map;
 61 HashMap<String, String>::iterator m_iterator;
 62 unsigned m_iteratorIndex;
6363 };
6464
6565} // namespace WebCore
48912