+2012-02-08 Leo Franchi <lfranchi@kde.org>
+
+ Remote web inspector reentrancy fixes
+ https://bugs.webkit.org/show_bug.cgi?id=77022
+
+ Reviewed by Joseph Pecoraro.
+
+ * WebCoreSupport/InspectorServerQt.cpp:
+ (WebCore::InspectorServerRequestHandlerQt::tcpReadyRead):
+ (WebCore::InspectorServerRequestHandlerQt::webSocketReadyRead):
+
2012-02-06 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Provide more attribute methods in Element
// switch to websocket-style WebSocketService messaging
if (m_tcpConnection) {
m_tcpConnection->disconnect(SIGNAL(readyRead()));
- connect(m_tcpConnection, SIGNAL(readyRead()), SLOT(webSocketReadyRead()));
+ connect(m_tcpConnection, SIGNAL(readyRead()), SLOT(webSocketReadyRead()), Qt::QueuedConnection);
QByteArray key3 = m_tcpConnection->read(8);
QByteArray payload = m_data.mid(1, length);
+ // Remove this WebSocket message from m_data (payload, start-of-frame byte, end-of-frame byte).
+ // Truncate data before delivering message in case of re-entrancy.
+ m_data = m_data.mid(length + 2);
+
#if ENABLE(INSPECTOR)
if (m_inspectorClient) {
InspectorController* inspectorController = m_inspectorClient->m_inspectedWebPage->d->page->inspectorController();
}
#endif
- // Remove this WebSocket message from m_data (payload, start-of-frame byte, end-of-frame byte).
- m_data = m_data.mid(length + 2);
}
}