Refresh button won't show after page loaded when WASM is disabled.
Categories
(Firefox :: Translations, defect, P2)
Tracking
()
People
(Reporter: theklf4, Unassigned)
Details
Attachments
(1 file)
200.33 KB,
image/jpeg
|
Details |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0
Steps to reproduce:
Turned off WASM in flags (as the attached screenshot)
Actual results:
All webpages stuck in showing stop button (as the attached screenshot). (in very small chance (<5%) the refresh button can work)
This annoying issue affect all version 122~124. If I turned on WASM, the issue disappeared. But I can't turn on WASM for security considerations.
Expected results:
The refresh button show after webpage loaded.
Comment 1•1 month ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::JavaScript: WebAssembly' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•1 month ago
|
||
Considering these prefs are (I believe) owned by the WASM gang over in SpiderMonkey-land, I think this bug fits better over in Core :: Javascript: WebAssembly.
Comment 3•1 month ago
|
||
Managed to reproduce this issue on:
- Firefox Nightly 126.0a1;
- Firefox 125.0;
Tested and reproduced on:
- macOS 12;
- Windows 10;
- Ubuntu 22;
Setting as NEW.
Comment 4•23 days ago
|
||
The severity field is not set for this bug.
:rhunt, could you have a look please?
For more information, please visit BugBot documentation.
Comment 5•23 days ago
|
||
To reproduce the problem you need two options javascript.options.wasm
and javascript.options.wasm_trustedprincipals
set to false. Setting only javascript.options.wasm
to false does not affect refresh button -- which is disables WebAssembly and shall be enough to turning it off.
(The javascript.options.wasm_trustedprincipals
was added by bug 1576254, not really SpiderMonkey-land)
Updated•23 days ago
|
Comment 6•23 days ago
•
|
||
I see the following in the console:
console.error: (new ReferenceError("WebAssembly is not defined", "resource://gre/actors/TranslationsParent.sys.mjs", 2710))
Further I can find the construct return WebAssembly.validate(
in the ml/content/Utils.sys.mjs.
Better way will be adding of the following in detect Wasm feature functions (which fixes the refresh button):
--- a/toolkit/components/translations/actors/TranslationsParent.sys.mjs
+++ b/toolkit/components/translations/actors/TranslationsParent.sys.mjs
@@ -2707,6 +2707,7 @@ export class TranslationsParent extends JSWindowActorParent {
* Validate some simple Wasm that uses a SIMD operation.
*/
function detectSimdSupport() {
+ if (typeof WebAssembly == "undefined") { return false; }
return WebAssembly.validate(
new Uint8Array(
// ```
I don't know the reason why JavaScript exception in the translation code affects the chrome's buttons.
Description
•