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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 ASSERT(executionContext()); | 73 ASSERT(executionContext()); |
74 ExecutionContextData* self = m_tracker->m_executionContextDataMap.take(e
xecutionContext()); | 74 ExecutionContextData* self = m_tracker->m_executionContextDataMap.take(e
xecutionContext()); |
75 ASSERT(self == this); | 75 ASSERT(self == this); |
76 ContextLifecycleObserver::contextDestroyed(); | 76 ContextLifecycleObserver::contextDestroyed(); |
77 delete self; | 77 delete self; |
78 } | 78 } |
79 | 79 |
80 void addEventListenerData(EventTarget* eventTarget, const AtomicString& even
tType, const EventListenerAsyncCallChain& item) | 80 void addEventListenerData(EventTarget* eventTarget, const AtomicString& even
tType, const EventListenerAsyncCallChain& item) |
81 { | 81 { |
82 HashMap<EventTarget*, EventListenerAsyncCallChainVectorHashMap>::iterato
r it = m_eventTargetCallChains.find(eventTarget); | 82 HashMap<EventTarget*, EventListenerAsyncCallChainVectorHashMap>::iterato
r it = m_eventTargetCallChains.find(eventTarget); |
| 83 EventListenerAsyncCallChainVectorHashMap* mapPtr; |
83 if (it == m_eventTargetCallChains.end()) | 84 if (it == m_eventTargetCallChains.end()) |
84 it = m_eventTargetCallChains.set(eventTarget, EventListenerAsyncCall
ChainVectorHashMap()).iterator; | 85 mapPtr = &m_eventTargetCallChains.set(eventTarget, EventListenerAsyn
cCallChainVectorHashMap()).iterator->value; |
85 EventListenerAsyncCallChainVectorHashMap& map = it->value; | 86 else |
| 87 mapPtr = &it->value; |
| 88 EventListenerAsyncCallChainVectorHashMap& map = *mapPtr; |
86 EventListenerAsyncCallChainVectorHashMap::iterator it2 = map.find(eventT
ype); | 89 EventListenerAsyncCallChainVectorHashMap::iterator it2 = map.find(eventT
ype); |
87 if (it2 == map.end()) | 90 if (it2 == map.end()) |
88 it2 = map.set(eventType, EventListenerAsyncCallChainVector()).iterat
or; | 91 map.set(eventType, EventListenerAsyncCallChainVector()).iterator->va
lue.append(item); |
89 it2->value.append(item); | 92 else |
| 93 it2->value.append(item); |
90 } | 94 } |
91 | 95 |
92 void removeEventListenerData(EventTarget* eventTarget, const AtomicString& e
ventType, const RegisteredEventListener& item) | 96 void removeEventListenerData(EventTarget* eventTarget, const AtomicString& e
ventType, const RegisteredEventListener& item) |
93 { | 97 { |
94 findEventListenerData(eventTarget, eventType, item, true); | 98 findEventListenerData(eventTarget, eventType, item, true); |
95 } | 99 } |
96 | 100 |
97 PassRefPtr<AsyncCallChain> findEventListenerData(EventTarget* eventTarget, c
onst AtomicString& eventType, const RegisteredEventListener& item, bool remove =
false) | 101 PassRefPtr<AsyncCallChain> findEventListenerData(EventTarget* eventTarget, c
onst AtomicString& eventType, const RegisteredEventListener& item, bool remove =
false) |
98 { | 102 { |
99 HashMap<EventTarget*, EventListenerAsyncCallChainVectorHashMap>::iterato
r it = m_eventTargetCallChains.find(eventTarget); | 103 HashMap<EventTarget*, EventListenerAsyncCallChainVectorHashMap>::iterato
r it = m_eventTargetCallChains.find(eventTarget); |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 { | 452 { |
449 m_currentAsyncCallChain.clear(); | 453 m_currentAsyncCallChain.clear(); |
450 m_nestedAsyncCallCount = 0; | 454 m_nestedAsyncCallCount = 0; |
451 ExecutionContextDataMap copy; | 455 ExecutionContextDataMap copy; |
452 m_executionContextDataMap.swap(copy); | 456 m_executionContextDataMap.swap(copy); |
453 for (ExecutionContextDataMap::const_iterator it = copy.begin(); it != copy.e
nd(); ++it) | 457 for (ExecutionContextDataMap::const_iterator it = copy.begin(); it != copy.e
nd(); ++it) |
454 delete it->value; | 458 delete it->value; |
455 } | 459 } |
456 | 460 |
457 } // namespace WebCore | 461 } // namespace WebCore |
OLD | NEW |