scroll-timeline
scroll-timeline copied to clipboard
Prevent ViewTimeline from being initialized as ScrollTimeline first
ViewTimeline inherits from ScrollTimeline and invokes the ScrollTimeline constructor first during initialization. As a result, the timeline is initialized with document.scrollingElement as the source first, including measuring the source, setting up a scroll listener, ResizeObserver and MutationObserver.
This PR splits initialization of ScrollTimeline and ViewTimeline, preventing source from being initialized multiple times.