| 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 { |
| 11 | 11 |
| 12 #if !ENABLE(OILPAN) | 12 #if !ENABLE(OILPAN) |
| 13 class NodeToWeakNodeMaps { | 13 class NodeToWeakNodeMaps { |
| 14 public: | 14 public: |
| 15 bool addedToMap(Node*, WeakNodeMap*); | 15 bool addedToMap(Node*, WeakNodeMap*); |
| 16 bool removedFromMap(Node*, WeakNodeMap*); | 16 bool removedFromMap(Node*, WeakNodeMap*); |
| 17 void nodeDestroyed(Node*); | 17 void nodeDestroyed(Node*); |
| 18 | 18 |
| 19 static NodeToWeakNodeMaps& instance() | 19 static NodeToWeakNodeMaps& instance() |
| 20 { | 20 { |
| 21 DEFINE_STATIC_LOCAL(NodeToWeakNodeMaps, self, ()); | 21 DEFINE_STATIC_LOCAL(NodeToWeakNodeMaps, self, ()); |
| 22 return self; | 22 return self; |
| 23 } | 23 } |
| 24 | 24 |
| 25 private: | 25 private: |
| 26 typedef Vector<WeakNodeMap*, 1> MapList; | 26 typedef Vector<WeakNodeMap*, 1> MapList; |
| 27 typedef HashMap<Node*, OwnPtr<MapList> > NodeToMapList; | 27 typedef HashMap<Node*, OwnPtr<MapList>> NodeToMapList; |
| 28 NodeToMapList m_nodeToMapList; | 28 NodeToMapList m_nodeToMapList; |
| 29 }; | 29 }; |
| 30 | 30 |
| 31 bool NodeToWeakNodeMaps::addedToMap(Node* node, WeakNodeMap* map) | 31 bool NodeToWeakNodeMaps::addedToMap(Node* node, WeakNodeMap* map) |
| 32 { | 32 { |
| 33 NodeToMapList::AddResult result = m_nodeToMapList.add(node, nullptr); | 33 NodeToMapList::AddResult result = m_nodeToMapList.add(node, nullptr); |
| 34 if (result.isNewEntry) | 34 if (result.isNewEntry) |
| 35 result.storedValue->value = adoptPtr(new MapList()); | 35 result.storedValue->value = adoptPtr(new MapList()); |
| 36 result.storedValue->value->append(map); | 36 result.storedValue->value->append(map); |
| 37 return result.isNewEntry; | 37 return result.isNewEntry; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after 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 |