Index: trunk/src/content/test/data/indexeddb/corrupted_open_db_detection.html |
=================================================================== |
--- trunk/src/content/test/data/indexeddb/corrupted_open_db_detection.html (revision 260206) |
+++ trunk/src/content/test/data/indexeddb/corrupted_open_db_detection.html (working copy) |
@@ -1,114 +0,0 @@ |
-<!DOCTYPE html> |
-<html> |
-<!-- |
- Copyright 2014 The Chromium Authors. All rights reserved. |
- Use of this source code is governed by a BSD-style license that can be |
- found in the LICENSE file. |
---> |
-<head> |
-<title>IDB test that db's corrupted while open are properly handled Part 1 / 2</title> |
-<script type="text/javascript" src="common.js"></script> |
-<script> |
- |
-function test() { |
- indexedDBTest(upgradeCallback, openCallback); |
-} |
- |
-var numObjectsWrittenToDb = 500; |
-var numTransactions = 0; |
-var numTransactionErrors = 0; |
-var numTransactionAborts = 0; |
-var numKeys = 0; |
-var transaction; |
-var request; |
-var db; |
-var objectStore; |
- |
-function upgradeCallback() { |
- db = event.target.result; |
- deleteAllObjectStores(db); |
- objectStore = db.createObjectStore('storeName', { autoIncrement : true }); |
- |
- var i; |
- var len = 80; |
- var data = Array(len); |
- for (i = 0; i < len; ++i) { |
- data[i] = i; |
- } |
- |
- for (i = 0; i < numObjectsWrittenToDb; ++i) { |
- var key = 'key-' + i; |
- request = objectStore.add(data, key); |
- request.onerror = unexpectedErrorCallback; |
- request.onsuccess = upgradeTransactionComplete; |
- } |
-} |
- |
-function upgradeTransactionComplete() { |
- ++numTransactions; |
- if (numTransactions === numObjectsWrittenToDb) { |
- debug("All transactions written"); |
- } |
-} |
- |
-function transactionError(event) { |
- if (event.target.error) { |
- numTransactionErrors += 1; |
- } else { |
- fail("Transaction onerror had no error"); |
- } |
-} |
- |
-function transactionAbort() { |
- if (event.target.error) { |
- numTransactionAborts += 1; |
- } else { |
- fail("Transaction onabort had no error"); |
- } |
-} |
- |
-function requestError(event) { |
- if (!event.target.error) { |
- fail("get request had no/invalid error"); |
- } |
-} |
- |
-function databaseClosed(event) { |
- shouldBe("numTransactionErrors", "1"); |
- shouldBe("numTransactionAborts", "1"); |
- |
- done("Closed as expected"); |
-} |
- |
-function getData() { |
- transaction = db.transaction('storeName'); |
- db.onclose = databaseClosed; |
- transaction.onabort = transactionAbort; |
- transaction.onerror = transactionError; |
- request.oncomplete = unexpectedCompleteCallback; |
- store = transaction.objectStore('storeName'); |
- request = store.get('key-0'); |
- request.onsuccess = unexpectedSuccessCallback; |
- request.onerror = requestError; |
-} |
- |
-function openCallback() { |
- var xmlhttp = new window.XMLHttpRequest(); |
- xmlhttp.open("GET", "/corrupt/test/corruptdb?storeName", false /*sync*/); |
- xmlhttp.onreadystatechange = function() { |
- if (xmlhttp.readyState === 4) { |
- if (xmlhttp.status === 200) { |
- // The database is now corrupt. |
- getData(); |
- } |
- } |
- }; |
- xmlhttp.send(); |
-} |
- |
-</script> |
-</head> |
-<body onLoad="test()"> |
-<div id="status">Starting...</div> |
-</body> |
-</html> |