Changeset 51979 in webkit
- Timestamp:
- Dec 11, 2009 2:44:33 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r51977 r51979 1 2009-12-11 Fumitoshi Ukai <ukai@chromium.org> 2 3 Reviewed by Pavel Feldman. 4 5 Log WebSocket error to Web Inspector console. 6 https://bugs.webkit.org/show_bug.cgi?id=32165 7 8 * websocket/tests/handshake-error-expected.txt: 9 * websocket/tests/handshake-fail-by-cross-origin-expected.txt: 10 * websocket/tests/handshake-fail-by-sub-protocol-mismatch-expected.txt: 11 1 12 2009-12-10 Adam Barth <abarth@webkit.org> 2 13 -
trunk/LayoutTests/websocket/tests/handshake-error-expected.txt
r50892 r51979 1 CONSOLE MESSAGE: line 0: Unexpected response code:101 1 2 Handshake error test 2 3 -
trunk/LayoutTests/websocket/tests/handshake-fail-by-cross-origin-expected.txt
r51743 r51979 1 CONSOLE MESSAGE: line 0: Error during WebSocket handshake: origin mismatch: http://127.0.0.1:8880 != http://example.com 1 2 Make sure Web Socket connection failed if origin mismatches. 2 3 -
trunk/LayoutTests/websocket/tests/handshake-fail-by-sub-protocol-mismatch-expected.txt
r51837 r51979 1 CONSOLE MESSAGE: line 0: Error during WebSocket handshake: protocol mismatch: requestting-protocol != available-protocol 1 2 Test WebSocket handshake fail if sub protocol name mismatches. 2 3 -
trunk/WebCore/ChangeLog
r51977 r51979 1 2009-12-11 Fumitoshi Ukai <ukai@chromium.org> 2 3 Reviewed by Pavel Feldman. 4 5 Log WebSocket error to Web Inspector console. 6 https://bugs.webkit.org/show_bug.cgi?id=32165 7 8 * websockets/WebSocketChannel.cpp: 9 (WebCore::WebSocketChannel::didOpen): 10 (WebCore::WebSocketChannel::appendToBuffer): 11 * websockets/WebSocketHandshake.cpp: 12 (WebCore::WebSocketHandshake::readServerHandshake): 13 (WebCore::WebSocketHandshake::readHTTPHeaders): 14 (WebCore::WebSocketHandshake::checkResponseHeaders): 15 1 16 2009-12-10 Adam Barth <abarth@webkit.org> 2 17 -
trunk/WebCore/websockets/WebSocketChannel.cpp
r51829 r51979 119 119 const CString& handshakeMessage = m_handshake.clientHandshakeMessage(); 120 120 if (!handle->send(handshakeMessage.data(), handshakeMessage.length())) { 121 LOG(Network, "Error in sending handshake message.");121 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Error sending handshake message.", 0, m_handshake.clientOrigin()); 122 122 handle->close(); 123 123 } … … 247 247 return true; 248 248 } 249 LOG(Network, "Too long WebSocket frame %d", m_bufferSize + len);249 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, String::format("WebSocket frame (at %d bytes) is too long.", m_bufferSize + len), 0, m_handshake.clientOrigin()); 250 250 return false; 251 251 } -
trunk/WebCore/websockets/WebSocketHandshake.cpp
r51589 r51979 217 217 const String& code = extractResponseCode(header, len); 218 218 if (code.isNull()) { 219 LOG(Network, "short server handshake: %s", header);219 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Short server handshake: " + String(header, len), 0, clientOrigin()); 220 220 return -1; 221 221 } 222 222 if (code.isEmpty()) { 223 LOG(Network, "no response code found: %s", header);223 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "No response code found: " + String(header, len), 0, clientOrigin()); 224 224 return len; 225 225 } 226 226 LOG(Network, "response code: %s", code.utf8().data()); 227 227 if (code == "401") { 228 LOG(Network, "Authentication required");228 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Authentication required, but not implemented yet.", 0, clientOrigin()); 229 229 return len; 230 230 } else { 231 LOG(Network, "Mismatch server handshake: %s", header);231 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Unexpected response code:" + code, 0, clientOrigin()); 232 232 return len; 233 233 } … … 241 241 return 0; 242 242 if (memcmp(p, webSocketUpgradeHeader, sizeof(webSocketUpgradeHeader) - 1)) { 243 LOG(Network, "Bad upgrade header: %s", p);243 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Bad Upgrade header: " + String(p, end - p), 0, clientOrigin()); 244 244 return p - header + sizeof(webSocketUpgradeHeader) - 1; 245 245 } … … 250 250 return -1; 251 251 if (memcmp(p, webSocketConnectionHeader, sizeof(webSocketConnectionHeader) - 1)) { 252 LOG(Network, "Bad connection header: %s", p);252 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Bad Connection header: " + String(p, end - p), 0, clientOrigin()); 253 253 return p - header + sizeof(webSocketConnectionHeader) - 1; 254 254 } … … 359 359 if (p + 1 < end && *(p + 1) == '\n') 360 360 return p + 2; 361 LOG(Network, "CR doesn't follow LF p=%p end=%p", p, end);361 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "CR doesn't follow LF at " + String(p, end - p), 0, clientOrigin()); 362 362 return 0; 363 363 } 364 LOG(Network, "Unexpected CR in name");364 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Unexpected CR in name at " + String(p, end - p), 0, clientOrigin()); 365 365 return 0; 366 366 case '\n': 367 LOG(Network, "Unexpected LF in name");367 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Unexpected LF in name at " + String(p, end - p), 0, clientOrigin()); 368 368 return 0; 369 369 case ':': … … 389 389 break; 390 390 case '\n': 391 LOG(Network, "Unexpected LF in value");391 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Unexpected LF in value at " + String(p, end - p), 0, clientOrigin()); 392 392 return 0; 393 393 default: … … 400 400 } 401 401 if (p >= end || *p != '\n') { 402 LOG(Network, "CR doesn't follow LF after value p=%p end=%p", p, end);402 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "CR doesn't follow LF after value at " + String(p, end - p), 0, clientOrigin()); 403 403 return 0; 404 404 } … … 442 442 ASSERT(m_mode == Normal); 443 443 m_mode = Failed; 444 if (m_wsOrigin.isNull() || m_wsLocation.isNull()) 444 if (m_wsOrigin.isNull()) { 445 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Error during WebSocket handshake: 'websocket-origin' header is missing", 0, clientOrigin()); 445 446 return; 447 } 448 if (m_wsLocation.isNull()) { 449 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Error during WebSocket handshake: 'websocket-location' header is missing", 0, clientOrigin()); 450 return; 451 } 446 452 447 453 if (clientOrigin() != m_wsOrigin) { 448 LOG(Network, "Mismatch origin: %s != %s", clientOrigin().utf8().data(), m_wsOrigin.utf8().data());454 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Error during WebSocket handshake: origin mismatch: " + clientOrigin() + " != " + m_wsOrigin, 0, clientOrigin()); 449 455 return; 450 456 } 451 457 if (clientLocation() != m_wsLocation) { 452 LOG(Network, "Mismatch location: %s != %s", clientLocation().utf8().data(), m_wsLocation.utf8().data());458 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Error during WebSocket handshake: location mismatch: " + clientLocation() + " != " + m_wsLocation, 0, clientOrigin()); 453 459 return; 454 460 } 455 461 if (!m_clientProtocol.isEmpty() && m_clientProtocol != m_wsProtocol) { 456 LOG(Network, "Mismatch protocol: %s != %s", m_clientProtocol.utf8().data(), m_wsProtocol.utf8().data());462 m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Error during WebSocket handshake: protocol mismatch: " + m_clientProtocol + " != " + m_wsProtocol, 0, clientOrigin()); 457 463 return; 458 464 }
Note: See TracChangeset
for help on using the changeset viewer.