Closed Bug 1141728 Opened 9 years ago Closed 9 years ago

APZ computes wheel scroll deltas from the wrong event values

Categories

(Core :: Panning and Zooming, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed

People

(Reporter: dvander, Assigned: dvander)

References

Details

Attachments

(2 files, 2 obsolete files)

APZ currently multiples the line/page delta by the line scroll size. It should be multiplying the raw delta by the line scroll size instead.
Attached patch fix (obsolete) — Splinter Review
Attachment #8575533 - Flags: review?(bugmail.mozilla)
Comment on attachment 8575533 [details] [diff] [review]
fix

This doesn't quite work right.
Attachment #8575533 - Flags: review?(bugmail.mozilla)
Attached patch better fix (obsolete) — Splinter Review
This version inlines the relevant logic from WheelTransaction::AccelerateWheelDelta - grabbing the widget's scroll delta override. We skip the root scrollframe check since APZ has to do that part. Everything else in the WheelTransaction/ESM path we can ignore since it's accumulating scroll speed, which APZ has to handle itself.
Attachment #8575533 - Attachment is obsolete: true
Attachment #8575620 - Flags: review?(bugmail.mozilla)
Not a huge fan of this, let me think about it a bit.
Comment on attachment 8575620 [details] [diff] [review]
better fix

Review of attachment 8575620 [details] [diff] [review]:
-----------------------------------------------------------------

Clearing review as per IRC discussion, we'll just bail out to main-thread handling of the wheel event instead if these prefs are set.
Attachment #8575620 - Flags: review?(bugmail.mozilla)
If it turns out that at some point in the future we do need to route this through the APZ then I would rather have it structured like the attached patch (just an outline, I didn't compile it).
Attached patch fixSplinter Review
Attachment #8575620 - Attachment is obsolete: true
Attachment #8576175 - Flags: review?(bugmail.mozilla)
Comment on attachment 8576175 [details] [diff] [review]
fix

Review of attachment 8576175 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/apz/src/APZCTreeManager.cpp
@@ +830,5 @@
>    return result;
>  }
>  
> +// Note: currently, wheel events may only be sent to APZ if the controller
> +// thread is the main thread.

Remove this comment. WidgetWheelEvent is main-thread only so this is already implicit; if you want to explicitly state it then you can add an assertion but I don't think it's necessary.
Attachment #8576175 - Flags: review?(bugmail.mozilla) → review+
https://hg.mozilla.org/mozilla-central/rev/abd759f41a6d
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: