wrappingS-ECMA-ARRAY wrappers create a Proxy for each Array. Some web API expects typed arrrays as parameters. Firefox checks that the object implements the typed array interface and as it detects the proxy throws an exception.
One solution to the problem is to wrap the Firefox APIs that expects objects that we wrapped with Proxies to deal with the problem.
We need to:
[ ] identify affected APIs, [ ] create test cases, [ ] implement proxy removing wrappers.
I will turn on arraybuffer wrapping group in Chromium-based browsers for 0.8.
Metadata Update from @polcak: - Issue assigned to xbedna60
I am not going to enable arraybuffer wrapping group in Chromium-based browsers for 0.8 as we need more testing.
Mentioned in https://github.com/polcak/jsrestrictor/issues/149
Metadata Update from @polcak: - Issue assigned to polcak (was: xbedna60)
See https://github.com/polcak/jsrestrictor/issues/69 for examples of broken pages.
Test cases created (integration tests). To get the idea of affected APIs, see https://searchfox.org/mozilla-central/source/dom/webidl
There is no download all button on the page, this code helps:
let all = ""; Array.prototype.forEach.call(document.querySelectorAll(".folder-content .description a"), function (e) { if (e.href.endsWith(".webidl")) { all += " https://hg.mozilla.org/mozilla-central/raw-file/tip/dom/webidl" + e.href.substring(e.href.lastIndexOf("/")); } }); console.log(all);
wget [paste string without "]
Another broken page in #115
Log in to comment on this ticket.