| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 <!DOCTYPE html> |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 <html> |
| 3 // found in the LICENSE file. | 3 <!-- |
| 4 Copyright 2014 The Chromium Authors. All rights reserved. |
| 5 Use of this source code is governed by a BSD-style license that can be |
| 6 found in the LICENSE file. |
| 7 --> |
| 8 <head> |
| 9 <title>IDB test that db's corrupted while open are properly handled Part 2 / 2</
title> |
| 10 <script type="text/javascript" src="common.js"></script> |
| 11 <script> |
| 4 | 12 |
| 5 function test() { | 13 function test() { |
| 6 request = webkitIndexedDB.open('database-basics'); | 14 dbname = "corrupted_open_db_detection.html"; |
| 15 request = webkitIndexedDB.open(dbname); |
| 7 request.onupgradeneeded = upgradeNeeded; | 16 request.onupgradeneeded = upgradeNeeded; |
| 8 request.onsuccess = onSuccess; | 17 request.onsuccess = onSuccess; |
| 9 request.onerror = unexpectedErrorCallback; | 18 request.onerror = unexpectedErrorCallback; |
| 10 request.onblocked = unexpectedBlockedCallback; | 19 request.onblocked = unexpectedBlockedCallback; |
| 11 } | 20 } |
| 12 | 21 |
| 13 var gotUpgradeNeeded = false; | 22 var gotUpgradeNeeded = false; |
| 14 function upgradeNeeded(evt) { | 23 function upgradeNeeded(evt) { |
| 15 event = evt; | 24 event = evt; |
| 16 shouldBe("event.dataLoss", "'total'"); | 25 shouldBe("event.dataLoss", "'total'"); |
| 26 shouldBeTrue('event.dataLossMessage.startsWith("IndexedDB (database was corrup
t): ")'); |
| 17 gotUpgradeNeeded = true; | 27 gotUpgradeNeeded = true; |
| 18 } | 28 } |
| 19 | 29 |
| 20 function onSuccess(event) { | 30 function onSuccess(event) { |
| 21 db = event.target.result; | 31 db = event.target.result; |
| 22 debug("The pre-existing leveldb has an objectStore in 'database-basics',"); | 32 debug("The pre-existing leveldb has an objectStore in 'database-basics',"); |
| 23 debug("ensure that it was blown away"); | 33 debug("ensure that it was blown away"); |
| 24 shouldBe("db.objectStoreNames.length", "0"); | 34 shouldBe("db.objectStoreNames.length", "0"); |
| 25 debug("We should have gotten an upgradeneeded event because the new empty"); | 35 debug("We should have gotten an upgradeneeded event because the new empty"); |
| 26 debug("database doesn't have a version."); | 36 debug("database doesn't have a version."); |
| 27 shouldBeTrue("gotUpgradeNeeded"); | 37 shouldBeTrue("gotUpgradeNeeded"); |
| 28 done(); | 38 done(); |
| 29 } | 39 } |
| 40 |
| 41 </script> |
| 42 </head> |
| 43 <body onLoad="test()"> |
| 44 <div id="status">Starting...</div> |
| 45 </body> |
| 46 </html> |
| OLD | NEW |