| 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>
|
|
|