<!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>