Changeset 148019 in webkit
- Timestamp:
- Apr 9, 2013 6:45:14 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r148015 r148019 1 2013-04-09 Lamarque V. Souza <Lamarque.Souza@basyskom.com> 2 3 [WebSocket] Ignore incoming message in CLOSING state 4 https://bugs.webkit.org/show_bug.cgi?id=85934 5 6 Reviewed by Kent Tamura. 7 8 * http/tests/websocket/tests/hybi/client-close-expected.txt: Rebaseline. 9 * http/tests/websocket/tests/hybi/client-close.html: Change expected results. 10 * http/tests/websocket/tests/hybi/client-close_wsh.py: Embed message in close frame 11 instead of using regular message sending call. 12 * http/tests/websocket/tests/hybi/fragmented-frames.html: Call WebSocket.close() 13 only after receiving all messages from server. 14 * http/tests/websocket/tests/hybi/unmasked-frames.html: Remove extra 15 WebSocket.close() call that caused regression. 16 1 17 2013-04-09 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> 2 18 -
trunk/LayoutTests/http/tests/websocket/tests/hybi/client-close-expected.txt
r91243 r148019 1 WebSocket: Test client-initiated close. 1 WebSocket: Test client-initiated close. After WebSocket.close() any message from server must be discarded by WebSocket stack according to the new WebSocket API. See http://webkit.org/b/85934. 2 2 3 3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 4 5 5 Connected 6 Received: close_frame[:2]='\x88\x80'7 6 Closed 8 PASS receivedMessage is "close_frame[:2]='\\x88\\x80'" 7 PASS receivedMessage is undefined. 8 PASS closeEvent.reason is "close_frame[:2]='\\x88\\x80'" 9 9 PASS closeEvent.wasClean is true 10 10 PASS successfullyParsed is true -
trunk/LayoutTests/http/tests/websocket/tests/hybi/client-close.html
r122256 r148019 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">1 <!DOCTYPE HTML> 2 2 <html> 3 3 <head> 4 <script src=" ../../../../js-test-resources/js-test-pre.js"></script>4 <script src="/js-test-resources/js-test-pre.js"></script> 5 5 </head> 6 6 <body> … … 8 8 <div id="console"></div> 9 9 <script type="text/javascript"> 10 description("WebSocket: Test client-initiated close. ");10 description("WebSocket: Test client-initiated close. After WebSocket.close() any message from server must be discarded by WebSocket stack according to the new WebSocket API. See http://webkit.org/b/85934."); 11 11 12 12 window.jsTestIsAsync = true; … … 24 24 ws.onmessage = function(messageEvent) 25 25 { 26 debug(" Received: " + messageEvent.data);26 debug("Message should have been ignored: " + messageEvent.data); 27 27 receivedMessage = messageEvent.data; 28 28 }; … … 32 32 debug("Closed"); 33 33 closeEvent = event; 34 shouldBeEqualToString("receivedMessage", "close_frame[:2]='\\x88\\x80'"); 34 shouldBeUndefined("receivedMessage"); 35 shouldBeEqualToString("closeEvent.reason", "close_frame[:2]='\\x88\\x80'"); 35 36 shouldBeTrue("closeEvent.wasClean"); 36 37 finishJSTest(); -
trunk/LayoutTests/http/tests/websocket/tests/hybi/client-close_wsh.py
r91243 r148019 1 import struct 2 1 3 from mod_pywebsocket import msgutil 2 4 from mod_pywebsocket import stream 3 5 4 6 def web_socket_do_extra_handshake(request): … … 10 12 close_frame = request.ws_stream.receive_bytes(6) 11 13 14 msgutil.send_message(request, 'Client should ignore this message') 15 12 16 # Send only first two bytes of the received frame. The remaining four bytes are 13 17 # "masking key", which changes every time the test runs. 14 msgutil.send_message(request, 'close_frame[:2]=%r' % close_frame[:2]) 18 data = struct.pack('!H', 1000) + 'close_frame[:2]=%r' % close_frame[:2] 19 request.connection.write(stream.create_close_frame(data)) 15 20 16 21 # If the following assertion fails, AssertionError will be raised, -
trunk/LayoutTests/http/tests/websocket/tests/hybi/fragmented-frames.html
r122256 r148019 2 2 <html> 3 3 <head> 4 <script src=" ../../../../js-test-resources/js-test-pre.js"></script>4 <script src="/js-test-resources/js-test-pre.js"></script> 5 5 </head> 6 6 <body> … … 21 21 { 22 22 debug("onopen() was called."); 23 ws.close();24 23 }; 25 24 … … 29 28 debug("onmessage() was called. (message = \"" + message + "\")"); 30 29 actualMessages.push(message); 30 31 if (actualMessages.length == 3) 32 ws.close(); 31 33 }; 32 34 -
trunk/LayoutTests/http/tests/websocket/tests/hybi/unmasked-frames.html
r122256 r148019 2 2 <html> 3 3 <head> 4 <script src=" ../../../../js-test-resources/js-test-pre.js"></script>4 <script src="/js-test-resources/js-test-pre.js"></script> 5 5 </head> 6 6 <body> … … 21 21 { 22 22 debug("onopen() was called."); 23 ws.close();24 23 }; 25 24 -
trunk/Source/WebCore/ChangeLog
r148017 r148019 1 2013-04-09 Lamarque V. Souza <Lamarque.Souza@basyskom.com> 2 3 [WebSocket] Ignore incoming message in CLOSING state 4 https://bugs.webkit.org/show_bug.cgi?id=85934 5 6 Reviewed by Kent Tamura. 7 8 Change WebSocket implementation to suit the new WebSocket API, which 9 states that we should ignore messages in CLOSING state. 10 11 No new tests, updating existing tests. 12 13 * Modules/websockets/WebSocket.cpp: 14 (WebCore::WebSocket::didReceiveMessage): 15 1 16 2013-04-09 Seokju Kwon <seokju.kwon@gmail.com> 2 17 -
trunk/Source/WebCore/Modules/websockets/WebSocket.cpp
r147556 r148019 514 514 { 515 515 LOG(Network, "WebSocket %p didReceiveMessage() Text message '%s'", this, msg.utf8().data()); 516 if (m_state != OPEN && m_state != CLOSING)516 if (m_state != OPEN) 517 517 return; 518 518 ASSERT(scriptExecutionContext());
Note: See TracChangeset
for help on using the changeset viewer.