Skip to content

Commit 2f349ae

Browse files
committed
Changed timeout to requestAnimationFrame
1 parent 3a58aa7 commit 2f349ae

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;
@@ -448,13 +448,14 @@ export class Content implements ComponentInterface {
448448

449449
if ('ResizeObserver' in window) {
450450
this.resizeObserver = new ResizeObserver(() => {
451-
if (this.observerResizeTimeout !== null) {
452-
clearTimeout(this.observerResizeTimeout);
451+
if (this.observerResizeRaf !== null) {
452+
cancelAnimationFrame(this.observerResizeRaf);
453453
}
454-
this.observerResizeTimeout = setTimeout(() => {
455-
this.observerResizeTimeout = null;
454+
455+
this.observerResizeRaf = requestAnimationFrame(() => {
456+
this.observerResizeRaf = null;
456457
this.resize();
457-
}, 100);
458+
});
458459
});
459460
}
460461

@@ -491,9 +492,9 @@ export class Content implements ComponentInterface {
491492
}
492493

493494
private disconnectObservers() {
494-
if (this.observerResizeTimeout !== null) {
495-
clearTimeout(this.observerResizeTimeout);
496-
this.observerResizeTimeout = null;
495+
if (this.observerResizeRaf !== null) {
496+
cancelAnimationFrame(this.observerResizeRaf);
497+
this.observerResizeRaf = null;
497498
}
498499
if (this.mutationObserver) {
499500
this.mutationObserver.disconnect();

0 commit comments

Comments
 (0)