• ukai@chromium.org's avatar
    2010-02-02 Fumitoshi Ukai <ukai@chromium.org> · e0a40164
    ukai@chromium.org authored
            Reviewed by Alexey Proskuryakov.
    
            WebSocket wrapper can be collected even if events are pending
            https://bugs.webkit.org/show_bug.cgi?id=34014
    
            * websocket/tests/websocket-pending-activity-expected.txt: Added.
            * websocket/tests/websocket-pending-activity.html: Added.
    2010-02-02  Fumitoshi Ukai  <ukai@chromium.org>
    
            Reviewed by Alexey Proskuryakov.
    
            WebSocket set pending activity to avoid unexpected GC.
            https://bugs.webkit.org/show_bug.cgi?id=34014
    
            Test: websocket/tests/websocket-pending-activity.html
    
            * websockets/WebSocket.cpp:
            (WebCore::WebSocket::connect): set pending activity until it receives didClose.
            (WebCore::WebSocket::contextDestroyed): check socket is already closed.
            (WebCore::WebSocket::stop): close the connection and unset pending activity when it stops.
            (WebCore::WebSocket::didClose): unset pending activity.
            * websockets/WebSocket.h:
            * websockets/WebSocketChannel.cpp:
            (WebCore::WebSocketChannel::didReceiveData): protect this while it processes received data.
    
    git-svn-id: svn://svn.chromium.org/blink/trunk@54267 bbb929c8-8fbe-4397-9dbb-9b2b20218538
    e0a40164
ChangeLog 16.3 KB