<!doctype html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<iframe id="iframe" src="/common/blank.html"></iframe>

<script>
async_test(t => {
  window.onload = t.step_func_done(() => {
    const wNavigation = iframe.contentWindow.navigation;
    const wDOMException = iframe.contentWindow.DOMException;

    iframe.remove();

    assert_throws_dom("InvalidStateError", wDOMException, () => {
      wNavigation.updateCurrentEntry({ state: document.body });
    });
    assert_equals(navigation.currentEntry.getState(), undefined);
  });
}, `updateCurrentEntry() with unserializable state while not fully active must throw an "InvalidStateError", not a "DataCloneError"`);
</script>
