2010-01-06 Fumitoshi Ukai <ukai@chromium.org>
authorukai@chromium.org <ukai@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Jan 2010 02:33:35 +0000 (02:33 +0000)
committerukai@chromium.org <ukai@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Jan 2010 02:33:35 +0000 (02:33 +0000)
commiteffc93a99b2e1f3eb619e8899629918859ce87b8
tree7199f9500f3a46af9e1d5bd323ecea06e534c291
parentfb93c10c3494687b2362b9102745e0cf29409db7
2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin

        Add WebSocket feature in Worker
        https://bugs.webkit.org/show_bug.cgi?id=32214

        * websocket/tests/workers/resources/simple_wsh.py: Copied from LayoutTests/websocket/tests/simple_wsh.py.
        * websocket/tests/workers/resources/worker-simple.js: Added.
        * websocket/tests/workers/worker-simple-expected.txt: Added.
        * websocket/tests/workers/worker-simple.html: Added.
2010-01-06  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        Add WebSocket feature in Worker
        https://bugs.webkit.org/show_bug.cgi?id=32214

        Introduce ThreadableWebSocketChannel interface and add
        WorkerThreadableWebSocketChannel for Worker.
        WorkerThreadableWebSocketChannel uses WebSocketChannel in the
        main thread, which is managed by Peer and communicated via Bridge.

        Test: websocket/tests/workers/worker-simple.html

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebSocketConstructor.h:
        * bindings/js/JSWorkerContextCustom.cpp:
        (WebCore::JSWorkerContext::webSocket):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
        * bindings/v8/custom/V8WebSocketCustom.cpp:
        (WebCore::V8Custom::v8WebSocketConstructorCallback):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        * platform/CrossThreadCopier.cpp:
        (WebCore::::copy):
        * platform/CrossThreadCopier.h:
        (WebCore::):
        * websockets/ThreadableWebSocketChannel.cpp: Added.
        * websockets/ThreadableWebSocketChannel.h: Added.
        * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        (WebCore::WebSocket::didReceiveMessage):
        * websockets/WebSocket.h:
        * websockets/WebSocketChannel.h:
        (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
        (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
        * websockets/WebSocketChannelClient.h:
        * websockets/WebSocketHandshake.h:
        * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
        * websockets/WorkerThreadableWebSocketChannel.h: Added.
        * workers/WorkerContext.idl:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@52892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
29 files changed:
LayoutTests/ChangeLog
LayoutTests/websocket/tests/workers/resources/simple_wsh.py [new file with mode: 0644]
LayoutTests/websocket/tests/workers/resources/worker-simple.js [new file with mode: 0644]
LayoutTests/websocket/tests/workers/worker-simple-expected.txt [new file with mode: 0644]
LayoutTests/websocket/tests/workers/worker-simple.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/GNUmakefile.am
WebCore/WebCore.gypi
WebCore/WebCore.pro
WebCore/WebCore.vcproj/WebCore.vcproj
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/bindings/js/JSWebSocketConstructor.h
WebCore/bindings/js/JSWorkerContextCustom.cpp
WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
WebCore/bindings/v8/custom/V8WebSocketCustom.cpp
WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
WebCore/platform/CrossThreadCopier.cpp
WebCore/platform/CrossThreadCopier.h
WebCore/websockets/ThreadableWebSocketChannel.cpp [new file with mode: 0644]
WebCore/websockets/ThreadableWebSocketChannel.h [new file with mode: 0644]
WebCore/websockets/ThreadableWebSocketChannelClientWrapper.h [new file with mode: 0644]
WebCore/websockets/WebSocket.cpp
WebCore/websockets/WebSocket.h
WebCore/websockets/WebSocketChannel.h
WebCore/websockets/WebSocketChannelClient.h
WebCore/websockets/WebSocketHandshake.h
WebCore/websockets/WorkerThreadableWebSocketChannel.cpp [new file with mode: 0644]
WebCore/websockets/WorkerThreadableWebSocketChannel.h [new file with mode: 0644]
WebCore/workers/WorkerContext.idl