| <!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 getAll() results exceeding IPC message size result in error</title> |
| <script src="common.js"></script> |
| <script> |
| |
| function test() { |
| indexedDBTest(prepareDatabase, runTest); |
| } |
| |
| function prepareDatabase(event) { |
| var db = event.target.result; |
| var store = db.createObjectStore('store'); |
| |
| var ten_kilobytes = new Uint8Array(10 * 1024); |
| |
| // 20MB total; in browser tests, the message limit is 10MB |
| for (var i = 0; i < 2000; ++i) { |
| store.put(ten_kilobytes, i); |
| } |
| } |
| |
| var tx, request; |
| function runTest(event) { |
| var db = event.target.result; |
| tx = db.transaction('store'); |
| request = tx.objectStore('store').getAll(); |
| |
| request.onsuccess = unexpectedSuccessCallback; |
| request.onerror = function(e) { |
| shouldBeEqualToString('request.error.name', 'UnknownError'); |
| }; |
| |
| tx.oncomplete = unexpectedCompleteCallback; |
| tx.onabort = done; |
| } |
| |
| </script> |
| </head> |
| <body onLoad="test()"> |
| <div id="status">Starting...</div> |
| </body> |
| </html> |