Index: Source/platform/network/HTTPHeaderMap.h |
diff --git a/Source/platform/network/HTTPHeaderMap.h b/Source/platform/network/HTTPHeaderMap.h |
index 811a40de644df9a07e60ffc8ed31d07ab2c1bd22..f18cec05bd778e4e9dfc46a7482781a3ae7a97e0 100644 |
--- a/Source/platform/network/HTTPHeaderMap.h |
+++ b/Source/platform/network/HTTPHeaderMap.h |
@@ -41,7 +41,7 @@ namespace blink { |
typedef Vector<std::pair<String, String> > CrossThreadHTTPHeaderMapData; |
// FIXME: Not every header fits into a map. Notably, multiple Set-Cookie header fields are needed to set multiple cookies. |
-class PLATFORM_EXPORT HTTPHeaderMap : public HashMap<AtomicString, AtomicString, CaseFoldingHash> { |
+class PLATFORM_EXPORT HTTPHeaderMap { |
public: |
HTTPHeaderMap(); |
~HTTPHeaderMap(); |
@@ -51,15 +51,28 @@ public: |
void adopt(PassOwnPtr<CrossThreadHTTPHeaderMapData>); |
- const AtomicString& get(const AtomicString& name) const; |
+ typedef HashMap<AtomicString, AtomicString, CaseFoldingHash> MapType; |
+ typedef MapType::AddResult AddResult; |
+ typedef MapType::const_iterator const_iterator; |
- AddResult add(const AtomicString& name, const AtomicString& value); |
+ size_t size() const { return m_headers.size(); } |
+ const_iterator begin() const { return m_headers.begin(); } |
+ const_iterator end() const { return m_headers.end(); } |
+ const_iterator find(const AtomicString &k) const { return m_headers.find(k); } |
+ void clear() { m_headers.clear(); } |
+ const AtomicString& get(const AtomicString& k) const { return m_headers.get(k); } |
+ AddResult set(const AtomicString& k, const AtomicString& v) { return m_headers.set(k, v); } |
+ AddResult add(const AtomicString& k, const AtomicString& v) { return m_headers.add(k, v); } |
+ void remove(const AtomicString& k) { m_headers.remove(k); } |
+ bool operator!=(const HTTPHeaderMap &rhs) const { return m_headers != rhs.m_headers; } |
// Alternate accessors that are faster than converting the char* to AtomicString first. |
bool contains(const char*) const; |
const AtomicString& get(const char*) const; |
AddResult add(const char* name, const AtomicString& value); |
+private: |
+ HashMap<AtomicString, AtomicString, CaseFoldingHash> m_headers; |
}; |
} // namespace blink |