Closed Bug 836456 Opened 11 years ago Closed 2 years ago

[10.7] Trigger page to bounce with momentum scroll events

Categories

(Core :: Widget: Cocoa, defect, P4)

x86_64
macOS
defect

Tracking

()

RESOLVED DUPLICATE of bug 1124108

People

(Reporter: spohl, Assigned: mstange)

References

(Blocks 1 open bug)

Details

(Whiteboard: tpi:+)

Momentum scroll events past the top or bottom of a page should trigger the page to bounce similar to what is being implemented for bug 673875.

Because NSEvent's trackSwipeEventWithOptions method throws Objective-C exceptions if called with momentum scroll events, this bug does not fall in the context of bug 673875.

Momentum scroll events (in the context of this bug) are events that return YES to nsCocoaUtils::IsMomentumScrollEvent:

 BOOL nsCocoaUtils::IsMomentumScrollEvent(NSEvent* aEvent)
 {
   if ([aEvent type] != NSScrollWheel)
     return NO;
     
   if ([aEvent respondsToSelector:@selector(momentumPhase)])
     return ([aEvent momentumPhase] & NSEventPhaseChanged) != 0;
     
   if ([aEvent respondsToSelector:@selector(_scrollPhase)])
     return [aEvent _scrollPhase] != 0;
     
   return NO;
 }
Assignee: nobody → spohl.mozilla.bugs
Blocks: 673875
No longer depends on: 673875
I'm unlikely to get to this in the next two weeks, so unassigning myself.
Assignee: spohl.mozilla.bugs → nobody
I'm trying to see if we can find a way to move forward with issues that can benefit from APZ awesomeness.

Right now, when I flip the 'apz.overscroll.enabled' pref, I get a smooth stretch animation that I remember from FirefoxOS. Only thing is that it doesn't stretch back when I release my fingers from the trackpad; I have to scroll back a bit to get the page back un-stretched.
On desktop we don't need to worry about patent issues, so we can use the OSX-style bounce animation if we'd like.

Is there some kind of API that the frontend team can use to wire things up, or do we need support from platform?
Flags: needinfo?(mstange)
Flags: needinfo?(bugmail.mozilla)
I have wip patches that implement this with APZ. I'll finish them up once the APZ ship blockers are fixed.
Assignee: nobody → mstange
Flags: needinfo?(mstange)
Flags: needinfo?(bugmail.mozilla)
Priority: -- → P4
Whiteboard: tpi:+

This was implemented in bug 1124108.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.