Lines Matching refs:key

43 inline bool keyMatchesId(AtomicStringImpl* key, Element* element)
45 return element->hasID() && element->getIdAttribute().impl() == key;
48 inline bool keyMatchesMapName(AtomicStringImpl* key, Element* element)
50 return element->hasTagName(mapTag) && static_cast<HTMLMapElement*>(element)->getName().impl() == key;
53 inline bool keyMatchesLowercasedMapName(AtomicStringImpl* key, Element* element)
55 return element->hasTagName(mapTag) && static_cast<HTMLMapElement*>(element)->getName().lower().impl() == key;
64 void DocumentOrderedMap::add(AtomicStringImpl* key, Element* element)
66 ASSERT(key);
69 if (!m_duplicateCounts.contains(key)) {
70 // Fast path. The key is not already in m_duplicateCounts, so we assume that it's
72 pair<Map::iterator, bool> addResult = m_map.add(key, element);
76 // The add failed, so this key was already cached in m_map.
77 // There are multiple elements with this key. Remove the m_map
78 // cache for this key so get searches for it next time it is called.
80 m_duplicateCounts.add(key);
82 // There are multiple elements with this key. Remove the m_map
83 // cache for this key so get will search for it next time it is called.
84 Map::iterator cachedItem = m_map.find(key);
87 m_duplicateCounts.add(key);
91 m_duplicateCounts.add(key);
94 void DocumentOrderedMap::remove(AtomicStringImpl* key, Element* element)
96 ASSERT(key);
100 Map::iterator cachedItem = m_map.find(key);
104 m_duplicateCounts.remove(key);
108 inline Element* DocumentOrderedMap::get(AtomicStringImpl* key, const TreeScope* scope) const
110 ASSERT(key);
114 Element* element = m_map.get(key);
118 if (m_duplicateCounts.contains(key)) {
124 if (!keyMatches(key, element))
126 m_duplicateCounts.remove(key);
127 m_map.set(key, element);
136 Element* DocumentOrderedMap::getElementById(AtomicStringImpl* key, const TreeScope* scope) const
138 return get<keyMatchesId>(key, scope);
141 Element* DocumentOrderedMap::getElementByMapName(AtomicStringImpl* key, const TreeScope* scope) const
143 return get<keyMatchesMapName>(key, scope);
146 Element* DocumentOrderedMap::getElementByLowercasedMapName(AtomicStringImpl* key, const TreeScope* scope) const
148 return get<keyMatchesLowercasedMapName>(key, scope);