Contact emails greengr...@google.com
Explainer https://github.com/WICG/direct-sockets/blob/main/docs/explainer.md Specification https://wicg.github.io/direct-sockets Summary Allows Isolated Web Apps to establish direct transmission control protocol (TCP) and user datagram protocol (UDP) communications with network devices and systems as well as listen to and accept incoming connections. Blink component Blink>Network>Direct Sockets Search tags networking, TCP, UDP, sockets TAG review https://github.com/w3ctag/design-reviews/issues/548 TAG review status Pending Risks Interoperability and Compatibility Other browsers may choose to implement this API. Gecko: Closed Without a Position (https://github.com/mozilla/standards-positions/issues/431) WebKit: No signal Web developers: Positive (https://discourse.wicg.io/t/filling-the-remaining-gap-between-websocket-webrtc-and-webtranspor/4366) Numerous potential use cases have been suggested. Other signals: Security Various security risks and mitigations are noted in https://github.com/WICG/raw-sockets/blob/master/docs/explainer.md#security-considerations This is a powerful API. Users will have the opportunity to give Isolated Web Apps access to local hardware, and information systems behind organization firewalls. Mitigations are designed to ensure this cannot happen accidentally, and only through enterprise policies or the friction of installing a native app. WebView application risks Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? N/A. Feature not compiled in Android. Debuggability The code using this API can be debugged using the standard tools. Integrating the API with the DevTools Networking tab to enable easier introspection of the state of these connections as well as the data transferred could be a beneficial future improvement. Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)? No This feature is implemented on desktop platforms, although it will only be available to the end users on platforms that support Isolated Web Apps, which is currently only ChromeOS. Android is excluded for historical reasons, although there are no apparent interoperability blockers here. Is this feature fully tested by web-platform-tests? Yes These tests require a specific --isolated-context-origins flag to be tested in WPTs, so they're run as a part of a virtual suite and are not reflected on wpt.fyi. Flag name on chrome://flags #enable-direct-sockets-web-api Finch feature name DirectSockets Requires code in //chrome? False Tracking bug https://bugs.chromium.org/p/chromium/issues/detail?id=909927 Launch bug https://launch.corp.google.com/launch/4339602 Measurement We have the following histograms for tracking network failures upon creating sockets (prefixed with DirectSockets.*): - TCPNetworkFailures - UDPNetworkFailures - TCPServerNetworkFailures Separate programmatic counters for the .idl methods and attributes (via MeasureAs) are also included to track the stats for API usage. Availability expectation Feature is available only in Isolated Web Apps on desktop platforms. https://chromestatus.com/feature/5146307550248960 Adoption expectation Expected to be used initially by a small number of developers inside Isolated Web Apps. Adoption plan Working directly with developers that are planning to rely on the API. Non-OSS dependencies Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function? None Sample links https://github.com/GoogleChromeLabs/telnet-client Estimated milestones Shipping on desktop 130 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (eg links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (eg, changing to naming or structure of the API in a non-backward-compatible way). None Link to entry on the Chrome Platform Status https://chromestatus.com/feature/6398297361088512?gate=6732051726729216 This intent message was generated by Chrome Platform Status. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/000000000000c7b248061f910247%40google.com.