From 06ac6fcdde5b1f9a00e4c966ce165af0a4c3c1da Mon Sep 17 00:00:00 2001 From: Eric Guzman Date: Fri, 29 Jun 2012 12:25:50 -0700 Subject: Null check on results from getMatchedCSSRules --- js/controllers/styles-controller.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js index aca86ec5..39deeaa8 100755 --- a/js/controllers/styles-controller.js +++ b/js/controllers/styles-controller.js @@ -643,6 +643,7 @@ var stylesController = exports.StylesController = Montage.create(Component, { getMatchingRules : { //TODO: Remove omitPseudos from here and usages value: function(element, omitPseudos, useStageStyleSheet) { var rules, + matchedRules, mappedRules, doc = element.ownerDocument, win = doc.defaultView; @@ -653,7 +654,14 @@ var stylesController = exports.StylesController = Montage.create(Component, { } try { - mappedRules = nj.toArray(win.getMatchedCSSRules(element)).map(function(rule) { + matchedRules = win.getMatchedCSSRules(element); + + if(!matchedRules) { + console.warn('StylesController::getMatchingRules - matched rules are null'); + return []; + } + + mappedRules = nj.toArray(matchedRules).map(function(rule) { return this._getRuleWithCSSText(rule.cssText, doc); }, this); -- cgit v1.2.3