Skip to content

Commit 9aa4df6

Browse files
authored
[file_packager] Add missing support_node check when using preload cache (#23059)
Fixes an error "isNode is not defined" error when using the preload cache and building with -sENVIRONMENT=web.
1 parent d0df369 commit 9aa4df6

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

test/test_browser.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -633,10 +633,17 @@ def test_preload_caching(self, extra_size):
633633
self.skipTest('chrome bug')
634634
create_file('somefile.txt', '''load me right before running the code please''' + ('_' * extra_size))
635635
print('size:', os.path.getsize('somefile.txt'))
636-
self.compile_btest('main.c', ['--use-preload-cache', '--js-library', 'test.js', '--preload-file', 'somefile.txt', '-o', 'page.html', '-sALLOW_MEMORY_GROWTH'], reporting=Reporting.JS_ONLY)
636+
args = ['--use-preload-cache', '--js-library', 'test.js', '--preload-file', 'somefile.txt', '-o', 'page.html', '-sALLOW_MEMORY_GROWTH']
637+
self.compile_btest('main.c', args, reporting=Reporting.JS_ONLY)
637638
self.run_browser('page.html', '/report_result?exit:0')
638639
self.run_browser('page.html', '/report_result?exit:1')
639640

641+
# test with ENVIRONMENT=web, to check for problems with node.js support
642+
# (see #23059)
643+
self.clear_indexed_db()
644+
self.compile_btest('main.c', args + ['-sENVIRONMENT=web'], reporting=Reporting.JS_ONLY)
645+
self.run_browser('page.html', '/report_result?exit:0')
646+
640647
def test_preload_caching_indexeddb_name(self):
641648
self.set_setting('EXIT_RUNTIME')
642649
create_file('somefile.txt', '''load me right before running the code please''')

tools/file_packager.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -792,10 +792,13 @@ def generate_js(data_target, data_files, metadata):
792792
var DB_VERSION = 1;
793793
var METADATA_STORE_NAME = 'METADATA';
794794
var PACKAGE_STORE_NAME = 'PACKAGES';
795-
function openDatabase(callback, errback) {
796-
if (isNode) {
797-
return errback();
798-
}
795+
function openDatabase(callback, errback) {'''
796+
if options.support_node:
797+
code += '''
798+
if (isNode) {
799+
return errback();
800+
}'''
801+
code += '''
799802
var indexedDB;
800803
if (typeof window === 'object') {
801804
indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;

0 commit comments

Comments
 (0)