Changeset 27839 in webkit


Ignore:
Timestamp:
Nov 15, 2007 10:15:18 PM (16 years ago)
Author:
timothy@apple.com
Message:

Reviewed by Mark Rowe.

Bug 14761: Web Inspector leaks JS objects and DOM nodes
http://bugs.webkit.org/show_bug.cgi?id=14761

  • page/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): Change the tear down order so that inspectorDestroyed() is called before InspectorController private data is set to Zero. The inspectorDestroyed() call ends up closing the WebView and triggering InspectorController::close() which unprotects m_scriptObject. This didn't happen when the private data was cleared before calling inspectorDestroyed().
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r27838 r27839  
     12007-11-15  Timothy Hatcher  <timothy@apple.com>
     2
     3        Reviewed by Mark Rowe.
     4
     5        Bug 14761: Web Inspector leaks JS objects and DOM nodes
     6        http://bugs.webkit.org/show_bug.cgi?id=14761
     7
     8        * page/InspectorController.cpp:
     9        (WebCore::InspectorController::~InspectorController):
     10        Change the tear down order so that inspectorDestroyed() is called before
     11        InspectorController private data is set to Zero. The inspectorDestroyed()
     12        call ends up closing the WebView and triggering InspectorController::close()
     13        which unprotects m_scriptObject. This didn't happen when the private data
     14        was cleared before calling inspectorDestroyed().
     15
    1162007-11-15  Mark Rowe  <mrowe@apple.com>
    217
  • trunk/WebCore/page/InspectorController.cpp

    r27776 r27839  
    562562InspectorController::~InspectorController()
    563563{
     564    m_client->inspectorDestroyed();
     565
    564566    if (m_scriptContext) {
    565567        JSObjectRef global = JSContextGetGlobalObject(m_scriptContext);
     
    569571        JSObjectSetPrivate(controller, 0);
    570572    }
    571 
    572     m_client->closeWindow();
    573     m_client->inspectorDestroyed();
    574573
    575574    if (m_page)
Note: See TracChangeset for help on using the changeset viewer.