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 18 matching lines...) Expand all Loading... |
29 */ | 29 */ |
30 | 30 |
31 #ifndef V0CustomElementUpgradeCandidateMap_h | 31 #ifndef V0CustomElementUpgradeCandidateMap_h |
32 #define V0CustomElementUpgradeCandidateMap_h | 32 #define V0CustomElementUpgradeCandidateMap_h |
33 | 33 |
34 #include "core/dom/custom/V0CustomElementDescriptor.h" | 34 #include "core/dom/custom/V0CustomElementDescriptor.h" |
35 #include "core/dom/custom/V0CustomElementDescriptorHash.h" | 35 #include "core/dom/custom/V0CustomElementDescriptorHash.h" |
36 #include "core/dom/custom/V0CustomElementObserver.h" | 36 #include "core/dom/custom/V0CustomElementObserver.h" |
37 #include "wtf/HashMap.h" | 37 #include "wtf/HashMap.h" |
38 #include "wtf/LinkedHashSet.h" | 38 #include "wtf/LinkedHashSet.h" |
39 #include "wtf/Noncopyable.h" | |
40 | 39 |
41 namespace blink { | 40 namespace blink { |
42 | 41 |
43 class V0CustomElementUpgradeCandidateMap final : public V0CustomElementObserver
{ | 42 class V0CustomElementUpgradeCandidateMap final : public V0CustomElementObserver
{ |
44 WTF_MAKE_NONCOPYABLE(V0CustomElementUpgradeCandidateMap); | 43 DISALLOW_COPY_AND_ASSIGN(V0CustomElementUpgradeCandidateMap); |
45 public: | 44 public: |
46 static V0CustomElementUpgradeCandidateMap* create(); | 45 static V0CustomElementUpgradeCandidateMap* create(); |
47 ~V0CustomElementUpgradeCandidateMap() override; | 46 ~V0CustomElementUpgradeCandidateMap() override; |
48 | 47 |
49 // API for V0CustomElementRegistrationContext to save and take candidates | 48 // API for V0CustomElementRegistrationContext to save and take candidates |
50 | 49 |
51 typedef HeapLinkedHashSet<WeakMember<Element>> ElementSet; | 50 typedef HeapLinkedHashSet<WeakMember<Element>> ElementSet; |
52 | 51 |
53 void add(const V0CustomElementDescriptor&, Element*); | 52 void add(const V0CustomElementDescriptor&, Element*); |
54 ElementSet* takeUpgradeCandidatesFor(const V0CustomElementDescriptor&); | 53 ElementSet* takeUpgradeCandidatesFor(const V0CustomElementDescriptor&); |
55 | 54 |
56 DECLARE_VIRTUAL_TRACE(); | 55 DECLARE_VIRTUAL_TRACE(); |
57 | 56 |
58 private: | 57 private: |
59 V0CustomElementUpgradeCandidateMap() { } | 58 V0CustomElementUpgradeCandidateMap() { } |
60 | 59 |
61 void elementWasDestroyed(Element*) override; | 60 void elementWasDestroyed(Element*) override; |
62 | 61 |
63 typedef HeapHashMap<WeakMember<Element>, V0CustomElementDescriptor> UpgradeC
andidateMap; | 62 typedef HeapHashMap<WeakMember<Element>, V0CustomElementDescriptor> UpgradeC
andidateMap; |
64 UpgradeCandidateMap m_upgradeCandidates; | 63 UpgradeCandidateMap m_upgradeCandidates; |
65 | 64 |
66 typedef HeapHashMap<V0CustomElementDescriptor, Member<ElementSet>> Unresolve
dDefinitionMap; | 65 typedef HeapHashMap<V0CustomElementDescriptor, Member<ElementSet>> Unresolve
dDefinitionMap; |
67 UnresolvedDefinitionMap m_unresolvedDefinitions; | 66 UnresolvedDefinitionMap m_unresolvedDefinitions; |
68 }; | 67 }; |
69 | 68 |
70 } // namespace blink | 69 } // namespace blink |
71 | 70 |
72 #endif // V0CustomElementUpgradeCandidateMap_h | 71 #endif // V0CustomElementUpgradeCandidateMap_h |
OLD | NEW |