<!DOCTYPE html>
<body>
<script src="../../resources/js-test-pre.js"></script>
<script>

description('Make sure wrappers are setup using the window the property came from, instead of the lexical global object.');

var frame = document.createElement('iframe');
document.body.appendChild(frame);
var inner = frame.contentWindow;

window.Object.prototype.isInner = false;
inner.Object.prototype.isInner = true;

var pathsToTest = [
    'HTMLElement',
    'Window',
    'console',
    'document',
    'document.body',
    'document.childNodes',
    'navigator',
    'window',
];

function testPath(path) {
    shouldBeTrue('inner.' + path + '.isInner');
    shouldBeTrue('inner.' + path + '.constructor.isInner');
    shouldBeTrue('inner.' + path + '.constructor.prototype.isInner');
    shouldBeTrue('inner.' + path + '.__proto__.isInner');
}

pathsToTest.forEach(testPath);

</script>
<script src="../../resources/js-test-post.js"></script>
</body>