<!DOCTYPE html>
<title>ok</title>
<script>
window.onmessage = function(e) {
    var id = e.data.id;
    try {
        var name = 'checkallowed';
        self.caches.open(name).then(function (cache) {
            self.caches.delete(name);
            window.parent.postMessage({id: id, result: 'allowed'}, '*');
        }).catch(function(e) {
            window.parent.postMessage({id: id, result: 'denied', name: e.name, message: e.message}, '*');
        });
    } catch (e) {
        window.parent.postMessage({id: id, result: 'unexpecteddenied', name: e.name, message: e.message}, '*');
    }
};
</script>
