"Perform a scroll of a viewport" is called with an optional "associated element", however, it does not list this as a parameter and doesn't use it in the algorithm.
eg: "scroll to the beginning of the document"
- Perform a scroll of viewport to position, and document’s root element as the associated element, if there is one, or null otherwise.
Similarly, Window.scroll():
- Perform a scroll of the viewport to position, document’s root element as the associated element, if there is one, or null otherwise, and the scroll behavior being the value of the behavior dictionary member of options. Let scrollPromise be the Promise returned from this step.
"Perform a scroll of a viewport" does pass an associated element to "perform a scroll of a scrolling box", in steps 14 and 15, so perhaps the two methods got confused during editing?