diff --git a/packages/popper/src/utils/getBoundaries.js b/packages/popper/src/utils/getBoundaries.js index 454bc0b433..ae6583a042 100644 --- a/packages/popper/src/utils/getBoundaries.js +++ b/packages/popper/src/utils/getBoundaries.js @@ -57,7 +57,7 @@ export default function getBoundaries( // In case of HTML, we need a different computation if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { - const { height, width } = getWindowSizes(); + const { height, width } = getWindowSizes(popper.ownerDocument); boundaries.top += offsets.top - offsets.marginTop; boundaries.bottom = height + offsets.top; boundaries.left += offsets.left - offsets.marginLeft; diff --git a/packages/popper/src/utils/getBoundingClientRect.js b/packages/popper/src/utils/getBoundingClientRect.js index 8109001296..7fa97f4588 100644 --- a/packages/popper/src/utils/getBoundingClientRect.js +++ b/packages/popper/src/utils/getBoundingClientRect.js @@ -42,7 +42,7 @@ export default function getBoundingClientRect(element) { }; // subtract scrollbar size from sizes - const sizes = element.nodeName === 'HTML' ? getWindowSizes() : {}; + const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {}; const width = sizes.width || element.clientWidth || result.right - result.left; const height = diff --git a/packages/popper/src/utils/getOffsetRect.js b/packages/popper/src/utils/getOffsetRect.js index b08548c5c7..c14051b515 100644 --- a/packages/popper/src/utils/getOffsetRect.js +++ b/packages/popper/src/utils/getOffsetRect.js @@ -11,7 +11,7 @@ import getClientRect from './getClientRect'; export default function getOffsetRect(element) { let elementRect; if (element.nodeName === 'HTML') { - const { width, height } = getWindowSizes(); + const { width, height } = getWindowSizes(element.ownerDocument); elementRect = { width, height, diff --git a/packages/popper/src/utils/getWindowSizes.js b/packages/popper/src/utils/getWindowSizes.js index c0bd51baed..a81f106154 100644 --- a/packages/popper/src/utils/getWindowSizes.js +++ b/packages/popper/src/utils/getWindowSizes.js @@ -15,7 +15,7 @@ function getSize(axis, body, html, computedStyle) { ); } -export default function getWindowSizes() { +export default function getWindowSizes(document) { const body = document.body; const html = document.documentElement; const computedStyle = isIE(10) && getComputedStyle(html);