From 070fadce6b74daacb80a666de8170f565bb87709 Mon Sep 17 00:00:00 2001 From: Tatu Lund Date: Thu, 2 Oct 2025 09:26:44 +0300 Subject: [PATCH] fix: Use requestAnimationFrame with ResizeObserver Modified ResizeObserver to use requestAnimationFrame for better performance in Safari. --- .../component-base/src/virtualizer-iron-list-adapter.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/component-base/src/virtualizer-iron-list-adapter.js b/packages/component-base/src/virtualizer-iron-list-adapter.js index bf25f47154a..0e74bc64e67 100644 --- a/packages/component-base/src/virtualizer-iron-list-adapter.js +++ b/packages/component-base/src/virtualizer-iron-list-adapter.js @@ -51,7 +51,11 @@ export class IronListAdapter { FIX_INVALID_ITEM_POSITIONING: 100, }; - this.__resizeObserver = new ResizeObserver(() => this._resizeHandler()); + // Use requestAnimationFrame to avoid performance issues with Safari + this.__resizeObserver = new ResizeObserver(() => { + const ironListAdapter = this; + requestAnimationFrame(() => ironListAdapter._resizeHandler()); + }); if (getComputedStyle(this.scrollTarget).overflow === 'visible') { this.scrollTarget.style.overflow = 'auto';