Title: [275294] trunk/Source
- Revision
- 275294
- Author
- [email protected]
- Date
- 2021-03-31 11:13:03 -0700 (Wed, 31 Mar 2021)
Log Message
Make use of NSURLSessionWebSocket.sendCloseCode if available
https://bugs.webkit.org/show_bug.cgi?id=223999
Reviewed by Alex Christensen.
Source/WebCore/PAL:
* pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
If available, we just call sendCloseCode, cancel will happen when NetworkSocketChannel is destroyed.
Covered by LayoutTests/http/tests/websocket/tests/hybi/client-close-2.html.
* NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::close):
Modified Paths
Diff
Modified: trunk/Source/WebCore/PAL/ChangeLog (275293 => 275294)
--- trunk/Source/WebCore/PAL/ChangeLog 2021-03-31 17:49:07 UTC (rev 275293)
+++ trunk/Source/WebCore/PAL/ChangeLog 2021-03-31 18:13:03 UTC (rev 275294)
@@ -1,3 +1,12 @@
+2021-03-31 Youenn Fablet <[email protected]>
+
+ Make use of NSURLSessionWebSocket.sendCloseCode if available
+ https://bugs.webkit.org/show_bug.cgi?id=223999
+
+ Reviewed by Alex Christensen.
+
+ * pal/spi/cf/CFNetworkSPI.h:
+
2021-03-29 Per Arne <[email protected]>
The header file NotifySPI.h should not be private
Modified: trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h (275293 => 275294)
--- trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h 2021-03-31 17:49:07 UTC (rev 275293)
+++ trunk/Source/WebCore/PAL/pal/spi/cf/CFNetworkSPI.h 2021-03-31 18:13:03 UTC (rev 275294)
@@ -471,4 +471,8 @@
@property (readonly) SSLProtocol _TLSNegotiatedProtocolVersion;
@end
+@interface NSURLSessionWebSocketTask (SPI)
+- (void)_sendCloseCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData *)reason;
+@end
+
#endif // defined(__OBJC__)
Modified: trunk/Source/WebKit/ChangeLog (275293 => 275294)
--- trunk/Source/WebKit/ChangeLog 2021-03-31 17:49:07 UTC (rev 275293)
+++ trunk/Source/WebKit/ChangeLog 2021-03-31 18:13:03 UTC (rev 275294)
@@ -1,5 +1,18 @@
2021-03-31 Youenn Fablet <[email protected]>
+ Make use of NSURLSessionWebSocket.sendCloseCode if available
+ https://bugs.webkit.org/show_bug.cgi?id=223999
+
+ Reviewed by Alex Christensen.
+
+ If available, we just call sendCloseCode, cancel will happen when NetworkSocketChannel is destroyed.
+ Covered by LayoutTests/http/tests/websocket/tests/hybi/client-close-2.html.
+
+ * NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
+ (WebKit::WebSocketTask::close):
+
+2021-03-31 Youenn Fablet <[email protected]>
+
Send WebSocket cocoa authentication challenge to AuthenticationManager
https://bugs.webkit.org/show_bug.cgi?id=223998
Modified: trunk/Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.mm (275293 => 275294)
--- trunk/Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.mm 2021-03-31 17:49:07 UTC (rev 275293)
+++ trunk/Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.mm 2021-03-31 18:13:03 UTC (rev 275294)
@@ -144,6 +144,10 @@
code = 1005;
auto utf8 = reason.utf8();
auto nsData = adoptNS([[NSData alloc] initWithBytes:utf8.data() length:utf8.length()]);
+ if ([m_task respondsToSelector:@selector(_sendCloseCode:reason:)]) {
+ [m_task _sendCloseCode:(NSURLSessionWebSocketCloseCode)code reason:nsData.get()];
+ return;
+ }
[m_task cancelWithCloseCode:(NSURLSessionWebSocketCloseCode)code reason:nsData.get()];
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes