Changeset 112826 in webkit
- Timestamp:
- Apr 1, 2012 7:53:32 PM (12 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r112825 r112826 1 2012-04-01 Li Yin <li.yin@intel.com> 2 3 [WebSocket]Reserved bits test case should cover both extension and no-extension scenarios 4 https://bugs.webkit.org/show_bug.cgi?id=82100 5 6 Reviewed by Kent Tamura. 7 8 Solve the problem that Qt Webkit failed when runing the reserved-bits.html 9 Support both enabled ZLIB and disabled ZLIB scenarios. 10 11 * http/tests/websocket/tests/hybi/reserved-bits-expected.txt: 12 * http/tests/websocket/tests/hybi/reserved-bits_wsh.py: 13 (_get_deflate_frame_extension_processor): 14 (web_socket_do_extra_handshake): 15 1 16 2012-04-01 Adam Barth <abarth@webkit.org> 2 17 -
trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits-expected.txt
r112488 r112826 1 CONSOLE MESSAGE: Received unexpected compressed frame1 CONSOLE MESSAGE: Compressed bit must be 0 if no negotiated deflate-frame extension 2 2 CONSOLE MESSAGE: One or more reserved bits are on: reserved2 = 1, reserved3 = 0 3 3 CONSOLE MESSAGE: One or more reserved bits are on: reserved2 = 0, reserved3 = 1 -
trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits_wsh.py
r112488 r112826 2 2 from mod_pywebsocket import common 3 3 from mod_pywebsocket import stream 4 4 from mod_pywebsocket.extensions import DeflateFrameExtensionProcessor 5 5 6 6 bit = 0 7 8 def _get_deflate_frame_extension_processor(request): 9 for extension_processor in request.ws_extension_processors: 10 if isinstance(extension_processor, DeflateFrameExtensionProcessor): 11 return extension_processor 12 return None 13 7 14 8 15 def web_socket_do_extra_handshake(request): … … 17 24 if compressed == "false": 18 25 request.ws_extension_processors = [] # using no extension response 26 else: 27 processor = _get_deflate_frame_extension_processor(request) 28 if not processor: 29 request.ws_extension_processors = [] # using no extension response 19 30 20 31 -
trunk/Source/WebCore/ChangeLog
r112825 r112826 1 2012-04-01 Li Yin <li.yin@intel.com> 2 3 [WebSocket]Reserved bits test case should cover both extension and no-extension scenarios 4 https://bugs.webkit.org/show_bug.cgi?id=82100 5 6 Reviewed by Kent Tamura. 7 8 When it had no negotiated deflate-frame extension, if browser received the frame with 9 setting compressed bit, it should fail the connection, and it should cover both 10 enabling ZLIB port and disabling ZLIB port. 11 12 Test: http/tests/websocket/tests/hybi/reserved-bits.html 13 14 * Modules/websockets/WebSocketDeflateFramer.cpp: 15 (WebCore::WebSocketDeflateFramer::inflate): 16 1 17 2012-04-01 Adam Barth <abarth@webkit.org> 2 18 -
trunk/Source/WebCore/Modules/websockets/WebSocketDeflateFramer.cpp
r109538 r112826 218 218 PassOwnPtr<InflateResultHolder> WebSocketDeflateFramer::inflate(WebSocketFrame& frame) 219 219 { 220 #if USE(ZLIB)221 220 OwnPtr<InflateResultHolder> result = InflateResultHolder::create(this); 221 if (!enabled() && frame.compress) { 222 result->fail("Compressed bit must be 0 if no negotiated deflate-frame extension"); 223 return result.release(); 224 } 225 #if USE(ZLIB) 222 226 if (!frame.compress) 223 227 return result.release(); 224 if (! enabled() || !WebSocketFrame::isNonControlOpCode(frame.opCode)) {228 if (!WebSocketFrame::isNonControlOpCode(frame.opCode)) { 225 229 result->fail("Received unexpected compressed frame"); 226 230 return result.release(); … … 235 239 return result.release(); 236 240 #else 237 return InflateResultHolder::create(this);241 return result.release(); 238 242 #endif 239 243 }
Note: See TracChangeset
for help on using the changeset viewer.