| // META: global=window,worker |
| |
| promise_test(async t => { |
| const db_name = "WebAssembly"; |
| const obj_store = "store"; |
| const module_key = "module"; |
| |
| await new Promise((resolve, reject) => { |
| const delete_request = indexedDB.deleteDatabase(db_name); |
| delete_request.onsuccess = resolve; |
| delete_request.onerror = reject; |
| }); |
| |
| const db = await new Promise((resolve, reject) => { |
| const open_request = indexedDB.open(db_name); |
| open_request.onupgradeneeded = function() { |
| open_request.result.createObjectStore(obj_store); |
| }; |
| open_request.onsuccess = function() { |
| resolve(open_request.result); |
| }; |
| open_request.onerror = reject; |
| }); |
| |
| const mod = await WebAssembly.compileStreaming(fetch('../incrementer.wasm')); |
| const tx = db.transaction(obj_store, 'readwrite'); |
| const store = tx.objectStore(obj_store); |
| assert_throws_dom("DataCloneError", () => store.put(mod, module_key)); |
| }); |