| 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 WebCore { | 10 namespace WebCore { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 NodeToWeakNodeMaps& allMaps = NodeToWeakNodeMaps::instance(); | 63 NodeToWeakNodeMaps& allMaps = NodeToWeakNodeMaps::instance(); |
| 64 for (NodeToValue::iterator it = m_nodeToValue.begin(); it != m_nodeToValue.e
nd(); ++it) { | 64 for (NodeToValue::iterator it = m_nodeToValue.begin(); it != m_nodeToValue.e
nd(); ++it) { |
| 65 Node* node = it->key; | 65 Node* node = it->key; |
| 66 if (allMaps.removedFromMap(node, this)) | 66 if (allMaps.removedFromMap(node, this)) |
| 67 node->clearFlag(Node::HasWeakReferencesFlag); | 67 node->clearFlag(Node::HasWeakReferencesFlag); |
| 68 } | 68 } |
| 69 } | 69 } |
| 70 | 70 |
| 71 void WeakNodeMap::put(Node* node, int value) | 71 void WeakNodeMap::put(Node* node, int value) |
| 72 { | 72 { |
| 73 ASSERT(!m_nodeToValue.contains(node)); | 73 ASSERT(node && !m_nodeToValue.contains(node)); |
| 74 m_nodeToValue.set(node, value); | 74 m_nodeToValue.set(node, value); |
| 75 m_valueToNode.set(value, node); | 75 m_valueToNode.set(value, node); |
| 76 | 76 |
| 77 NodeToWeakNodeMaps& maps = NodeToWeakNodeMaps::instance(); | 77 NodeToWeakNodeMaps& maps = NodeToWeakNodeMaps::instance(); |
| 78 if (maps.addedToMap(node, this)) | 78 if (maps.addedToMap(node, this)) |
| 79 node->setFlag(Node::HasWeakReferencesFlag); | 79 node->setFlag(Node::HasWeakReferencesFlag); |
| 80 } | 80 } |
| 81 | 81 |
| 82 int WeakNodeMap::value(Node* node) | 82 int WeakNodeMap::value(Node* node) |
| 83 { | 83 { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 95 ASSERT(value); | 95 ASSERT(value); |
| 96 m_valueToNode.remove(value); | 96 m_valueToNode.remove(value); |
| 97 } | 97 } |
| 98 | 98 |
| 99 void WeakNodeMap::notifyNodeDestroyed(Node* node) | 99 void WeakNodeMap::notifyNodeDestroyed(Node* node) |
| 100 { | 100 { |
| 101 NodeToWeakNodeMaps::instance().nodeDestroyed(node); | 101 NodeToWeakNodeMaps::instance().nodeDestroyed(node); |
| 102 } | 102 } |
| 103 | 103 |
| 104 } | 104 } |
| OLD | NEW |