downloader: Fix HTTP downloads on latest emscripten

This commit is contained in:
rdb 2025-02-24 20:06:28 +01:00
parent f4da124b50
commit ab57b3c72f
1 changed files with 12 additions and 5 deletions

View File

@ -373,9 +373,11 @@ run_headers_received() {
var xhr = window._httpChannels[$0];
var loaded = 0;
xhr.onprogress = function (ev) {
var chunk = this.responseText.slice(loaded, ev.loaded);
var ptr = __extend_string($1, chunk.length);
writeAsciiToMemory(chunk, ptr, true);
var body = this.responseText;
var ptr = __extend_string($1, ev.loaded - loaded);
for (var i = loaded; i < ev.loaded; ++i) {
HEAPU8[ptr + i] = body.charCodeAt(i);
}
loaded = ev.loaded;
};
}, this, dest);
@ -388,8 +390,11 @@ run_headers_received() {
var loaded = 0;
xhr.onprogress = function (ev) {
while (loaded < ev.loaded) {
var body = this.responseText;
var size = Math.min(ev.loaded - read, 4096);
writeAsciiToMemory(this.responseText.substr(read, size), $2, true);
for (var i = read; i < read + size; ++i) {
HEAPU8[$2 + i] = body.charCodeAt(i);
}
__write_stream($1, $2, size);
loaded += size;
}
@ -700,7 +705,9 @@ download_to_ram(Ramfile *ramfile, bool subdocument_resumes) {
var state = xhr.readyState;
var body = xhr.responseText;
var ptr = __extend_string($1, body.length);
writeAsciiToMemory(body, ptr, true);
for (var i = 0; i < body.length; ++i) {
HEAPU8[ptr + i] = body.charCodeAt(i);
}
return state;
}, this, &ramfile->_data);