@@ -3,7 +3,7 @@ import Service from '@ember/service';
3
3
import Evented from '@ember/object/evented' ;
4
4
import { classify } from '@ember/string' ;
5
5
import { oneWay , readOnly } from '@ember/object/computed' ;
6
- import { debounce } from '@ember/runloop' ;
6
+ import { debounce , cancel } from '@ember/runloop' ;
7
7
import EmberObject , { set , getWithDefault } from '@ember/object' ;
8
8
9
9
// jscs:disable disallowDirectPropertyAccess
@@ -15,7 +15,6 @@ export default Base.extend(Evented, {
15
15
_oldHeight : window . innerHeight ,
16
16
_oldWidthDebounced : window . innerWidth ,
17
17
_oldHeightDebounced : window . innerHeight ,
18
-
19
18
debounceTimeout : oneWay ( 'defaultDebounceTimeout' ) ,
20
19
widthSensitive : oneWay ( 'defaultWidthSensitive' ) ,
21
20
heightSensitive : oneWay ( 'defaultHeightSensitive' ) ,
@@ -28,7 +27,8 @@ export default Base.extend(Evented, {
28
27
this . _setDefaults ( ) ;
29
28
this . _onResizeHandler = evt => {
30
29
this . _fireResizeNotification ( evt ) ;
31
- debounce ( this , this . _fireDebouncedResizeNotification , evt , this . get ( 'debounceTimeout' ) ) ;
30
+ let scheduledDebounce = debounce ( this , this . _fireDebouncedResizeNotification , evt , this . get ( 'debounceTimeout' ) ) ;
31
+ this . _scheduledDebounce = scheduledDebounce ;
32
32
} ;
33
33
if ( typeof FastBoot === 'undefined' ) {
34
34
this . _installResizeListener ( ) ;
@@ -40,6 +40,7 @@ export default Base.extend(Evented, {
40
40
if ( typeof FastBoot === 'undefined' ) {
41
41
this . _uninstallResizeListener ( ) ;
42
42
}
43
+ this . _cancelScheduledDebounce ( ) ;
43
44
} ,
44
45
45
46
_setDefaults ( ) {
@@ -76,6 +77,10 @@ export default Base.extend(Evented, {
76
77
window . removeEventListener ( 'resize' , this . _onResizeHandler ) ;
77
78
} ,
78
79
80
+ _cancelScheduledDebounce ( ) {
81
+ cancel ( this . _scheduledDebounce ) ;
82
+ } ,
83
+
79
84
_fireResizeNotification ( evt ) {
80
85
const { innerWidth, innerHeight } = window ;
81
86
if ( this . _hasWindowSizeChanged ( innerWidth , innerHeight ) ) {
0 commit comments