<!DOCTYPE html> <html> <head> <!-- Copyright 2013 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. --> <title>IDB test that database deletion triggers a compaction</title> <script type="text/javascript" src="common.js"></script> <script> var dbname = 'delete_compact'; // Follow navigation requests from the browser test. window.onhashchange = test; function test() { if (location.hash === '#fill') fill(); else if (location.hash === '#purge') purge(); else if (location.hash !== '#pass' && location.hash !== '#fail') fail('unexpected hash'); } function fill() { var bytes = 0; var request = indexedDB.open(dbname); request.onupgradeneeded = function() { var db = request.result; var store = db.createObjectStore('store'); var kilobyte = Array(512+1).join('\u0100'); // 2 bytes in UTF-8 or UTF-16. var megabyte = Array(1024+1).join(kilobyte); for (var i = 0; i < 5; ++i) { store.put(megabyte, i); bytes += 1024 * 1024; } }; request.onsuccess = function() { var db = request.result; db.close(); done('filled with ' + bytes + ' bytes'); }; } function purge() { var request = indexedDB.deleteDatabase(dbname); request.onsuccess = function() { done('purged'); }; } </script> </head> <body onload="test()"> <div id="status">Starting...</div> </body> </html>