Skip to content

Commit eff187e

Browse files
Juuso Palandermarcj
authored andcommitted
Added sanity check to window.getComputedStyle in ResizeSensor (marcj#234)
1 parent cbc9d1a commit eff187e

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/ResizeSensor.js

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@
8383
* @constructor
8484
*/
8585
var ResizeSensor = function(element, callback) {
86-
86+
8787
var observer;
88-
88+
8989
/**
9090
*
9191
* @constructor
@@ -147,7 +147,8 @@
147147
'</div>';
148148
element.appendChild(element.resizeSensor);
149149

150-
var position = window.getComputedStyle(element).getPropertyValue('position');
150+
var computedStyle = window.getComputedStyle(element);
151+
var position = computedStyle ? computedStyle.getPropertyValue('position') : null;
151152
if ('absolute' !== position && 'relative' !== position && 'fixed' !== position) {
152153
element.style.position = 'relative';
153154
}
@@ -161,15 +162,15 @@
161162
var lastWidth = size.width;
162163
var lastHeight = size.height;
163164
var initialHiddenCheck = true, resetRAF_id;
164-
165-
165+
166+
166167
var resetExpandShrink = function () {
167168
expandChild.style.width = '100000px';
168169
expandChild.style.height = '100000px';
169-
170+
170171
expand.scrollLeft = 100000;
171172
expand.scrollTop = 100000;
172-
173+
173174
shrink.scrollLeft = 100000;
174175
shrink.scrollTop = 100000;
175176
};
@@ -186,11 +187,11 @@
186187
if (!resetRAF_id){
187188
resetRAF_id = requestAnimationFrame(function(){
188189
resetRAF_id = 0;
189-
190+
190191
reset();
191192
});
192193
}
193-
194+
194195
return;
195196
} else {
196197
// Stop checking
@@ -236,11 +237,11 @@
236237

237238
addEvent(expand, 'scroll', onScroll);
238239
addEvent(shrink, 'scroll', onScroll);
239-
240+
240241
// Fix for custom Elements
241242
requestAnimationFrame(reset);
242243
}
243-
244+
244245
if (typeof ResizeObserver !== "undefined") {
245246
observer = new ResizeObserver(function(element){
246247
forEachElement(element, function (elem) {

0 commit comments

Comments
 (0)