Changeset 116917 in webkit


Ignore:
Timestamp:
May 13, 2012 10:26:17 PM (12 years ago)
Author:
Darin Adler
Message:

Listeners map uses raw pointers, but should use OwnPtr
https://bugs.webkit.org/show_bug.cgi?id=86298

Reviewed by Dan Bernstein.

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::~PageScriptDebugServer): Removed call
to deleteAllValues since the destructor now takes care of this
(WebCore::PageScriptDebugServer::addListener): Changed idiom of the add
function call here to use adoptPtr.
(WebCore::PageScriptDebugServer::removeListener): Added a now-needed
call to get and removed a now-uneeeded call to delete.

  • bindings/js/PageScriptDebugServer.h: Changed the key type of

PageListenersMap to OwnPtr.

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::~ScriptDebugServer): Removed code to delete
the values in m_pageListenersMap. This map was never used and so I have
removed it.

  • bindings/js/ScriptDebugServer.h: Removed the type PageListenersMap

and the unused data member, m_pageListenersMap.

Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r116915 r116917  
     12012-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
    1252012-05-13  Yoshifumi Inoue  <yosin@chromium.org>
    226
  • trunk/Source/WebCore/bindings/js/PageScriptDebugServer.cpp

    r113631 r116917  
    7676PageScriptDebugServer::~PageScriptDebugServer()
    7777{
    78     deleteAllValues(m_pageListenersMap);
    7978}
    8079
     
    8483    ASSERT_ARG(page, page);
    8584
    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);
    9188    listeners->add(listener);
    9289
     
    104101        return;
    105102
    106     ListenerSet* listeners = it->second;
     103    ListenerSet* listeners = it->second.get();
    107104    listeners->remove(listener);
    108105    if (listeners->isEmpty()) {
    109106        m_pageListenersMap.remove(it);
    110         delete listeners;
    111107        didRemoveLastListener(page);
    112108    }
  • trunk/Source/WebCore/bindings/js/PageScriptDebugServer.h

    r102869 r116917  
    5555
    5656private:
    57     typedef HashMap<Page*, ListenerSet*> PageListenersMap;
     57    typedef HashMap<Page*, OwnPtr<ListenerSet> > PageListenersMap;
    5858
    5959    PageScriptDebugServer();
  • trunk/Source/WebCore/bindings/js/ScriptDebugServer.cpp

    r113387 r116917  
    6666ScriptDebugServer::~ScriptDebugServer()
    6767{
    68     deleteAllValues(m_pageListenersMap);
    6968}
    7069
  • trunk/Source/WebCore/bindings/js/ScriptDebugServer.h

    r108344 r116917  
    134134    virtual void didReachBreakpoint(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno);
    135135
    136     typedef HashMap<Page*, ListenerSet*> PageListenersMap;
    137136    typedef HashMap<long, ScriptBreakpoint> LineToBreakpointMap;
    138137    typedef HashMap<intptr_t, LineToBreakpointMap> SourceIdToBreakpointsMap;
    139138
    140     PageListenersMap m_pageListenersMap;
    141139    bool m_callingListeners;
    142140    PauseOnExceptionsState m_pauseOnExceptionsState;
Note: See TracChangeset for help on using the changeset viewer.