From 5a1db91bf3e58a55bfa2baa9a3d27de3b6244ede Mon Sep 17 00:00:00 2001 From: Rodrigo Rosenfeld Rosas Date: Tue, 28 Jan 2014 15:19:25 -0200 Subject: [PATCH] CSS: window.getDefaultComputedStyle may return null Fixes #14736 Closes gh-1501 (cherry picked from commit 51910ba8a5aff4cd1a811f1fdb76a6c62a09a666) --- AUTHORS.txt | 1 + src/css/defaultDisplay.js | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/AUTHORS.txt b/AUTHORS.txt index 9bda6ee1d..70a97e8c3 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -209,4 +209,5 @@ John Paul S. Andrew Sheppard Roman Reiß Benjy Cui +Rodrigo Rosenfeld Rosas diff --git a/src/css/defaultDisplay.js b/src/css/defaultDisplay.js index 518c7d8ae..210ad4a80 100644 --- a/src/css/defaultDisplay.js +++ b/src/css/defaultDisplay.js @@ -13,14 +13,15 @@ var iframe, */ // Called only from within defaultDisplay function actualDisplay( name, doc ) { - var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + var style, + elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle ? + display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? // Use of this method is a temporary fix (more like optmization) until something better comes along, // since it was removed from specification and supported only in FF - window.getDefaultComputedStyle( elem[ 0 ] ).display : jQuery.css( elem[ 0 ], "display" ); + style.display : jQuery.css( elem[ 0 ], "display" ); // We don't have any data stored on the element, // so use "detach" method as fast way to get rid of the element