<!doctype html>
<html>
<head>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
function onLoad() {
    div1 = document.createElement('div');
    document.body.appendChild(div1);

    div2 = document.createElement('div');
    div1.appendChild(div2);

    fileInput = document.createElement('input');
    fileInput.type = 'file';
    fileInput.disabled = true;
    div2.appendChild(fileInput);

    divTxt = document.createElement('div');
    div2.appendChild(divTxt);

    setTimeout(function() {
        divTxt.appendChild(document.createTextNode('PASS if this text is visible.'));
        if (window.testRunner)
            testRunner.notifyDone();
    }, 1);
}
</script>
</head>
<body onload="onLoad();">
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=104226">https://bugs.webkit.org/show_bug.cgi?id=104226</a>
Disabled file input box stops a certain other div from being rendered.
</p>
</body>
</html>
