<!DOCTYPE html> <!-- webkit-test-runner [ UnifiedPDFEnabled=true ] -->
<html>
<head>
    <script src="../resources/js-test.js"></script>
    <style>
        embed {
            width: 300px;
            height: 250px;
        }
    </style>
    <script src="../resources/ui-helper.js"></script>
    <script>
        window.jsTestIsAsync = true;

        if (window.testRunner)
            testRunner.dumpAsText();

        window.addEventListener('load', async () => {
            await UIHelper.renderingUpdate();

            if (!window.internals)
                return;

            let testOutput = "Before installing PDF:\n" + internals.scrollingStateTreeAsText() + "\n";

            const pdf = document.getElementById("pdf");
            pdf.src = "../fast/images/resources/green_rectangle.pdf";

            shouldBecomeEqual("internals.numberOfScrollableAreas()", "1", () => {
                testOutput += "After installing PDF:\n" + internals.scrollingStateTreeAsText() + "\n";

                pdf.parentElement.removeChild(pdf);

                shouldBecomeEqual("internals.numberOfScrollableAreas()", "0", () => {

                    testOutput += "After removing PDF:\n" + internals.scrollingStateTreeAsText() + "\n";
                    document.getElementById('scrollingtree').textContent = testOutput

                    finishJSTest();
                });
            });
        }, false);
    </script>
</head>
<body>
    <embed id="pdf">
    <pre id="scrollingtree"></pre>
</body>
</html>
