We should probably aim for a self-hosted JS implementation here for the sake of maintainability and to reduce risk of C++ sec issues. Might not be as performant but shouldn’t be an issue for normal use.
On second thought interacting with the DOM is very complicated doing this as self-hosted JS, so it’s probably better to follow Mozilla’s implementation.
I have an almost complete implementation in JS that works for a number of tests (basic functionality works, but ReadableStream combo with Fetch is still a problem) however it’s not actually giving me the plumbing I need to further integrate this with the DOM and adding writeable streams etc. -- It’s also 140+ kB of js which really isn’t going to do anyone any good.
So I’ll be backing that out and looking at the C++ version instead, but wanted to keep it in history at least in case we do want to keep stuff from it in the future/use it as a template.
Deleting a branch is permanent. It CANNOT be undone. Continue?