<body>
<div>This tests that the <code>fullscreenEnabled</code> property is false when fullscreen
is not supported as laid out in section 4 of the 
<a href="http://fullscreen.spec.whatwg.org/#api">Fullscreen API</a> living
standard</div>
<script src="full-screen-test.js"></script>
<script>
    internals.settings.setFullscreenSupported(false);
    
    testExpected('document.webkitFullscreenEnabled', false);

    var iframe = document.documentElement.appendChild(document.createElement('iframe'));
    iframe.setAttribute('allowfullscreen', 'true');
    testExpected('iframe.contentDocument.webkitFullscreenEnabled', false);
    endTest();
</script>
</body>