From 765cd0a14500dbb672d891f9833313088161670e Mon Sep 17 00:00:00 2001 From: pmckenna Date: Fri, 31 Aug 2018 14:22:45 +0100 Subject: [PATCH] Get the window containing the element and run getComputedStyle in that context --- packages/popper/src/utils/getOuterSizes.js | 3 ++- packages/popper/src/utils/getStyleComputedProperty.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/popper/src/utils/getOuterSizes.js b/packages/popper/src/utils/getOuterSizes.js index e5e60213b6..6a266b5072 100644 --- a/packages/popper/src/utils/getOuterSizes.js +++ b/packages/popper/src/utils/getOuterSizes.js @@ -6,7 +6,8 @@ * @returns {Object} object containing width and height properties */ export default function getOuterSizes(element) { - const styles = getComputedStyle(element); + const window = element.ownerDocument.defaultView; + const styles = window.getComputedStyle(element); const x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); const y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); const result = { diff --git a/packages/popper/src/utils/getStyleComputedProperty.js b/packages/popper/src/utils/getStyleComputedProperty.js index e2b245793c..014f32bb8e 100644 --- a/packages/popper/src/utils/getStyleComputedProperty.js +++ b/packages/popper/src/utils/getStyleComputedProperty.js @@ -10,6 +10,7 @@ export default function getStyleComputedProperty(element, property) { return []; } // NOTE: 1 DOM access here - const css = getComputedStyle(element, null); + const window = element.ownerDocument.defaultView; + const css = window.getComputedStyle(element, null); return property ? css[property] : css; }