| OLD | NEW |
| 1 <!doctype html> | 1 <!doctype html> |
| 2 <meta charset="utf8"> | 2 <meta charset="utf8"> |
| 3 <title>IndexedDB: backend-aborted versionchange transaction lifecycle</title> | 3 <title>IndexedDB: backend-aborted versionchange transaction lifecycle</title> |
| 4 <link rel="help" | 4 <link rel="help" |
| 5 href="https://w3c.github.io/IndexedDB/#upgrade-transaction-steps"> | 5 href="https://w3c.github.io/IndexedDB/#upgrade-transaction-steps"> |
| 6 <link rel="help" | 6 <link rel="help" |
| 7 href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-createobjectstore"> | 7 href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-createobjectstore"> |
| 8 <link rel="help" | 8 <link rel="help" |
| 9 href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-deleteobjectstore"> | 9 href="https://w3c.github.io/IndexedDB/#dom-idbdatabase-deleteobjectstore"> |
| 10 <link rel="author" href="pwnall@chromium.org" title="Victor Costan"> | 10 <link rel="author" href="pwnall@chromium.org" title="Victor Costan"> |
| 11 <script src="../../resources/testharness.js"></script> | 11 <script src="../../resources/testharness.js"></script> |
| 12 <script src="../../resources/testharnessreport.js"></script> | 12 <script src="../../resources/testharnessreport.js"></script> |
| 13 <script src="resources/support-promises.js"></script> | 13 <script src="resources/support-promises.js"></script> |
| 14 <script> | 14 <script> |
| 15 'use strict'; | 15 'use strict'; |
| 16 setup({allow_uncaught_exception: true}); |
| 16 | 17 |
| 17 promise_test(t => { | 18 promise_test(t => { |
| 18 return createDatabase(t, database => { | 19 return createDatabase(t, database => { |
| 19 createBooksStore(t, database); | 20 createBooksStore(t, database); |
| 20 }).then(database => { | 21 }).then(database => { |
| 21 database.close(); | 22 database.close(); |
| 22 }).then(() => migrateDatabase(t, 2, (database, transaction, request) => { | 23 }).then(() => migrateDatabase(t, 2, (database, transaction, request) => { |
| 23 return new Promise((resolve, reject) => { | 24 return new Promise((resolve, reject) => { |
| 24 transaction.addEventListener('abort', () => { | 25 transaction.addEventListener('abort', () => { |
| 25 resolve(new Promise((resolve, reject) => { | 26 resolve(new Promise((resolve, reject) => { |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 }, 0); | 76 }, 0); |
| 76 }, false); | 77 }, false); |
| 77 transaction.objectStore('books').add(BOOKS_RECORD_DATA[0]); | 78 transaction.objectStore('books').add(BOOKS_RECORD_DATA[0]); |
| 78 transaction._willBeAborted(); | 79 transaction._willBeAborted(); |
| 79 }); | 80 }); |
| 80 })); | 81 })); |
| 81 }, 'in a setTimeout(0) callback after the abort event is fired for a ' + | 82 }, 'in a setTimeout(0) callback after the abort event is fired for a ' + |
| 82 'transaction aborted due to an unhandled request failure'); | 83 'transaction aborted due to an unhandled request failure'); |
| 83 | 84 |
| 84 </script> | 85 </script> |
| OLD | NEW |