OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "config.h" | 5 #include "config.h" |
6 #include "core/dom/WeakNodeMap.h" | 6 #include "core/dom/WeakNodeMap.h" |
7 | 7 |
8 #include "core/dom/Node.h" | 8 #include "core/dom/Node.h" |
9 | 9 |
10 namespace blink { | 10 namespace blink { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 if (mapList->size() == 0) { | 48 if (mapList->size() == 0) { |
49 m_nodeToMapList.remove(it); | 49 m_nodeToMapList.remove(it); |
50 return true; | 50 return true; |
51 } | 51 } |
52 return false; | 52 return false; |
53 } | 53 } |
54 | 54 |
55 void NodeToWeakNodeMaps::nodeDestroyed(Node* node) | 55 void NodeToWeakNodeMaps::nodeDestroyed(Node* node) |
56 { | 56 { |
57 OwnPtr<NodeToWeakNodeMaps::MapList> maps = m_nodeToMapList.take(node); | 57 OwnPtr<NodeToWeakNodeMaps::MapList> maps = m_nodeToMapList.take(node); |
58 for (size_t i = 0; i < maps->size(); i++) | 58 for (auto& map : *maps) |
59 (*maps)[i]->nodeDestroyed(node); | 59 map->nodeDestroyed(node); |
60 } | 60 } |
61 | 61 |
62 WeakNodeMap::~WeakNodeMap() | 62 WeakNodeMap::~WeakNodeMap() |
63 { | 63 { |
64 NodeToWeakNodeMaps& allMaps = NodeToWeakNodeMaps::instance(); | 64 NodeToWeakNodeMaps& allMaps = NodeToWeakNodeMaps::instance(); |
65 for (NodeToValue::iterator it = m_nodeToValue.begin(); it != m_nodeToValue.e
nd(); ++it) { | 65 for (auto& map : m_nodeToValue) { |
66 Node* node = it->key; | 66 Node* node = map.key; |
67 if (allMaps.removedFromMap(node, this)) | 67 if (allMaps.removedFromMap(node, this)) |
68 node->clearFlag(Node::HasWeakReferencesFlag); | 68 node->clearFlag(Node::HasWeakReferencesFlag); |
69 } | 69 } |
70 } | 70 } |
71 | 71 |
72 void WeakNodeMap::put(Node* node, int value) | 72 void WeakNodeMap::put(Node* node, int value) |
73 { | 73 { |
74 ASSERT(node && !m_nodeToValue.contains(node)); | 74 ASSERT(node && !m_nodeToValue.contains(node)); |
75 m_nodeToValue.set(node, value); | 75 m_nodeToValue.set(node, value); |
76 m_valueToNode.set(value, node); | 76 m_valueToNode.set(value, node); |
(...skipping 20 matching lines...) Expand all Loading... |
97 m_valueToNode.remove(value); | 97 m_valueToNode.remove(value); |
98 } | 98 } |
99 | 99 |
100 void WeakNodeMap::notifyNodeDestroyed(Node* node) | 100 void WeakNodeMap::notifyNodeDestroyed(Node* node) |
101 { | 101 { |
102 NodeToWeakNodeMaps::instance().nodeDestroyed(node); | 102 NodeToWeakNodeMaps::instance().nodeDestroyed(node); |
103 } | 103 } |
104 #endif | 104 #endif |
105 | 105 |
106 } | 106 } |
OLD | NEW |