|
Lines 49-56
class TreeScope;
Source/WebCore/dom/NodeRareData.h_sec1
|
| 49 |
class NodeListsNodeData { |
49 |
class NodeListsNodeData { |
| 50 |
WTF_MAKE_NONCOPYABLE(NodeListsNodeData); WTF_MAKE_FAST_ALLOCATED; |
50 |
WTF_MAKE_NONCOPYABLE(NodeListsNodeData); WTF_MAKE_FAST_ALLOCATED; |
| 51 |
public: |
51 |
public: |
| 52 |
typedef HashMap<std::pair<unsigned short, AtomicString>, DynamicSubtreeNodeList*> NodeListAtomicNameCacheMap; |
52 |
template <typename StringType> |
| 53 |
typedef HashMap<std::pair<unsigned short, String>, DynamicSubtreeNodeList*> NodeListNameCacheMap; |
53 |
struct NodeListCacheMapEntryHash { |
|
|
54 |
static unsigned hash(const std::pair<StringType, unsigned char>& entry) |
| 55 |
{ |
| 56 |
return WTF::DefaultHash<StringType>::Hash::hash(entry.first) + entry.second; |
| 57 |
} |
| 58 |
|
| 59 |
static bool equal(const std::pair<StringType, unsigned char>& a, const std::pair<StringType, unsigned char>& b) { return a == b; } |
| 60 |
|
| 61 |
static const bool safeToCompareToEmptyOrDeleted = WTF::DefaultHash<StringType>::Hash::safeToCompareToEmptyOrDeleted; |
| 62 |
}; |
| 63 |
|
| 64 |
typedef HashMap<std::pair<AtomicString, unsigned char>, DynamicSubtreeNodeList*, NodeListCacheMapEntryHash<AtomicString> > NodeListAtomicNameCacheMap; |
| 65 |
typedef HashMap<std::pair<String, unsigned char>, DynamicSubtreeNodeList*, NodeListCacheMapEntryHash<String> > NodeListNameCacheMap; |
| 54 |
typedef HashMap<QualifiedName, TagNodeList*> TagNodeListCacheNS; |
66 |
typedef HashMap<QualifiedName, TagNodeList*> TagNodeListCacheNS; |
| 55 |
|
67 |
|
| 56 |
template<typename T> |
68 |
template<typename T> |
|
Lines 151-164
public:
Source/WebCore/dom/NodeRareData.h_sec2
|
| 151 |
private: |
163 |
private: |
| 152 |
NodeListsNodeData() { } |
164 |
NodeListsNodeData() { } |
| 153 |
|
165 |
|
| 154 |
std::pair<unsigned short, AtomicString> namedNodeListKey(DynamicNodeList::NodeListType listType, const AtomicString& name) |
166 |
std::pair<AtomicString, unsigned short> namedNodeListKey(DynamicNodeList::NodeListType listType, const AtomicString& name) |
| 155 |
{ |
167 |
{ |
| 156 |
return std::pair<unsigned short, AtomicString>(listType, name); |
168 |
return std::pair<AtomicString, unsigned short>(name, listType); |
| 157 |
} |
169 |
} |
| 158 |
|
170 |
|
| 159 |
std::pair<unsigned short, String> namedNodeListKey(DynamicNodeList::NodeListType listType, const String& name) |
171 |
std::pair<String, unsigned short> namedNodeListKey(DynamicNodeList::NodeListType listType, const String& name) |
| 160 |
{ |
172 |
{ |
| 161 |
return std::pair<unsigned short, String>(listType, name); |
173 |
return std::pair<String, unsigned short>(name, listType); |
| 162 |
} |
174 |
} |
| 163 |
|
175 |
|
| 164 |
NodeListAtomicNameCacheMap m_atomicNameCaches; |
176 |
NodeListAtomicNameCacheMap m_atomicNameCaches; |