Changeset 49786 in webkit


Ignore:
Timestamp:
Oct 19, 2009 9:00:18 AM (15 years ago)
Author:
eric@webkit.org
Message:

2009-10-19 Dmitry Titov <dimich@chromium.org>

Reviewed by Adam Barth.

Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
https://bugs.webkit.org/show_bug.cgi?id=29832

Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.

I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.

  • page/Frame.cpp: (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r49783 r49786  
     12009-10-19  Dmitry Titov  <dimich@chromium.org>
     2
     3        Reviewed by Adam Barth.
     4
     5        Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
     6        https://bugs.webkit.org/show_bug.cgi?id=29832
     7
     8        Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
     9        This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.
     10
     11        I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.
     12
     13        * page/Frame.cpp:
     14        (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
     15
    1162009-10-19  Csaba Osztrogonác  <ossy@webkit.org>
    217
  • trunk/WebCore/page/Frame.cpp

    r49033 r49786  
    199199    if (m_domWindow)
    200200        m_domWindow->disconnectFrame();
     201    script()->clearWindowShell();
    201202
    202203    HashSet<DOMWindow*>::iterator end = m_liveFormerWindows.end();
Note: See TracChangeset for help on using the changeset viewer.