From 6df1bf9be818b8955f94113aecc689fdf7a2e172 Mon Sep 17 00:00:00 2001 From: Martin Naumann Date: Tue, 16 Jun 2015 23:55:21 +0200 Subject: [PATCH] CSS: Work around an IE11 fullscreen dimensions bug (cherry-picked from 90d828bad0d6d318d73d6cf6209d9dc7ac13878c) Fixes gh-1764 Closes gh-2401 --- src/css.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/css.js b/src/css.js index 9a25816a4..1ac2bc02c 100644 --- a/src/css.js +++ b/src/css.js @@ -120,6 +120,17 @@ function getWidthOrHeight( elem, name, extra ) { styles = getStyles( elem ), isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + // Support: IE11 only + // Fix for edge case in IE 11. See gh-1764 + if ( document.msFullscreenElement && window.top !== window ) { + // Support: IE11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + if ( elem.getClientRects().length ) { + val = Math.round( elem.getBoundingClientRect()[ name ] * 100 ); + } + } + // some non-html elements return undefined for offsetWidth, so check for null/undefined // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668