Changeset 51979 in webkit


Ignore:
Timestamp:
Dec 11, 2009 2:44:33 AM (14 years ago)
Author:
ukai@chromium.org
Message:

2009-12-11 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Pavel Feldman.

Log WebSocket error to Web Inspector console.
https://bugs.webkit.org/show_bug.cgi?id=32165

  • websocket/tests/handshake-error-expected.txt:
  • websocket/tests/handshake-fail-by-cross-origin-expected.txt:
  • websocket/tests/handshake-fail-by-sub-protocol-mismatch-expected.txt:

2009-12-11 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Pavel Feldman.

Log WebSocket error to Web Inspector console.
https://bugs.webkit.org/show_bug.cgi?id=32165

  • websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::didOpen): (WebCore::WebSocketChannel::appendToBuffer):
  • websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::readServerHandshake): (WebCore::WebSocketHandshake::readHTTPHeaders): (WebCore::WebSocketHandshake::checkResponseHeaders):
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r51977 r51979  
     12009-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
    1122009-12-10  Adam Barth  <abarth@webkit.org>
    213
  • trunk/LayoutTests/websocket/tests/handshake-error-expected.txt

    r50892 r51979  
     1CONSOLE MESSAGE: line 0: Unexpected response code:101
    12Handshake error test
    23
  • trunk/LayoutTests/websocket/tests/handshake-fail-by-cross-origin-expected.txt

    r51743 r51979  
     1CONSOLE MESSAGE: line 0: Error during WebSocket handshake: origin mismatch: http://127.0.0.1:8880 != http://example.com
    12Make sure Web Socket connection failed if origin mismatches.
    23
  • trunk/LayoutTests/websocket/tests/handshake-fail-by-sub-protocol-mismatch-expected.txt

    r51837 r51979  
     1CONSOLE MESSAGE: line 0: Error during WebSocket handshake: protocol mismatch: requestting-protocol != available-protocol
    12Test WebSocket handshake fail if sub protocol name mismatches.
    23
  • trunk/WebCore/ChangeLog

    r51977 r51979  
     12009-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
    1162009-12-10  Adam Barth  <abarth@webkit.org>
    217
  • trunk/WebCore/websockets/WebSocketChannel.cpp

    r51829 r51979  
    119119    const CString& handshakeMessage = m_handshake.clientHandshakeMessage();
    120120    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());
    122122        handle->close();
    123123    }
     
    247247        return true;
    248248    }
    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());
    250250    return false;
    251251}
  • trunk/WebCore/websockets/WebSocketHandshake.cpp

    r51589 r51979  
    217217        const String& code = extractResponseCode(header, len);
    218218        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());
    220220            return -1;
    221221        }
    222222        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());
    224224            return len;
    225225        }
    226226        LOG(Network, "response code: %s", code.utf8().data());
    227227        if (code == "401") {
    228             LOG(Network, "Authentication required");
     228            m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Authentication required, but not implemented yet.", 0, clientOrigin());
    229229            return len;
    230230        } else {
    231             LOG(Network, "Mismatch server handshake: %s", header);
     231            m_context->addMessage(ConsoleDestination, JSMessageSource, LogMessageType, ErrorMessageLevel, "Unexpected response code:" + code, 0, clientOrigin());
    232232            return len;
    233233        }
     
    241241            return 0;
    242242        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());
    244244            return p - header + sizeof(webSocketUpgradeHeader) - 1;
    245245        }
     
    250250            return -1;
    251251        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());
    253253            return p - header + sizeof(webSocketConnectionHeader) - 1;
    254254        }
     
    359359                    if (p + 1 < end && *(p + 1) == '\n')
    360360                        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());
    362362                    return 0;
    363363                }
    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());
    365365                return 0;
    366366            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());
    368368                return 0;
    369369            case ':':
     
    389389                break;
    390390            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());
    392392                return 0;
    393393            default:
     
    400400        }
    401401        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());
    403403            return 0;
    404404        }
     
    442442    ASSERT(m_mode == Normal);
    443443    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());
    445446        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    }
    446452
    447453    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());
    449455        return;
    450456    }
    451457    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());
    453459        return;
    454460    }
    455461    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());
    457463        return;
    458464    }
Note: See TracChangeset for help on using the changeset viewer.