Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "config.h" | |
| 6 #include "modules/serviceworkers/HeaderMap.h" | |
| 7 | |
| 8 #include "modules/serviceworkers/HeaderMapForEachCallback.h" | |
| 9 #include "wtf/PassRefPtr.h" | |
| 10 #include "wtf/RefPtr.h" | |
| 11 #include "wtf/text/WTFString.h" | |
| 12 | |
| 13 namespace WebCore { | |
| 14 | |
| 15 PassRefPtr<HeaderMap> HeaderMap::create() | |
| 16 { | |
| 17 return adoptRef(new HeaderMap); | |
| 18 } | |
| 19 | |
| 20 unsigned long HeaderMap::size() const | |
| 21 { | |
| 22 return m_headers.size(); | |
| 23 } | |
| 24 | |
| 25 void HeaderMap::clear() | |
| 26 { | |
| 27 m_headers.clear(); | |
| 28 } | |
| 29 | |
| 30 bool HeaderMap::remove(const String& key) | |
| 31 { | |
| 32 if (!has(key)) | |
| 33 return false; | |
| 34 m_headers.remove(key); | |
| 35 return true; | |
| 36 } | |
| 37 | |
| 38 String HeaderMap::get(const String& key) | |
| 39 { | |
| 40 return m_headers.get(key); | |
| 41 } | |
| 42 | |
| 43 bool HeaderMap::has(const String& key) | |
| 44 { | |
| 45 return m_headers.find(key) != m_headers.end(); | |
| 46 } | |
| 47 | |
| 48 void HeaderMap::set(const String& key, const String& value) | |
| 49 { | |
| 50 m_headers.set(key, value); | |
| 51 } | |
| 52 | |
| 53 void HeaderMap::forEach(PassOwnPtr<HeaderMapForEachCallback> callback, ScriptVal ue& thisArg) | |
| 54 { | |
| 55 forEachInternal(callback, &thisArg); | |
| 56 } | |
| 57 | |
| 58 void HeaderMap::forEach(PassOwnPtr<HeaderMapForEachCallback> callback) | |
| 59 { | |
| 60 forEachInternal(callback, 0); | |
| 61 } | |
| 62 | |
| 63 HeaderMap::HeaderMap() | |
| 64 { | |
| 65 ScriptWrappable::init(this); | |
| 66 } | |
| 67 | |
| 68 void HeaderMap::forEachInternal(PassOwnPtr<HeaderMapForEachCallback> callback, S criptValue* thisArg) | |
| 69 { | |
| 70 for (HashMap<String, String>::const_iterator it = m_headers.begin(); it != m _headers.end(); ++it) { | |
|
jsbell
2014/05/23 20:59:49
Do we need to terminate the loop if the callback t
kinuko
2014/05/26 05:45:13
Um, maybe... done.
| |
| 71 if (thisArg) | |
| 72 callback->handleItem(*thisArg, it->value, it->key, this); | |
| 73 else | |
| 74 callback->handleItem(it->value, it->key, this); | |
| 75 } | |
| 76 } | |
| 77 | |
| 78 } // namespace WebCore | |
| OLD | NEW |