| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 CustomElementObserver::elementWasDestroyed(element); | 72 CustomElementObserver::elementWasDestroyed(element); |
| 73 UpgradeCandidateMap::iterator candidate = m_upgradeCandidates.find(element); | 73 UpgradeCandidateMap::iterator candidate = m_upgradeCandidates.find(element); |
| 74 ASSERT_WITH_SECURITY_IMPLICATION(candidate != m_upgradeCandidates.end()); | 74 ASSERT_WITH_SECURITY_IMPLICATION(candidate != m_upgradeCandidates.end()); |
| 75 | 75 |
| 76 UnresolvedDefinitionMap::iterator elements = m_unresolvedDefinitions.find(ca
ndidate->value); | 76 UnresolvedDefinitionMap::iterator elements = m_unresolvedDefinitions.find(ca
ndidate->value); |
| 77 ASSERT_WITH_SECURITY_IMPLICATION(elements != m_unresolvedDefinitions.end()); | 77 ASSERT_WITH_SECURITY_IMPLICATION(elements != m_unresolvedDefinitions.end()); |
| 78 elements->value->remove(element); | 78 elements->value->remove(element); |
| 79 m_upgradeCandidates.remove(candidate); | 79 m_upgradeCandidates.remove(candidate); |
| 80 } | 80 } |
| 81 | 81 |
| 82 void CustomElementUpgradeCandidateMap::elementDidFinishParsingChildren(Element*
element) | |
| 83 { | |
| 84 // An upgrade candidate finished parsing; reorder so that eventual | |
| 85 // upgrade order matches finished-parsing order. | |
| 86 moveToEnd(element); | |
| 87 } | |
| 88 | |
| 89 void CustomElementUpgradeCandidateMap::moveToEnd(Element* element) | |
| 90 { | |
| 91 UpgradeCandidateMap::iterator candidate = m_upgradeCandidates.find(element); | |
| 92 ASSERT_WITH_SECURITY_IMPLICATION(candidate != m_upgradeCandidates.end()); | |
| 93 | |
| 94 UnresolvedDefinitionMap::iterator elements = m_unresolvedDefinitions.find(ca
ndidate->value); | |
| 95 ASSERT_WITH_SECURITY_IMPLICATION(elements != m_unresolvedDefinitions.end()); | |
| 96 elements->value->appendOrMoveToLast(element); | |
| 97 } | |
| 98 | |
| 99 PassOwnPtrWillBeRawPtr<CustomElementUpgradeCandidateMap::ElementSet> CustomEleme
ntUpgradeCandidateMap::takeUpgradeCandidatesFor(const CustomElementDescriptor& d
escriptor) | 82 PassOwnPtrWillBeRawPtr<CustomElementUpgradeCandidateMap::ElementSet> CustomEleme
ntUpgradeCandidateMap::takeUpgradeCandidatesFor(const CustomElementDescriptor& d
escriptor) |
| 100 { | 83 { |
| 101 OwnPtrWillBeRawPtr<ElementSet> candidates = m_unresolvedDefinitions.take(des
criptor); | 84 OwnPtrWillBeRawPtr<ElementSet> candidates = m_unresolvedDefinitions.take(des
criptor); |
| 102 | 85 |
| 103 if (!candidates) | 86 if (!candidates) |
| 104 return nullptr; | 87 return nullptr; |
| 105 | 88 |
| 106 for (const auto& candidate : *candidates) { | 89 for (const auto& candidate : *candidates) { |
| 107 unobserve(candidate); | 90 unobserve(candidate); |
| 108 m_upgradeCandidates.remove(candidate); | 91 m_upgradeCandidates.remove(candidate); |
| 109 } | 92 } |
| 110 return candidates.release(); | 93 return candidates.release(); |
| 111 } | 94 } |
| 112 | 95 |
| 113 void CustomElementUpgradeCandidateMap::trace(Visitor* visitor) | 96 void CustomElementUpgradeCandidateMap::trace(Visitor* visitor) |
| 114 { | 97 { |
| 115 #if ENABLE(OILPAN) | 98 #if ENABLE(OILPAN) |
| 116 visitor->trace(m_upgradeCandidates); | 99 visitor->trace(m_upgradeCandidates); |
| 117 visitor->trace(m_unresolvedDefinitions); | 100 visitor->trace(m_unresolvedDefinitions); |
| 118 #endif | 101 #endif |
| 119 CustomElementObserver::trace(visitor); | 102 CustomElementObserver::trace(visitor); |
| 120 } | 103 } |
| 121 | 104 |
| 122 } // namespace blink | 105 } // namespace blink |
| OLD | NEW |