The iOS simulator in Xcode does not appear to support WebAssembly. Content that works on a real device does not work on the simulator, as 'WebAssembly' appears to be undefined. If you build a Cordova app that depends on WebAssembly, then the simulator is not fit for purpose. This includes all iOS content published by Construct 3 (www.construct.net).
<rdar://problem/45681669>
I can confirm this is still an issue, tested on iOS 12.4. Is anyone looking into enabling WebAssembly in the simulator?
Updated Apple internal reference: rdar://problem/40830087
Please fix. Lack of WebAssembly is a serious hindrance - I cant afford to buy so many iOS devices to test an Web-assembly is basic minimum requirement for my App. Thanks.
Perhaps the new WebAssembly interpreter could help fix this?: https://bugs.webkit.org/show_bug.cgi?id=194257
We still get regular reports of this, since none of our framework's content can work in the iOS simulator due to this bug. Is there any news on it?
This is still an issue. A fix would be greatly appreciated.
Created attachment 405000 [details] Patch
Comment on attachment 405000 [details] Patch r=me
Comment on attachment 405000 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=405000&action=review > Source/WTF/ChangeLog:8 > + Now that it seems we can JIT in the Simulator we should enable A lot of layout tests are skipped in iOS simulator due to lack of WebAssembly. We should unstop them too.
Comment on attachment 405000 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=405000&action=review >> Source/WTF/ChangeLog:8 >> + Now that it seems we can JIT in the Simulator we should enable > > A lot of layout tests are skipped in iOS simulator due to lack of WebAssembly. We should unstop them too. LayoutTests/platform/ios-simulator/TestExpectations : # Simulator doesn't support WebAssembly. http/tests/security/contentSecurityPolicy/WebAssembly-allowed.html [ Failure ] http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-about-blank-iframe.html [ Failure ] http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-external-script.html [ Failure ] http/tests/security/contentSecurityPolicy/WebAssembly-blocked-in-subframe.html [ Failure ] http/tests/security/contentSecurityPolicy/WebAssembly-blocked.html [ Failure ] imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.html [ Failure ] imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-failure.https.any.serviceworker.html [ Failure ] imported/w3c/web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/requires-success.any.worker.html [ Failure ] wasm/iframe-postmessage.html [ Skip ] wasm/iframe-parent-postmessage.html [ Skip ] wasm/window-postmessage.html [ Skip ] imported/w3c/web-platform-tests/encoding/encodeInto.any.html [ Skip ] imported/w3c/web-platform-tests/encoding/encodeInto.any.worker.html [ Skip ] imported/w3c/web-platform-tests/encoding/streams/decode-utf8.any.html [ Skip ] imported/w3c/web-platform-tests/encoding/streams/decode-utf8.any.worker.html [ Skip ] imported/w3c/web-platform-tests/encoding/textdecoder-copy.any.html [ Skip ] imported/w3c/web-platform-tests/encoding/textdecoder-copy.any.worker.html [ Skip ] imported/w3c/web-platform-tests/encoding/textdecoder-streaming.any.html [ Skip ] imported/w3c/web-platform-tests/encoding/textdecoder-streaming.any.worker.html [ Skip ]
Created attachment 405015 [details] Patch for landing
(In reply to Chris Dumez from comment #10) > Comment on attachment 405000 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=405000&action=review > > > Source/WTF/ChangeLog:8 > > + Now that it seems we can JIT in the Simulator we should enable > > A lot of layout tests are skipped in iOS simulator due to lack of > WebAssembly. We should unstop them too. Indeed, I'll unstop.
Committed r264745: <https://trac.webkit.org/changeset/264745> All reviewed patches have been landed. Closing bug and clearing flags on attachment 405015 [details].
(In reply to EWS from comment #14) > Committed r264745: <https://trac.webkit.org/changeset/264745> This broke following 3 ios-wk2 tests as also indicated by EWS. - imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel.html - imported/w3c/web-platform-tests/xhr/send-data-sharedarraybuffer.any.html - imported/w3c/web-platform-tests/xhr/send-data-sharedarraybuffer.any.worker.html
Re-opened since this is blocked by bug 214681
(In reply to Yusuke Suzuki from comment #16) > Re-opened since this is blocked by bug 214681 imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-copy-channel.html imported/w3c/web-platform-tests/xhr/send-data-sharedarraybuffer.any.html imported/w3c/web-platform-tests/xhr/send-data-sharedarraybuffer.any.worker.html All 3 were *progressions* and merely needed a rebaseline.
(In reply to Chris Dumez from comment #17) > All 3 were *progressions* and merely needed a rebaseline. It wasn't immediately obvious to me, and these test failures were slowing down ios-wk2 EWS. I didn't want to delay and let patches pileup on ios-wk2 queue.
(In reply to Aakash Jain from comment #18) > (In reply to Chris Dumez from comment #17) > > All 3 were *progressions* and merely needed a rebaseline. > It wasn't immediately obvious to me, and these test failures were slowing > down ios-wk2 EWS. I didn't want to delay and let patches pileup on ios-wk2 > queue. No worries, I guess somebody did not wait for the iOS EWS bubble before landing an iOS-specific patch :P
(In reply to Chris Dumez from comment #19) > (In reply to Aakash Jain from comment #18) > > (In reply to Chris Dumez from comment #17) > > > All 3 were *progressions* and merely needed a rebaseline. > > It wasn't immediately obvious to me, and these test failures were slowing > > down ios-wk2 EWS. I didn't want to delay and let patches pileup on ios-wk2 > > queue. > > No worries, I guess somebody did not wait for the iOS EWS bubble before > landing an iOS-specific patch :P I maintain my position that commit queue should block on EWS! D:
Created attachment 405068 [details] Patch for landing
Tools/Scripts/svn-apply failed to apply attachment 405068 [details] to trunk. Please resolve the conflicts and upload a new patch.
Created attachment 405070 [details] Patch for landing
ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.
Relanded in r264801.
Just tried the iOS simulator in Xcode 12 and it does support WebAssembly! Great stuff, thanks for the fix!