Introduce a concrete result type for JSValue -> Implementation conversions. This is a precursor to supporting non-default initializable implementation types in a general way.
<rdar://problem/128703953>
Pull request: https://github.com/WebKit/WebKit/pull/29085
Committed 279321@main (9a160ff054ee): <https://commits.webkit.org/279321@main> Reviewed commits have been landed. Closing PR #29085 and removing active labels.
Regressed: Bug 274732 – REGRESSION(279321@main): js/dom/missing-exception-check-in-convertVariadicArguments.html is crashing : Unchecked exception detected at JSC::VM::verifyExceptionCheckNeedIsSatisfied : ASSERTION FAILED: !m_needExceptionCheck
Build bot 'WPE-Linux-64-bit-Release-Ubuntu-2204-Build' is failing with the following build error after this patch: https://build.webkit.org/#/builders/1060/builds/444 ``` /home/buildbot/worker/WPE-Linux-64-bit-Release-Ubuntu-2204-Build/build/Source/WebCore/bindings/js/JSDOMConvertResult.h:119:60: error: could not convert ‘T{other.releaseReturnValue()}’ from ‘T’ to ‘WebCore::Detail::ConversionResultStorage<T&>::ReturnType’ 119 | return ReturnType { other.releaseReturnValue() }; | ^ | | | T ```
Re-opening for pull request https://github.com/webkit/webkit/pull/29147
Committed 279350@main (cd96a999407c): <https://commits.webkit.org/279350@main> Reviewed commits have been landed. Closing PR #29147 and removing active labels.