Mobile/Archive/PageInteractions
From MozillaWiki
< Mobile
Contents
Summary
Because of the panning behavior in Firefox Mobile, mousemove events are not dispatched to websites. That can break many popular web applications, like Google Maps, as well as any drag-n-drop functionality on a web page.
Firefox Mobile should be able to pass mousemove events to webpages that listen for the events. At the same time, we should not break chrome-level panning (sidebars and titlebar).
Current Status
Design for preliminary behavior has been completed. We are ready to start implementing.
Next Steps
- Implement initial design
- Test the effectiveness of the approach
Related Bugs
Team
- Design: madhava
- Team Members: vingtetun, mfinkle
Designs
Madhava, Stuart and Finkle talked through an initial design. The high points are:
- Use "getListenerInfoFor" to see if a content element wants to receive a mousemove event. If so, displatch it like we do for mousedown and mouseup. See http://mxr.mozilla.org/mozilla1.9.2/source/content/events/public/nsIEventListenerService.idl
- If we are displatching mousemoves to the content, we need to create a finger-sized border area around the chrome window. Any touches the start in this border will _always_ start chrome panning and will _not_ be redispatched to content - no matter what.
Goals/Use Cases
- Support more webapps - ones that use mouse interactions.
Non Goals
- Support every webapp and every edge case.