Skip to content

Commit 8975d26

Browse files
authored
[file_packager] Remove unnecessary DataRequest class (#24988)
This class dates back to 2416d19 where it looks like this was a standin for an XMLHttpRequest, but that doesn't seem to be needed at all anymore.
1 parent 4cab039 commit 8975d26

File tree

1 file changed

+20
-44
lines changed

1 file changed

+20
-44
lines changed

tools/file_packager.py

Lines changed: 20 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -682,51 +682,25 @@ def generate_js(data_target, data_files, metadata):
682682
create_preloaded = '''
683683
try {
684684
// canOwn this data in the filesystem, it is a slice into the heap that will never change
685-
await Module['FS_preloadFile'](this.name, null, byteArray, true, true, false, true);
686-
Module['removeRunDependency'](`fp ${that.name}`);
685+
await Module['FS_preloadFile'](name, null, data, true, true, false, true);
686+
Module['removeRunDependency'](`fp ${name}`);
687687
} catch (e) {
688-
err(`Preloading file ${that.name} failed`);
688+
err(`Preloading file ${name} failed`);
689689
}\n'''
690690
create_data = '''// canOwn this data in the filesystem, it is a slice into the heap that will never change
691-
Module['FS_createDataFile'](this.name, null, byteArray, true, true, true);
692-
Module['removeRunDependency'](`fp ${that.name}`);'''
691+
Module['FS_createDataFile'](name, null, data, true, true, true);
692+
Module['removeRunDependency'](`fp ${name}`);'''
693693

694694
finish_handler = create_preloaded if options.use_preload_plugins else create_data
695-
if options.export_es6:
696-
finish_handler += '\nloadDataResolve();'
697695

698696
if not options.lz4:
699697
# Data requests - for getting a block of data out of the big archive - have
700698
# a similar API to XHRs
701699
code += '''
702-
/** @constructor */
703-
function DataRequest(start, end) {
704-
this.start = start;
705-
this.end = end;
706-
}
707-
DataRequest.prototype = {
708-
requests: {},
709-
open: function(mode, name) {
710-
this.name = name;
711-
this.requests[name] = this;
712-
Module['addRunDependency'](`fp ${this.name}`);
713-
},
714-
send: function() {},
715-
onload: function() {
716-
var byteArray = this.byteArray.subarray(this.start, this.end);
717-
this.finish(byteArray);
718-
},
719-
finish: async function(byteArray) {
720-
var that = this;
721-
%s
722-
this.requests[this.name] = null;
723-
}
724-
};
725-
726-
var files = metadata['files'];
727-
for (var i = 0; i < files.length; ++i) {
728-
new DataRequest(files[i]['start'], files[i]['end']).open('GET', files[i]['filename']);
729-
}\n''' % finish_handler
700+
for (var file of metadata['files']) {
701+
var name = file['filename']
702+
Module['addRunDependency'](`fp ${name}`);
703+
}\n'''
730704

731705
if options.has_embedded and not options.obj_output:
732706
diagnostics.warn('--obj-output is recommended when using --embed. This outputs an object file for linking directly into your application is more efficient than JS encoding')
@@ -764,14 +738,13 @@ def generate_js(data_target, data_files, metadata):
764738
if not options.lz4:
765739
# Get the big archive and split it up
766740
use_data = '''// Reuse the bytearray from the XHR as the source for file reads.
767-
DataRequest.prototype.byteArray = byteArray;
768-
var files = metadata['files'];
769-
for (var i = 0; i < files.length; ++i) {
770-
DataRequest.prototype.requests[files[i].filename].onload();
771-
}'''
772-
use_data += (" Module['removeRunDependency']('datafile_%s');\n"
773-
% js_manipulation.escape_for_js_string(data_target))
774-
741+
for (var file of metadata['files']) {
742+
var name = file['filename'];
743+
var data = byteArray.subarray(file['start'], file['end']);
744+
%s
745+
}
746+
Module['removeRunDependency']('datafile_%s');''' % (finish_handler,
747+
js_manipulation.escape_for_js_string(data_target))
775748
else:
776749
# LZ4FS usage
777750
temp = data_target + '.orig'
@@ -785,6 +758,9 @@ def generate_js(data_target, data_files, metadata):
785758
Module['LZ4'].loadPackage({ 'metadata': metadata, 'compressedData': compressedData }, %s);
786759
Module['removeRunDependency']('datafile_%s');''' % (meta, "true" if options.use_preload_plugins else "false", js_manipulation.escape_for_js_string(data_target))
787760

761+
if options.export_es6:
762+
use_data += '\nloadDataResolve();'
763+
788764
package_name = data_target
789765
remote_package_size = os.path.getsize(package_name)
790766
remote_package_name = os.path.basename(package_name)
@@ -1019,7 +995,7 @@ def generate_js(data_target, data_files, metadata):
1019995
}\n''' % {'node_support_code': node_support_code}
1020996

1021997
code += '''
1022-
function processPackageData(arrayBuffer) {
998+
async function processPackageData(arrayBuffer) {
1023999
assert(arrayBuffer, 'Loading data file failed.');
10241000
assert(arrayBuffer.constructor.name === ArrayBuffer.name, 'bad input to processPackageData');
10251001
var byteArray = new Uint8Array(arrayBuffer);

0 commit comments

Comments
 (0)