<!DOCTYPE html>
<html>
<head>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../resources/get-host-info.js"></script>
<script src="resources/load_wasm.js"></script>
<script src="wasm_indexeddb_test.js"></script>
</head>
<body>
<script>
  if (window.location.origin != get_host_info().UNAUTHENTICATED_ORIGIN) {
    window.location = get_host_info().UNAUTHENTICATED_ORIGIN + window.location.pathname;
  } else {
    promise_test(TestIndexedDBLoadStoreInsecure, "serialize/deserialize to IndexedDB in insecure context");
  }
</script>
</body>
</html>
