share resize debounce with zoom

This commit is contained in:
Rene Haas
2022-11-04 01:21:09 +01:00
parent ce997790ab
commit 78e7a38662
@@ -243,15 +243,16 @@ const createEnvironment = (): InternalEnvironment => {
_staticDefaultOptions: assignDeep({}, staticDefaultOptions),
};
const windowAddEventListener = window.addEventListener;
const debouncedWindowResize = debounce((zoom: boolean) => triggerEvent(zoom ? 'z' : 'r'), {
_timeout: 33,
_maxDelay: 99,
});
removeAttr(envElm, 'style');
removeElements(envElm);
// needed in case content has css viewport units
windowAddEventListener(
'resize',
debounce(triggerEvent.bind(0, 'r', []), { _timeout: 33, _maxDelay: 99 })
);
windowAddEventListener('resize', debouncedWindowResize.bind(0, false));
if (!nativeScrollbarsHiding && (!nativeScrollbarsOverlaid.x || !nativeScrollbarsOverlaid.y)) {
let resizeFn: undefined | ReturnType<ScrollbarsHidingPluginInstance['_envWindowZoom']>;
@@ -261,7 +262,8 @@ const createEnvironment = (): InternalEnvironment => {
| undefined;
resizeFn = resizeFn || (scrollbarsHidingPlugin && scrollbarsHidingPlugin._envWindowZoom());
resizeFn && resizeFn(env, updateNativeScrollbarSizeCache, triggerEvent.bind(0, 'z', []));
resizeFn &&
resizeFn(env, updateNativeScrollbarSizeCache, debouncedWindowResize.bind(0, true));
});
}