// the xpcshell tests normalize self into existence. if (hasCrypto) {
info("creating crypto key"); // (all IDB tests badly need a test driver update...)
generateKey().then(grabEventAndContinueHandler);
let key = yield undefined;
allData.push({
id: 1,
what: "crypto",
data: key,
});
} else {
info("not storing crypto key");
}
// -- Create the IDB and populate it with the base data.
info("opening initial database");
let request = indexedDB.open( this.window ? window.location.pathname : "Splendid Test", 1
);
request.onerror = errorHandler;
request.onupgradeneeded = grabEventAndContinueHandler; // advance onupgradeneeded
let event = yield undefined; // wait for onupgradeneeded.
let db = event.target.result;
db.onerror = errorHandler;
event.target.onsuccess = continueToNextStep; // advance when the open completes
// Make object store, add data.
let objectStore = db.createObjectStore("foo", { keyPath: "id" }); for (let datum of allData) {
info(`add()ing ${datum.what}`);
objectStore.add(datum);
} // wait for the open to complete following our upgrade transaction self-closing
yield undefined; // explicitly close the database so we can open it again. We don't wait for // this, but the upgrade open will block until the close actually happens.
info("closing initial database");
db.close();
// -- Trigger an upgrade, adding a new index.
info("opening database for upgrade to v2");
request = indexedDB.open( this.window ? window.location.pathname : "Splendid Test", 2
);
request.onerror = errorHandler;
request.onupgradeneeded = grabEventAndContinueHandler; // advance onupgradeneeded
event = yield undefined; // wait for onupgradeneeded
let db2 = event.target.result;
db2.onerror = errorHandler;
event.target.onsuccess = continueToNextStep; // advance when the open completes
// Create index.
info("in upgrade, creating index");
event.target.transaction.objectStore("foo").createIndex("foo", "what");
yield undefined; // wait for the open to complete
info("upgrade completed");
finishTest();
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.27 Sekunden
(vorverarbeitet am 2026-08-25)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.