| Index: LayoutTests/storage/indexeddb/metadata-race.html
 | 
| diff --git a/LayoutTests/storage/indexeddb/metadata-race.html b/LayoutTests/storage/indexeddb/metadata-race.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..2ac0bc479445472ba391de0bb004ab802e81771b
 | 
| --- /dev/null
 | 
| +++ b/LayoutTests/storage/indexeddb/metadata-race.html
 | 
| @@ -0,0 +1,40 @@
 | 
| +<!DOCTYPE html>
 | 
| +<script src="../../fast/js/resources/js-test-pre.js"></script>
 | 
| +<script src="resources/shared.js"></script>
 | 
| +<script>
 | 
| +
 | 
| +description("Ensure IndexedDB transactions created before open onsuccess have correct metadata");
 | 
| +
 | 
| +indexedDBTest(prepareDatabase, onOpenSuccess);
 | 
| +function prepareDatabase(evt)
 | 
| +{
 | 
| +    preamble(evt);
 | 
| +    evalAndLog("db = event.target.result");
 | 
| +    evalAndLog("store = db.createObjectStore('store')");
 | 
| +    evalAndLog("store.createIndex('index', 'keyPath')");
 | 
| +    evalAndLog("transaction = event.target.transaction");
 | 
| +    shouldNotThrow("index = transaction.objectStore('store').index('index')");
 | 
| +    transaction.oncomplete = onTransactionComplete;
 | 
| +}
 | 
| +
 | 
| +function onTransactionComplete(evt)
 | 
| +{
 | 
| +    preamble(evt);
 | 
| +    debug("In multiprocess mode, 'complete' event may be dispatched before\n" +
 | 
| +          "the 'success' arrives with updated metadata. Ensure the new metadata\n" +
 | 
| +          "is still used for transactions.");
 | 
| +    evalAndLog("store = db.transaction('store').objectStore('store')");
 | 
| +    shouldNotThrow("index = store.index('index')");
 | 
| +}
 | 
| +
 | 
| +function onOpenSuccess(evt)
 | 
| +{
 | 
| +    preamble(evt);
 | 
| +    evalAndLog("db = event.target.result");
 | 
| +    evalAndLog("store = db.transaction('store').objectStore('store')");
 | 
| +    shouldNotThrow("index = store.index('index')");
 | 
| +    finishJSTest();
 | 
| +}
 | 
| +
 | 
| +</script>
 | 
| +<script src="../../fast/js/resources/js-test-post.js"></script>
 | 
| 
 |