Contact emailsecmzieg...@chromium.org, jkumme...@chromium.org, ad...@chromium.org
Explainer https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md Specificationhttps://webassembly.github.io/js-string-builtins/js-api/ Summary This feature exposes common JS string operations for easy import into WebAssembly and optimizations thereof. This allows creating and manipulating JS strings from WebAssembly without native support within WebAssembly while still allowing for a similar performance as native string references. The mechanism works by exposing suitably strict versions of JS string operations in the WebAssembly JS API. These can be imported by modules using externref as a generic data type for storing the strings. The engine can identify that these imports can be represented by native graph operators without the need for calling into JS. This leads to a comparable peak performance as native string operations while allowing quick interoperability with JS since no copying at the boundary is required when calling into arbitrary JS functions that consume strings. Blink componentBlink>JavaScript>WebAssembly <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/940 TAG review statusCompleted (with "Resolution: satisfied") Chromium Trial NameWebAssemblyJSStringBuiltins Link to origin trial feedback summary https://docs.google.com/document/d/1zL9goDsawTQUFuuQ8ddI_pUcLY1_iFOsHaDZ374dnGw/edit?usp=sharing Origin Trial documentation link https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md Risks Interoperability and Compatibility This proposal is at Phase 4 in the WebAssembly spec process *Gecko*: Positive *WebKit*: No signal ( https://github.com/WebKit/standards-positions/issues/343) *Web developers*: Positive (see OT feedback) *Other signals*: 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? None Debuggability None Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?Yes Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> ?Yes Flag name on chrome://flagsNone Finch feature nameWebAssemblyJSStringBuiltins Requires code in //chrome?False Estimated milestones Shipping on desktop 130 Origin trial desktop first 119 Origin trial desktop last 127 Origin trial extension 1 end milestone 130 Shipping on Android 130 Shipping on WebView 130 Anticipated spec changes Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., 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/6695587390423040?gate=6542541230440448 Links to previous Intent discussionsIntent to Experiment: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPAU7RyzxKa0Pj6q7B_jyfT%3DH%2BSK264%3Dx8wn1ans%3D8UjHRhctQ%40mail.gmail.com Intent to Extend Experiment 1: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra_16woqtqCWOW7Gr4uy2iX3hvj3iSYXQWZaVOc9q9e1Nw%40mail.gmail.com This intent message was generated by Chrome Platform Status <https://chromestatus.com/>. -- 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/CAEvLGc%2BP1ZN9pOGTR_83vqT7JbQVyyoZ-At5qK0sv_f0FVxnJg%40mail.gmail.com.