-
bashi@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=78557 Source/WebCore: Implement WebSocket "extensions" attribute that holds a list of extension the server accepted. No change in behavior at this time because we don't send any extension on handshake. Reviewed by Kent Tamura. No new tests. http/tests/websocket/tests/hybi/extensions.html checks the value of this attribute. * websockets/ThreadableWebSocketChannel.h: Add extensions(). (ThreadableWebSocketChannel): * websockets/ThreadableWebSocketChannelClientWrapper.cpp: (WebCore::ThreadableWebSocketChannelClientWrapper::extensions): Added. (WebCore): (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions): Added. * websockets/ThreadableWebSocketChannelClientWrapper.h: (ThreadableWebSocketChannelClientWrapper): * websockets/WebSocket.cpp: Added m_extensions member variable. (WebCore::WebSocket::WebSocket): (WebCore::WebSocket::extensions): Returns m_extensions. * websockets/WebSocket.h: * websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::extensions): Added. (WebCore): * websockets/WebSocketChannel.h: (WebSocketChannel): * websockets/WebSocketExtensionDispatcher.cpp: (WebCore::WebSocketExtensionDispatcher::fail): Added. (WebCore::WebSocketExtensionDispatcher::processHeaderValue): Stores accepted extensions. (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added. (WebCore): (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added. * websockets/WebSocketExtensionDispatcher.h: (WebSocketExtensionDispatcher): * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::acceptedExtensions): Added. (WebCore): * websockets/WebSocketHandshake.h: * websockets/WorkerThreadableWebSocketChannel.cpp: (WebCore::WorkerThreadableWebSocketChannel::extensions): Added. (WebCore): (WebCore::workerContextDidConnect): Calls ThreadableWebSocketChannelClientWrapper::setExtensions(). (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect): Passes extensions as an argument. * websockets/WorkerThreadableWebSocketChannel.h: (WorkerThreadableWebSocketChannel): Source/WebKit/chromium: Add WebSocketExtensionDispatcher::acceptedExtensions() checks. Reviewed by Kent Tamura. * tests/WebSocketExtensionDispatcherTest.cpp: (WebCore::TEST_F): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
afb40ae5