Use inner of top window for all outer computations

For #598
This commit is contained in:
kkapsner 2022-04-04 18:10:16 +02:00
parent 6aab7f68ea
commit fd09e3d5cf
4 changed files with 16 additions and 2 deletions

View File

@ -184,7 +184,7 @@
getterGenerator: function(checker){
const temp = {
get outerWidth(){
return checkerWrapper(checker, this, arguments, getFaker(window => window.innerWidth));
return checkerWrapper(checker, this, arguments, getFaker(window => window.top.innerWidth));
}
};
return Object.getOwnPropertyDescriptor(temp, "outerWidth").get;
@ -196,7 +196,7 @@
getterGenerator: function(checker){
const temp = {
get outerHeight(){
return checkerWrapper(checker, this, arguments, getFaker(window => window.innerHeight));
return checkerWrapper(checker, this, arguments, getFaker(window => window.top.innerHeight));
}
};
return Object.getOwnPropertyDescriptor(temp, "outerHeight").get;

4
test/screenSizeTest.css Normal file
View File

@ -0,0 +1,4 @@
#iframe {
position: fixed;
top: -2000%;
}

View File

@ -6,9 +6,11 @@
<link href="testIcon.svg" type="image/png" rel="icon">
<link href="testIcon.svg" type="image/png" rel="shortcut icon">
<link rel="stylesheet" href="../default.css" type="text/css">
<link rel="stylesheet" href="./screenSizeTest.css" type="text/css">
<style type="text/css"></style>
</head>
<body>
<iframe id="iframe"></iframe>
<h1>Screen size test</h1>
<h2>Expected result</h2>
<ul>

View File

@ -187,6 +187,14 @@ addResolutionTest("window properties: outer...", function(type){
];
});
addResolutionTest("iframe properties: outer...", function(type){
"use strict";
return document.getElementById("iframe").contentWindow[
"outer" + type.substring(0, 1).toUpperCase() + type.substring(1)
];
});
async function searchValue(tester){
"use strict";