<!DOCTYPE html>
<html>
<head>
    <script>
    function debug(str) {
        var c = document.getElementById("console")
        c.innerHTML += (str + "<br>")
    }

    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }

    function runTest() {
        var testDiv = document.getElementById("test");
        var testFrame = document.createElement("iframe");
        testDiv.appendChild(testFrame);
        var testFrameDocument = testFrame.contentDocument;
        testFrame.outerHTML = testFrameDocument;

        testFrameDocument.requestStorageAccess();

        debug("SUCCESS: Did not crash.")
        if (window.testRunner)
            testRunner.notifyDone();
    }
    </script>
</head>
<body onload="runTest()">
    <div id="test">
        <p>Test that requesting storage access API on a detached frame doesn't crash.</p>
    </div>
    <pre id="console"></pre>
</body>
</html>
