| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../../resources/js-test.js"></script> | 2 <script src="../../resources/js-test.js"></script> |
| 3 <script src="resources/shared.js"></script> | 3 <script src="resources/shared.js"></script> |
| 4 <script> | 4 <script> |
| 5 | 5 |
| 6 description('webkitGetDatabaseNames should only return successfully created data
bases'); | 6 description('webkitGetDatabaseNames should only return successfully created data
bases'); |
| 7 | 7 |
| 8 function deleteDatabase(dbname) | 8 function deleteDatabase(dbname) |
| 9 { | 9 { |
| 10 return new Promise(function(resolve, reject) { | 10 return new Promise(function(resolve, reject) { |
| 11 var request = indexedDB.deleteDatabase(dbname); | 11 var request = indexedDB.deleteDatabase(dbname); |
| 12 request.onsuccess = function() { | 12 request.onsuccess = function() { |
| 13 resolve(request.result); | 13 resolve(request.result); |
| 14 }; | 14 }; |
| 15 request.onerror = function() { | 15 request.onerror = function(e) { |
| 16 e.preventDefault(); |
| 16 reject(request.error); | 17 reject(request.error); |
| 17 }; | 18 }; |
| 18 }); | 19 }); |
| 19 } | 20 } |
| 20 | 21 |
| 21 function getDatabaseNames() | 22 function getDatabaseNames() |
| 22 { | 23 { |
| 23 return new Promise(function(resolve, reject) { | 24 return new Promise(function(resolve, reject) { |
| 24 var request = indexedDB.webkitGetDatabaseNames(); | 25 var request = indexedDB.webkitGetDatabaseNames(); |
| 25 request.onsuccess = function() { | 26 request.onsuccess = function() { |
| 26 resolve(request.result); | 27 resolve(request.result); |
| 27 }; | 28 }; |
| 28 request.onerror = function() { | 29 request.onerror = function(e) { |
| 30 e.preventDefault(); |
| 29 reject(request.error); | 31 reject(request.error); |
| 30 }; | 32 }; |
| 31 }); | 33 }); |
| 32 } | 34 } |
| 33 | 35 |
| 34 function openDatabaseAndAbortUpgrade(dbname) | 36 function openDatabaseAndAbortUpgrade(dbname) |
| 35 { | 37 { |
| 36 return new Promise(function(resolve, reject) { | 38 return new Promise(function(resolve, reject) { |
| 37 var request = indexedDB.open(dbname, 1); | 39 var request = indexedDB.open(dbname, 1); |
| 38 request.onupgradeneeded = function() { | 40 request.onupgradeneeded = function() { |
| 39 request.transaction.abort(); | 41 request.transaction.abort(); |
| 40 }; | 42 }; |
| 41 request.onsuccess = function() { | 43 request.onsuccess = function() { |
| 42 reject(new Error('Open should not succeed')); | 44 reject(new Error('Open should not succeed')); |
| 43 }; | 45 }; |
| 44 request.onerror = function() { | 46 request.onerror = function(e) { |
| 47 e.preventDefault(); |
| 45 resolve(); | 48 resolve(); |
| 46 }; | 49 }; |
| 47 }); | 50 }); |
| 48 } | 51 } |
| 49 | 52 |
| 50 setDBNameFromPath(); | 53 setDBNameFromPath(); |
| 51 deleteDatabase(dbname) | 54 deleteDatabase(dbname) |
| 52 .then(getDatabaseNames) | 55 .then(getDatabaseNames) |
| 53 .then(function(names) { | 56 .then(function(names) { |
| 54 if (names.contains(dbname)) | 57 if (names.contains(dbname)) |
| 55 throw Error('Database should have been deleted if present'); | 58 throw Error('Database should have been deleted if present'); |
| 56 | 59 |
| 57 return openDatabaseAndAbortUpgrade(dbname); | 60 return openDatabaseAndAbortUpgrade(dbname); |
| 58 }) | 61 }) |
| 59 .then(getDatabaseNames) | 62 .then(getDatabaseNames) |
| 60 .then(function(names) { | 63 .then(function(names) { |
| 61 if (names.contains(dbname)) | 64 if (names.contains(dbname)) |
| 62 throw Error('Database name should not be present'); | 65 throw Error('Database name should not be present'); |
| 63 | 66 |
| 64 testPassed('Database name was not present'); | 67 testPassed('Database name was not present'); |
| 65 finishJSTest(); | 68 finishJSTest(); |
| 66 }) | 69 }) |
| 67 .catch(function(reason) { | 70 .catch(function(reason) { |
| 68 testFailed(reason.name + ': ' + reason.message); | 71 testFailed(reason.name + ': ' + reason.message); |
| 69 finishJSTest(); | 72 finishJSTest(); |
| 70 }); | 73 }); |
| 71 | 74 |
| 72 </script> | 75 </script> |
| OLD | NEW |