The new API is actually a simplification of the 'old' API. It is not a 
question of base+extensions.

Note: the API design itself is gated by the WebAssembly stacks sub-group of 
the W3C community group.

On Monday, June 24, 2024 at 2:44:56 PM UTC-7 sligh...@chromium.org wrote:

> Like Rick, I'm also unsure why this isn't an I2S for the new design. Are 
> y'all really unsure that the latest iteration has open issues that need 
> resolution before shipping? Is there an minimum-viable subset you can ship 
> now while extensions are debated behind another OT?
>
> Best,
>
> Alex
>
> On Mon, Jun 24, 2024, 1:47 PM 'Francis McCabe' via blink-dev <
> blin...@chromium.org> wrote:
>
>> I am 'ok' with a shorter extension. I asked for 6 months because I 
>> foresee a reasonable risk of needing more than 3 milestones.
>>
>> I am not 'ok' with shipping without the imprimatur of progress in the 
>> standardization. We recently did ship a phase 3 standard -- exceptions -- 
>> that turned out to be a mistake. It is likely going to be many years before 
>> that can be fully unwound.
>>
>>  To be clear: I do not anticipate any issues with the standard; but then, 
>> no-one does.
>>
>> Francis
>> On Monday, June 24, 2024 at 12:47:23 PM UTC-7 rby...@chromium.org wrote:
>>
>>> Hi Francis,
>>> We only do OT extensions for 3 milestones at a time 
>>> <https://www.chromium.org/blink/launching-features/#origin-trials:~:text=An%20initial%20origin%20trial%20or%20experiment%20for%20a%20feature%20may%20only%20run%20for%206%20milestones%20of%20Chromium.%20Each%20request%20to%20extend%20beyond%20that%20limit%20may%20only%20be%20for%203%20milestones%20at%20a%20time%2C%20and%20will%20not%20be%20approved%20unless%20substantial%20progress%20is%20demonstrated%20in%20all%20of%20these%20areas%3A>.
>>>  
>>> It sounds like there's been a meaningful change in the API that we need to 
>>> validate, so extending for another 3 to 131 sounds OK to me if you'd like 
>>> to do that, but that gets you only to October.
>>>
>>> Outside of JS / WASM features, we generally do not block on standards 
>>> maturity when shipping new APIs, since the chromium project has a policy of 
>>> limiting the cost on velocity that we're willing to pay in order to reach 
>>> standards consensus. What do you think the harm would be in shipping this 
>>> now and coming up with a versioning and/or breaking change strategy for any 
>>> changes which are deemed necessary after that? It sounds like you already 
>>> have customers relying on this feature (given the commitments you mention 
>>> around evolution of the API while in OT), so it's unclear whether shipping 
>>> and iterating would really be all that different in practice?
>>>
>>> Thanks,
>>>    Rick
>>>
>>> On Mon, Jun 24, 2024 at 1:31 PM Francis McCabe <f...@chromium.org> 
>>> wrote:
>>>
>>>> Contact emailsf...@chromium.org
>>>>
>>>> Explainer
>>>> https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md
>>>>
>>>> Specification
>>>> https://github.com/WebAssembly/js-promise-integration/blob/main/proposals/js-promise-integration/Overview.md
>>>>
>>>> Design docs
>>>>
>>>> https://docs.google.com/document/d/16Us-pyte2-9DECJDfGm5tnUpfngJJOc8jbj54HMqE9Y/edit#heading=h.n1atlriavj6v
>>>>
>>>> Summary
>>>>
>>>> Stack Switching denotes a technology that allows programs to suspend 
>>>> and resume computation. This is an active area that is part of the 
>>>> WebAssembly standards track. See 
>>>> https://github.com/WebAssembly/stack-switching and 
>>>> https://github.com/WebAssembly/meetings/tree/main/stack. This 
>>>> particular feature refers to the integration between JavaScript Promises 
>>>> and stack switching. This is described in more detail in 
>>>> https://docs.google.com/document/d/16Us-pyte2-9DECJDfGm5tnUpfngJJOc8jbj54HMqE9Y/edit#
>>>>
>>>>
>>>> Blink componentBlink>JavaScript>WebAssembly 
>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EJavaScript%3EWebAssembly>
>>>>
>>>> Search tagsstack switching 
>>>> <https://chromestatus.com/features#tags:stack%20switching>, Promise 
>>>> <https://chromestatus.com/features#tags:Promise>, JSPI 
>>>> <https://chromestatus.com/features#tags:JSPI>
>>>>
>>>> TAG reviewhttps://github.com/w3ctag/design-reviews/issues/809
>>>>
>>>> TAG review statusPending
>>>>
>>>> Chromium Trial NameWebAssemblyJSPromiseIntegration
>>>>
>>>> Origin Trial documentation link
>>>> https://github.com/WebAssembly/js-promise-integration
>>>>
>>>> WebFeature UseCounter namekV8WasmJavaScriptPromiseIntegration
>>>>
>>>> Risks
>>>>
>>>>
>>>> Interoperability and Compatibility
>>>>
>>>> This spec is backed by a standardization effort. We do not plan to ship 
>>>> the JSPI until it has been standardized by the W3C Wasm WG. However, post 
>>>> standardization, we will depend on all browsers implementing the standard.
>>>>
>>>>
>>>> *Gecko*: Positive (https://bugzilla.mozilla.org/show_bug.cgi?id=1850627) 
>>>> Mozilla have started their own imlementation
>>>>
>>>> *WebKit*: No signal
>>>>
>>>> *Web developers*: No signals
>>>>
>>>> *Other signals*:
>>>>
>>>> Activation
>>>>
>>>> Making use of JSPI requires some changes by WebAssembly-based 
>>>> developers (no impact on JavaScript developers). Depending on their 
>>>> toolchain usage a developer will need to modify their code. For Emscripten 
>>>> users, this is likely to be minimal as support for JSPI exists in 
>>>> Emscripten.
>>>>
>>>>
>>>> Security
>>>>
>>>> 1. Control flow integrity. 2. Ensuring that JavaScript programs cannot 
>>>> suspend via JSPI.
>>>>
>>>>
>>>> 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?
>>>>
>>>>
>>>>
>>>> Goals for experimentation
>>>>
>>>>
>>>>
>>>> Reason this experiment is being extended
>>>>
>>>> JSPI is part of a standards track effort. We are currently in 'stage 3' 
>>>> of a five stage process. The next stage (4) is when a specification is 
>>>> deemed final. There was a change in the API which we soft launched in M126 
>>>> but we would like to formally switch to this new API in M129. (We had 
>>>> informed our users that we would be maintaining the old API through the 
>>>> end 
>>>> of the OT.) So, in summary there are two reasons for extending the origin 
>>>> trial: 1. We are not quite ready to move the spec to phase 4. This is for 
>>>> non-implementation reasons: we need to draft and review the specification 
>>>> text. 2. We would like to allow sufficient time for users to fully 
>>>> experiment with the new API. We anticipate being able to fully ship JSPI 
>>>> before the end of 2024, but also dont want to have to ask for yet another 
>>>> extension.
>>>>
>>>>
>>>> Ongoing technical constraints
>>>>
>>>> None.
>>>>
>>>>
>>>> Debuggability
>>>>
>>>> Developers can piggyback on existing DevTools support for Promises to 
>>>> help with debugging JSPI applications. In particular the existing 
>>>> mechanisms for constructing extended stack traces from so-called Promise 
>>>> chains will also include stack traces from JSPI applications.
>>>>
>>>>
>>>> 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>
>>>> ?Partially
>>>>
>>>> Flag name on chrome://flags
>>>> enable-experimental-webassembly-stack-switching
>>>>
>>>> Finch feature nameNone
>>>>
>>>> Non-finch justificationNone
>>>>
>>>> Requires code in //chrome?False
>>>>
>>>> Tracking bug
>>>> https://bugs.chromium.org/p/v8/issues/detail?id=12191&q=owner%3Ame&can=2
>>>>
>>>> Estimated milestones
>>>> Origin trial desktop first 123
>>>> Origin trial desktop last 128
>>>> Origin trial extension 1 end milestone 134
>>>> DevTrial on desktop 109
>>>> OriginTrial Android last 128
>>>> OriginTrial Android first 123
>>>> OriginTrial webView last 128
>>>> OriginTrial webView first 123
>>>>
>>>> Link to entry on the Chrome Platform Status
>>>> https://chromestatus.com/feature/5674874568704000?gate=5078038869180416
>>>>
>>>> Links to previous Intent discussionsIntent to prototype: 
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAdKk6BGFseZ6pBO2qEW_xeovVw1_guVq26rcNM1nWY442Y5Ng%40mail.gmail.com
>>>>  Intent 
>>>> to Experiment: 
>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/Fu79zrp7MoE
>>>>
>>>>
>>>> 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+...@chromium.org.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAE65UWBDn_Vvj5uqqOVMABJWopy_ZfOz4P5ZZYiqCxa7HACxCA%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAE65UWBDn_Vvj5uqqOVMABJWopy_ZfOz4P5ZZYiqCxa7HACxCA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> 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+...@chromium.org.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/46b78c6b-ae44-49ab-919c-3bd2194314f1n%40chromium.org
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/46b78c6b-ae44-49ab-919c-3bd2194314f1n%40chromium.org?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/fd927af1-b6c2-4832-9166-e0cd9f381552n%40chromium.org.

Reply via email to