core/sys/wasm/js: add open binding to window.open

This commit is contained in:
Laytan Laats
2025-03-12 18:43:03 +01:00
parent d3b1aaad18
commit 6691acfa03
2 changed files with 9 additions and 1 deletions
+2 -1
View File
@@ -9,4 +9,5 @@ foreign odin_env {
abort :: proc() -> ! ---
alert :: proc(msg: string) ---
evaluate :: proc(str: string) ---
}
open :: proc(url: string, name := "", specs := "") ---
}
+7
View File
@@ -1421,6 +1421,13 @@ function odinSetupDefaultImports(wasmMemoryInterface, consoleElement, memory) {
abort: () => { Module.abort() },
evaluate: (str_ptr, str_len) => { eval.call(null, wasmMemoryInterface.loadString(str_ptr, str_len)); },
open: (url_ptr, url_len, name_ptr, name_len, specs_ptr, specs_len) => {
const url = wasmMemoryInterface.loadString(url_ptr, url_len);
const name = wasmMemoryInterface.loadString(name_ptr, name_len);
const specs = wasmMemoryInterface.loadString(specs_ptr, specs_len);
window.open(url, name, specs);
},
// return a bigint to be converted to i64
time_now: () => BigInt(Date.now()),
tick_now: () => performance.now(),