2006-09-14 Mark Rowe <opendarwin.org@bdash.net.nz>
authorbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Sep 2006 06:09:02 +0000 (06:09 +0000)
committerbdash <bdash@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Sep 2006 06:09:02 +0000 (06:09 +0000)
commita758d8eaeb66fb25636324bda5b6bc1e25e909b4
tree1f50faf305a9f819ba6d475d394d954346eb0761
parent754dc444a8e8f4d2f065b74f98affff01156c498
2006-09-14  Mark Rowe  <opendarwin.org@bdash.net.nz>

        Reviewed by Adam.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=10838
        Bug 10838: REGRESSION: Leaking of WebScriptObjectPrivate

        FrameMac relies on its cleanupPluginObjects being called to perform cleanup.  The virtual
        Frame::cleanupPluginObjects method is called from Frame's destructor, which results
        in Frame::cleanupPluginObjects being called rather than FrameMac::cleanupPluginObjects.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::~FrameMac): Call cancelAndClear to ensure that FrameMac::cleanupPluginObjects
        will be called from Frame::clear
        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Use cancelAndClear.
        (WebCore::Frame::cancelAndClear): Move cancellation and clearing into a separate method that
        FrameMac can use.
        * page/Frame.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/bridge/mac/FrameMac.mm
WebCore/page/Frame.cpp
WebCore/page/Frame.h