| Index: content/test/data/indexeddb/blob_did_ack_prefetch.html
|
| diff --git a/content/test/data/indexeddb/blob_did_ack_prefetch.html b/content/test/data/indexeddb/blob_did_ack_prefetch.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..333c2e95726be8b7431a4fb817ad969a753e6fe8
|
| --- /dev/null
|
| +++ b/content/test/data/indexeddb/blob_did_ack_prefetch.html
|
| @@ -0,0 +1,56 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<!--
|
| + Copyright 2015 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 unused cursor prefetches are acked back to browser process</title>
|
| +<script src="common.js"></script>
|
| +<script>
|
| +
|
| +// Constants.
|
| +var store_name = 'prefetch_blobs_ack';
|
| +var kNumToFetch = 15; // Enough to trigger prefetch, but not on a batch boundary.
|
| +
|
| +// Shared variables.
|
| +var db;
|
| +
|
| +function test() {
|
| + indexedDBTest(prepareDatabase, iterateCursor);
|
| +}
|
| +
|
| +function prepareDatabase() {
|
| + db = event.target.result;
|
| + var store = db.createObjectStore(store_name);
|
| + for (var i = 0; i < kNumToFetch + 10; ++i)
|
| + store.put(new Blob([String(i)]), i);
|
| +}
|
| +
|
| +function iterateCursor() {
|
| + var tx = db.transaction(store_name, 'readonly');
|
| + var count = kNumToFetch;
|
| + var request = tx.objectStore(store_name).openCursor();
|
| + request.onerror = unexpectedErrorCallback;
|
| + request.onsuccess = function() {
|
| + if (--count > 0)
|
| + request.result.continue();
|
| + };
|
| + tx.onabort = unexpectedAbortCallback;
|
| + tx.oncomplete = onComplete;
|
| +}
|
| +
|
| +function onComplete() {
|
| + gc();
|
| + done();
|
| +}
|
| +
|
| +</script>
|
| +</head>
|
| +<body onLoad="test()">
|
| + <div id="status">Starting...<br>
|
| + <p>Run this test with --js-flags=--expose-gc when run from Chrome.</p>
|
| + </div>
|
| +</body>
|
| +</html>
|
|
|