Skip to content

Commit 091ced7

Browse files
committed
Changed timeout to requestAnimationFrame
1 parent 95ddd56 commit 091ced7

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

core/src/components/content/content.tsx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export class Content implements ComponentInterface {
3636
private backgroundContentEl?: HTMLElement;
3737
private isMainContent = true;
3838
private resizeTimeout: ReturnType<typeof setTimeout> | null = null;
39-
private observerResizeTimeout: ReturnType<typeof setTimeout> | null = null;
39+
private observerResizeRaf: ReturnType<typeof requestAnimationFrame> | null = null;
4040
private inheritedAttributes: Attributes = {};
4141

4242
private tabsElement: HTMLElement | null = null;
@@ -443,13 +443,14 @@ export class Content implements ComponentInterface {
443443

444444
if ('ResizeObserver' in window) {
445445
this.resizeObserver = new ResizeObserver(() => {
446-
if (this.observerResizeTimeout !== null) {
447-
clearTimeout(this.observerResizeTimeout);
446+
if (this.observerResizeRaf !== null) {
447+
cancelAnimationFrame(this.observerResizeRaf);
448448
}
449-
this.observerResizeTimeout = setTimeout(() => {
450-
this.observerResizeTimeout = null;
449+
450+
this.observerResizeRaf = requestAnimationFrame(() => {
451+
this.observerResizeRaf = null;
451452
this.resize();
452-
}, 100);
453+
});
453454
});
454455
}
455456

@@ -486,9 +487,9 @@ export class Content implements ComponentInterface {
486487
}
487488

488489
private disconnectObservers() {
489-
if (this.observerResizeTimeout !== null) {
490-
clearTimeout(this.observerResizeTimeout);
491-
this.observerResizeTimeout = null;
490+
if (this.observerResizeRaf !== null) {
491+
cancelAnimationFrame(this.observerResizeRaf);
492+
this.observerResizeRaf = null;
492493
}
493494
if (this.mutationObserver) {
494495
this.mutationObserver.disconnect();

0 commit comments

Comments
 (0)