@@ -59,21 +59,22 @@ class ResizeManager extends Component {
59
59
this . resizeObserver_ = null ;
60
60
this . debouncedHandler_ = debounce ( ( ) => {
61
61
this . resizeHandler ( ) ;
62
- } , 100 , false , player ) ;
62
+ } , 100 , false , this ) ;
63
63
64
64
if ( RESIZE_OBSERVER_AVAILABLE ) {
65
65
this . resizeObserver_ = new this . ResizeObserver ( this . debouncedHandler_ ) ;
66
66
this . resizeObserver_ . observe ( player . el ( ) ) ;
67
67
68
68
} else {
69
69
this . loadListener_ = ( ) => {
70
- if ( this . el_ . contentWindow ) {
71
- Events . on ( this . el_ . contentWindow , 'resize' , this . debouncedHandler_ ) ;
70
+ if ( ! this . el_ || this . el_ . contentWindow ) {
71
+ return ;
72
72
}
73
- this . off ( 'load' , this . loadListener_ ) ;
73
+
74
+ Events . on ( this . el_ . contentWindow , 'resize' , this . debouncedHandler_ ) ;
74
75
} ;
75
76
76
- this . on ( 'load' , this . loadListener_ ) ;
77
+ this . one ( 'load' , this . loadListener_ ) ;
77
78
}
78
79
}
79
80
@@ -95,10 +96,20 @@ class ResizeManager extends Component {
95
96
* @event Player#playerresize
96
97
* @type {EventTarget~Event }
97
98
*/
99
+ // make sure player is still around to trigger
100
+ // prevents this from causing an error after dispose
101
+ if ( ! this . player_ || ! this . player_ . trigger ) {
102
+ return ;
103
+ }
104
+
98
105
this . player_ . trigger ( 'playerresize' ) ;
99
106
}
100
107
101
108
dispose ( ) {
109
+ if ( this . debouncedHandler_ ) {
110
+ this . debouncedHandler_ . cancel ( ) ;
111
+ }
112
+
102
113
if ( this . resizeObserver_ ) {
103
114
if ( this . player_ . el ( ) ) {
104
115
this . resizeObserver_ . unobserve ( this . player_ . el ( ) ) ;
@@ -114,15 +125,10 @@ class ResizeManager extends Component {
114
125
this . off ( 'load' , this . loadListener_ ) ;
115
126
}
116
127
117
- if ( this . debouncedHandler_ ) {
118
- this . debouncedHandler_ . cancel ( ) ;
119
- }
120
-
121
128
this . ResizeObserver = null ;
122
129
this . resizeObserver = null ;
123
130
this . debouncedHandler_ = null ;
124
131
this . loadListener_ = null ;
125
- super . dispose ( ) ;
126
132
}
127
133
128
134
}
0 commit comments