Title: [202367] trunk/Source/WebKit2
- Revision
- 202367
- Author
- [email protected]
- Date
- 2016-06-22 23:10:48 -0700 (Wed, 22 Jun 2016)
Log Message
REGRESSION(r201880): WebSockets based remote inspector is broken since r201880
https://bugs.webkit.org/show_bug.cgi?id=158613
Reviewed by Michael Catanzaro.
In r201880 SocketStreamHandleClient was modified to receive references instead of
pointers. WebSocketServerConnection also implements SocketStreamHandleClient but since it's doesn't use
override, it was unnoticed and not updated, so we ended up using the default empty implementation instead of
the WebSocketServerConnection one.
* UIProcess/InspectorServer/WebSocketServerConnection.cpp:
(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::setSocketHandle):
(WebKit::WebSocketServerConnection::shutdownNow):
(WebKit::WebSocketServerConnection::didCloseSocketStream):
(WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
(WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
(WebKit::WebSocketServerConnection::didFailSocketStream): Deleted.
* UIProcess/InspectorServer/WebSocketServerConnection.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (202366 => 202367)
--- trunk/Source/WebKit2/ChangeLog 2016-06-23 05:46:10 UTC (rev 202366)
+++ trunk/Source/WebKit2/ChangeLog 2016-06-23 06:10:48 UTC (rev 202367)
@@ -1,3 +1,25 @@
+2016-06-22 Carlos Garcia Campos <[email protected]>
+
+ REGRESSION(r201880): WebSockets based remote inspector is broken since r201880
+ https://bugs.webkit.org/show_bug.cgi?id=158613
+
+ Reviewed by Michael Catanzaro.
+
+ In r201880 SocketStreamHandleClient was modified to receive references instead of
+ pointers. WebSocketServerConnection also implements SocketStreamHandleClient but since it's doesn't use
+ override, it was unnoticed and not updated, so we ended up using the default empty implementation instead of
+ the WebSocketServerConnection one.
+
+ * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
+ (WebKit::WebSocketServerConnection::WebSocketServerConnection):
+ (WebKit::WebSocketServerConnection::setSocketHandle):
+ (WebKit::WebSocketServerConnection::shutdownNow):
+ (WebKit::WebSocketServerConnection::didCloseSocketStream):
+ (WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
+ (WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
+ (WebKit::WebSocketServerConnection::didFailSocketStream): Deleted.
+ * UIProcess/InspectorServer/WebSocketServerConnection.h:
+
2016-06-22 Brent Fulgham <[email protected]>
[iOS][WK2] Expand sandbox to read voice services preferences
Modified: trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp (202366 => 202367)
--- trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp 2016-06-23 05:46:10 UTC (rev 202366)
+++ trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp 2016-06-23 06:10:48 UTC (rev 202367)
@@ -47,11 +47,8 @@
namespace WebKit {
WebSocketServerConnection::WebSocketServerConnection(WebSocketServerClient* client, WebSocketServer* server)
- : m_identifier(0)
- , m_mode(HTTP)
- , m_server(server)
+ : m_server(server)
, m_client(client)
- , m_shutdownAfterSend(false)
{
}
@@ -60,10 +57,10 @@
shutdownNow();
}
-void WebSocketServerConnection::setSocketHandle(PassRefPtr<WebCore::SocketStreamHandle> socket)
+void WebSocketServerConnection::setSocketHandle(Ref<SocketStreamHandle>&& socket)
{
ASSERT(!m_socket);
- m_socket = socket;
+ m_socket = WTFMove(socket);
}
void WebSocketServerConnection::shutdownNow()
@@ -70,7 +67,7 @@
{
if (!m_socket)
return;
- RefPtr<SocketStreamHandle> socket = m_socket.release();
+ auto socket = WTFMove(m_socket);
socket->close();
m_shutdownAfterSend = false;
}
@@ -123,7 +120,7 @@
m_socket->send(data, length);
}
-void WebSocketServerConnection::didCloseSocketStream(SocketStreamHandle*)
+void WebSocketServerConnection::didCloseSocketStream(SocketStreamHandle&)
{
// Destroy the SocketStreamHandle now to prevent closing an already closed socket later.
m_socket = nullptr;
@@ -136,7 +133,7 @@
m_server->didCloseWebSocketServerConnection(this);
}
-void WebSocketServerConnection::didReceiveSocketStreamData(SocketStreamHandle*, const char* data, int length)
+void WebSocketServerConnection::didReceiveSocketStreamData(SocketStreamHandle&, const char* data, int length)
{
// Each didReceiveData call adds more data to our buffer.
// We clear the buffer when we have handled data from it.
@@ -155,17 +152,12 @@
}
}
-void WebSocketServerConnection::didUpdateBufferedAmount(WebCore::SocketStreamHandle*, size_t)
+void WebSocketServerConnection::didUpdateBufferedAmount(SocketStreamHandle&, size_t)
{
if (m_shutdownAfterSend && !m_socket->bufferedAmount())
shutdownNow();
}
-void WebSocketServerConnection::didFailSocketStream(SocketStreamHandle*, const SocketStreamError&)
-{
- // Possible read or write error.
-}
-
void WebSocketServerConnection::readHTTPMessage()
{
String failureReason;
Modified: trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.h (202366 => 202367)
--- trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.h 2016-06-23 05:46:10 UTC (rev 202366)
+++ trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.h 2016-06-23 06:10:48 UTC (rev 202367)
@@ -46,7 +46,7 @@
class WebSocketServer;
class WebSocketServerClient;
-class WebSocketServerConnection : public WebCore::SocketStreamHandleClient {
+class WebSocketServerConnection final : public WebCore::SocketStreamHandleClient {
public:
enum WebSocketServerMode { HTTP, WebSocket };
WebSocketServerConnection(WebSocketServerClient*, WebSocketServer*);
@@ -54,7 +54,7 @@
unsigned identifier() const { return m_identifier; }
void setIdentifier(unsigned id) { m_identifier = id; }
- void setSocketHandle(PassRefPtr<WebCore::SocketStreamHandle>);
+ void setSocketHandle(Ref<WebCore::SocketStreamHandle>&&);
// Sending data over the connection.
void sendWebSocketMessage(const String& message);
@@ -65,13 +65,12 @@
void shutdownNow();
void shutdownAfterSendOrNow();
+private:
// SocketStreamHandleClient implementation.
- virtual void didCloseSocketStream(WebCore::SocketStreamHandle*);
- virtual void didReceiveSocketStreamData(WebCore::SocketStreamHandle*, const char* data, int length);
- virtual void didUpdateBufferedAmount(WebCore::SocketStreamHandle*, size_t bufferedAmount);
- virtual void didFailSocketStream(WebCore::SocketStreamHandle*, const WebCore::SocketStreamError&);
+ void didCloseSocketStream(WebCore::SocketStreamHandle&) override;
+ void didReceiveSocketStreamData(WebCore::SocketStreamHandle&, const char* data, int length) override;
+ void didUpdateBufferedAmount(WebCore::SocketStreamHandle&, size_t bufferedAmount) override;
-private:
// HTTP Mode.
void readHTTPMessage();
@@ -80,14 +79,13 @@
void readWebSocketFrames();
bool readWebSocketFrame();
-protected:
- unsigned m_identifier;
+ unsigned m_identifier { 0 };
Vector<char> m_bufferedData;
- WebSocketServerMode m_mode;
+ WebSocketServerMode m_mode { HTTP };
RefPtr<WebCore::SocketStreamHandle> m_socket;
- WebSocketServer* m_server;
- WebSocketServerClient* m_client;
- bool m_shutdownAfterSend;
+ WebSocketServer* m_server { nullptr };
+ WebSocketServerClient* m_client { nullptr };
+ bool m_shutdownAfterSend { false };
};
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes