fix(page-controller): apply scroll direction to pixels parameter
Two bugs in the scroll direction logic: 1. Vertical scroll with `pixels` ignores the `down` boolean because the `??` operator bypasses the direction multiplier when pixels is provided. Fix: move the direction multiplier outside the `??` so it applies to both the pixels and numPages paths. 2. Horizontal scroll with `pixels` applies direction twice - once in PageController.ts and again in actions.ts - causing a double negation that reverses the intended direction. Fix: remove the redundant direction logic from actions.ts since PageController already signs the scroll amount. Also removes the now-unused `down` and `right` parameters from the scrollVertically() and scrollHorizontally() action functions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -321,11 +321,11 @@ export class PageController extends EventTarget {
|
||||
|
||||
this.assertIndexed()
|
||||
|
||||
const scrollAmount = pixels ?? numPages * (down ? 1 : -1) * window.innerHeight
|
||||
const scrollAmount = (pixels ?? numPages * window.innerHeight) * (down ? 1 : -1)
|
||||
|
||||
const element = index !== undefined ? getElementByIndex(this.selectorMap, index) : null
|
||||
|
||||
const message = await scrollVertically(down, scrollAmount, element)
|
||||
const message = await scrollVertically(scrollAmount, element)
|
||||
|
||||
return {
|
||||
success: true,
|
||||
@@ -356,7 +356,7 @@ export class PageController extends EventTarget {
|
||||
|
||||
const element = index !== undefined ? getElementByIndex(this.selectorMap, index) : null
|
||||
|
||||
const message = await scrollHorizontally(right, scrollAmount, element)
|
||||
const message = await scrollHorizontally(scrollAmount, element)
|
||||
|
||||
return {
|
||||
success: true,
|
||||
|
||||
Reference in New Issue
Block a user