Changeset 202367 in webkit
- Timestamp:
- Jun 22, 2016 11:10:48 PM (8 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r202365 r202367 1 2016-06-22 Carlos Garcia Campos <cgarcia@igalia.com> 2 3 REGRESSION(r201880): WebSockets based remote inspector is broken since r201880 4 https://bugs.webkit.org/show_bug.cgi?id=158613 5 6 Reviewed by Michael Catanzaro. 7 8 In r201880 SocketStreamHandleClient was modified to receive references instead of 9 pointers. WebSocketServerConnection also implements SocketStreamHandleClient but since it's doesn't use 10 override, it was unnoticed and not updated, so we ended up using the default empty implementation instead of 11 the WebSocketServerConnection one. 12 13 * UIProcess/InspectorServer/WebSocketServerConnection.cpp: 14 (WebKit::WebSocketServerConnection::WebSocketServerConnection): 15 (WebKit::WebSocketServerConnection::setSocketHandle): 16 (WebKit::WebSocketServerConnection::shutdownNow): 17 (WebKit::WebSocketServerConnection::didCloseSocketStream): 18 (WebKit::WebSocketServerConnection::didReceiveSocketStreamData): 19 (WebKit::WebSocketServerConnection::didUpdateBufferedAmount): 20 (WebKit::WebSocketServerConnection::didFailSocketStream): Deleted. 21 * UIProcess/InspectorServer/WebSocketServerConnection.h: 22 1 23 2016-06-22 Brent Fulgham <bfulgham@apple.com> 2 24 -
trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp
r186279 r202367 48 48 49 49 WebSocketServerConnection::WebSocketServerConnection(WebSocketServerClient* client, WebSocketServer* server) 50 : m_identifier(0) 51 , m_mode(HTTP) 52 , m_server(server) 50 : m_server(server) 53 51 , m_client(client) 54 , m_shutdownAfterSend(false)55 52 { 56 53 } … … 61 58 } 62 59 63 void WebSocketServerConnection::setSocketHandle( PassRefPtr<WebCore::SocketStreamHandle>socket)60 void WebSocketServerConnection::setSocketHandle(Ref<SocketStreamHandle>&& socket) 64 61 { 65 62 ASSERT(!m_socket); 66 m_socket = socket;63 m_socket = WTFMove(socket); 67 64 } 68 65 … … 71 68 if (!m_socket) 72 69 return; 73 RefPtr<SocketStreamHandle> socket = m_socket.release();70 auto socket = WTFMove(m_socket); 74 71 socket->close(); 75 72 m_shutdownAfterSend = false; … … 124 121 } 125 122 126 void WebSocketServerConnection::didCloseSocketStream(SocketStreamHandle *)123 void WebSocketServerConnection::didCloseSocketStream(SocketStreamHandle&) 127 124 { 128 125 // Destroy the SocketStreamHandle now to prevent closing an already closed socket later. … … 137 134 } 138 135 139 void WebSocketServerConnection::didReceiveSocketStreamData(SocketStreamHandle *, const char* data, int length)136 void WebSocketServerConnection::didReceiveSocketStreamData(SocketStreamHandle&, const char* data, int length) 140 137 { 141 138 // Each didReceiveData call adds more data to our buffer. … … 156 153 } 157 154 158 void WebSocketServerConnection::didUpdateBufferedAmount( WebCore::SocketStreamHandle*, size_t)155 void WebSocketServerConnection::didUpdateBufferedAmount(SocketStreamHandle&, size_t) 159 156 { 160 157 if (m_shutdownAfterSend && !m_socket->bufferedAmount()) 161 158 shutdownNow(); 162 }163 164 void WebSocketServerConnection::didFailSocketStream(SocketStreamHandle*, const SocketStreamError&)165 {166 // Possible read or write error.167 159 } 168 160 -
trunk/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.h
r150161 r202367 47 47 class WebSocketServerClient; 48 48 49 class WebSocketServerConnection : public WebCore::SocketStreamHandleClient {49 class WebSocketServerConnection final : public WebCore::SocketStreamHandleClient { 50 50 public: 51 51 enum WebSocketServerMode { HTTP, WebSocket }; … … 55 55 unsigned identifier() const { return m_identifier; } 56 56 void setIdentifier(unsigned id) { m_identifier = id; } 57 void setSocketHandle( PassRefPtr<WebCore::SocketStreamHandle>);57 void setSocketHandle(Ref<WebCore::SocketStreamHandle>&&); 58 58 59 59 // Sending data over the connection. … … 66 66 void shutdownAfterSendOrNow(); 67 67 68 private: 68 69 // SocketStreamHandleClient implementation. 69 virtual void didCloseSocketStream(WebCore::SocketStreamHandle*); 70 virtual void didReceiveSocketStreamData(WebCore::SocketStreamHandle*, const char* data, int length); 71 virtual void didUpdateBufferedAmount(WebCore::SocketStreamHandle*, size_t bufferedAmount); 72 virtual void didFailSocketStream(WebCore::SocketStreamHandle*, const WebCore::SocketStreamError&); 70 void didCloseSocketStream(WebCore::SocketStreamHandle&) override; 71 void didReceiveSocketStreamData(WebCore::SocketStreamHandle&, const char* data, int length) override; 72 void didUpdateBufferedAmount(WebCore::SocketStreamHandle&, size_t bufferedAmount) override; 73 73 74 private:75 74 // HTTP Mode. 76 75 void readHTTPMessage(); … … 81 80 bool readWebSocketFrame(); 82 81 83 protected: 84 unsigned m_identifier; 82 unsigned m_identifier { 0 }; 85 83 Vector<char> m_bufferedData; 86 WebSocketServerMode m_mode ;84 WebSocketServerMode m_mode { HTTP }; 87 85 RefPtr<WebCore::SocketStreamHandle> m_socket; 88 WebSocketServer* m_server ;89 WebSocketServerClient* m_client ;90 bool m_shutdownAfterSend ;86 WebSocketServer* m_server { nullptr }; 87 WebSocketServerClient* m_client { nullptr }; 88 bool m_shutdownAfterSend { false }; 91 89 }; 92 90
Note: See TracChangeset
for help on using the changeset viewer.