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.
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.