Changeset 116917 in webkit
- Timestamp:
- May 13, 2012 10:26:17 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r116915 r116917 1 2012-05-13 Darin Adler <darin@apple.com> 2 3 Listeners map uses raw pointers, but should use OwnPtr 4 https://bugs.webkit.org/show_bug.cgi?id=86298 5 6 Reviewed by Dan Bernstein. 7 8 * bindings/js/PageScriptDebugServer.cpp: 9 (WebCore::PageScriptDebugServer::~PageScriptDebugServer): Removed call 10 to deleteAllValues since the destructor now takes care of this 11 (WebCore::PageScriptDebugServer::addListener): Changed idiom of the add 12 function call here to use adoptPtr. 13 (WebCore::PageScriptDebugServer::removeListener): Added a now-needed 14 call to get and removed a now-uneeeded call to delete. 15 * bindings/js/PageScriptDebugServer.h: Changed the key type of 16 PageListenersMap to OwnPtr. 17 18 * bindings/js/ScriptDebugServer.cpp: 19 (WebCore::ScriptDebugServer::~ScriptDebugServer): Removed code to delete 20 the values in m_pageListenersMap. This map was never used and so I have 21 removed it. 22 * bindings/js/ScriptDebugServer.h: Removed the type PageListenersMap 23 and the unused data member, m_pageListenersMap. 24 1 25 2012-05-13 Yoshifumi Inoue <yosin@chromium.org> 2 26 -
trunk/Source/WebCore/bindings/js/PageScriptDebugServer.cpp
r113631 r116917 76 76 PageScriptDebugServer::~PageScriptDebugServer() 77 77 { 78 deleteAllValues(m_pageListenersMap);79 78 } 80 79 … … 84 83 ASSERT_ARG(page, page); 85 84 86 PageListenersMap::AddResult result = m_pageListenersMap.add(page, 0); 87 if (result.isNewEntry) 88 result.iterator->second = new ListenerSet; 89 90 ListenerSet* listeners = result.iterator->second; 85 OwnPtr<ListenerSet>& listeners = m_pageListenersMap.add(page, nullptr).iterator->second; 86 if (!listeners) 87 listeners = adoptPtr(new ListenerSet); 91 88 listeners->add(listener); 92 89 … … 104 101 return; 105 102 106 ListenerSet* listeners = it->second ;103 ListenerSet* listeners = it->second.get(); 107 104 listeners->remove(listener); 108 105 if (listeners->isEmpty()) { 109 106 m_pageListenersMap.remove(it); 110 delete listeners;111 107 didRemoveLastListener(page); 112 108 } -
trunk/Source/WebCore/bindings/js/PageScriptDebugServer.h
r102869 r116917 55 55 56 56 private: 57 typedef HashMap<Page*, ListenerSet*> PageListenersMap;57 typedef HashMap<Page*, OwnPtr<ListenerSet> > PageListenersMap; 58 58 59 59 PageScriptDebugServer(); -
trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp
r113387 r116917 66 66 ScriptDebugServer::~ScriptDebugServer() 67 67 { 68 deleteAllValues(m_pageListenersMap);69 68 } 70 69 -
trunk/Source/WebCore/bindings/js/ScriptDebugServer.h
r108344 r116917 134 134 virtual void didReachBreakpoint(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno); 135 135 136 typedef HashMap<Page*, ListenerSet*> PageListenersMap;137 136 typedef HashMap<long, ScriptBreakpoint> LineToBreakpointMap; 138 137 typedef HashMap<intptr_t, LineToBreakpointMap> SourceIdToBreakpointsMap; 139 138 140 PageListenersMap m_pageListenersMap;141 139 bool m_callingListeners; 142 140 PauseOnExceptionsState m_pauseOnExceptionsState;
Note: See TracChangeset
for help on using the changeset viewer.