fixes #7548 - Scroll bar because auto height adjustment doesn't take <0.5 values into account (#7549)

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
This commit is contained in:
Lars Artmann
2023-03-15 14:25:11 +05:30
committed by GitHub
co-authored by Peer Richelsen Hariom Balhara
parent ec4228ab6a
commit ae0ed4176b
+10 -9
View File
@@ -341,15 +341,16 @@ function keepParentInformedAboutDimensionChanges() {
}
const mainElementStyles = getComputedStyle(mainElement);
const contentHeight =
mainElement.offsetHeight +
parseInt(mainElementStyles.marginTop) +
parseInt(mainElementStyles.marginBottom);
const contentWidth =
mainElement.offsetWidth +
parseInt(mainElementStyles.marginLeft) +
parseInt(mainElementStyles.marginRight);
// Use, .height as that gives more accurate value in floating point. Also, do a ceil on the total sum so that whatever happens there is enough iframe size to avoid scroll.
const contentHeight = Math.ceil(
parseFloat(mainElementStyles.height) +
parseFloat(mainElementStyles.marginTop) +
parseFloat(mainElementStyles.marginBottom));
const contentWidth = Math.ceil(
parseFloat(mainElementStyles.width) +
parseFloat(mainElementStyles.marginLeft) +
parseFloat(mainElementStyles.marginRight));
// During first render let iframe tell parent that how much is the expected height to avoid scroll.
// Parent would set the same value as the height of iframe which would prevent scroll.
// On subsequent renders, consider html height as the height of the iframe. If we don't do this, then if iframe get's bigger in height, it would never shrink