Closed
Bug 776030
(apz-fennec)
Opened 13 years ago
Closed 8 years ago
Allow Fennec to use the AsyncPanZoomController
Categories
(Firefox for Android Graveyard :: Toolbar, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: kats, Assigned: rbarker)
References
(Depends on 2 open bugs)
Details
(Whiteboard: [technical-debt])
Attachments
(2 files)
2.37 KB,
patch
|
Details | Diff | Splinter Review | |
1.38 KB,
text/plain
|
Details |
Fennec's PanZoomController was forked into AsyncPanZoomController for B2G work. Eventually we should reconcile the two and merge them into a unified pan/zoom controller. This bug is to track the work that needs to be done for that.
A general outline of the work that needs to be done is:
- Extract an interface from the java PanZoomController
- Implement a "native" version of the interface that delegates calls to an instance of AsyncPanZoomController stored in nsWindow
- Eventually move the TouchEventHandler code into c++ as well. Currently some of this is merged into the C++ AsyncPanZoomController but it should probably be broken out into a separate class
Also fennec's PanZoomController deals with viewport information mostly in device pixels, but the AsyncPanZoomController uses CSS pixels. Going forward it's probably best to stick to CSS pixels (although this may change depending on discussions with layout/gfx people) so switching java over to use CSS pixels might be a good idea as a first step.
Comment 1•12 years ago
|
||
kats, is this bug a dupe or a blocker of bug 745136?
Reporter | ||
Comment 2•12 years ago
|
||
I'll go with blocker. There might be some overlap between this bug and some of the other blockers of that bug though.
Reporter | ||
Comment 3•12 years ago
|
||
Renaming this bug to scope it down to something a little more precise and manageable.
Summary: Merge the fennec PanZoomController.java and the gecko AsyncPanZoomController.cpp → Allow Fennec to use the AsyncPanZoomController
Reporter | ||
Updated•12 years ago
|
Blocks: multi-apzc
Reporter | ||
Comment 4•12 years ago
|
||
Making it a pref is a bit harder than I thought since we currently create the PZC before gecko is up, and there's a bunch of code in GeckoLayerClient that could potentially NPE if we move the creation to later. I can fix that up but probably won't have time to test it all today, so I'm posting this temporary WIP that adds a compile-time flag for it.
Reporter | ||
Updated•12 years ago
|
No longer blocks: multi-apzc
Reporter | ||
Updated•11 years ago
|
Status: ASSIGNED → NEW
Reporter | ||
Updated•11 years ago
|
Depends on: apz-threadsafe
Reporter | ||
Updated•11 years ago
|
Alias: apz-fennec
Comment 8•10 years ago
|
||
Related to 978438 and FWIW: -
I think it is important for the accompanying documentation to point out that, when trying to disable default mouse event emulation from touch events, event.preventDefault() should ONLY be called from the touchend event. Otherwise any touchcancel or touchleave events are just not gonna happen.
To me https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events lacks clarity on this.
Comment 9•10 years ago
|
||
Can someone please describe the behavior of the following on Gecko?
On every other browser Chrome, Opera, Android, IE (pointerend), and Safari, a preventDefault() call on a touchend event prevents the mouse emulation. FireFox Android is failing again :-(
Reporter | ||
Comment 10•10 years ago
|
||
If by "mouse emulation" you are referring to the click event, then yes, that is a bug - we have bug 1016480 on file for that. The issue was only reported relatively recently so nobody has put together a fix for it yet, but if you're willing to help contribute I'd be happy to mentor you through fixing it.
Comment 11•10 years ago
|
||
Yes, that's what I mean. Well actually mousedown, mouseup, and click (maybe even a mouseover can't remember).
I don't think I'm up for the challenge sorry. Cheers Richard Maher
Updated•10 years ago
|
tracking-fennec: --- → 39+
Reporter | ||
Updated•10 years ago
|
Assignee: bugmail.mozilla → nobody
Reporter | ||
Updated•10 years ago
|
Reporter | ||
Updated•10 years ago
|
No longer depends on: apz-threadsafe
Reporter | ||
Comment 12•10 years ago
|
||
I put together a plan of how to tackle this, and Danilo is going to be working his way through this, starting this week. Posting it here just for reference if anybody else cares (and so that I can reference if it need be).
Updated•10 years ago
|
Assignee: nobody → danilo.eu
Updated•10 years ago
|
tracking-fennec: 39+ → 42+
Assignee: danilo.eu → rbarker
tracking-fennec: 42+ → Nightly+
Blocks: 1203349
Reporter | ||
Updated•9 years ago
|
Depends on: fennec-aboard-apz
Blocks: 1206620
tracking-fennec: Nightly+ → 48+
Depends on: 1280666
tracking-fennec: 48+ → ---
Reporter | ||
Comment 14•8 years ago
|
||
I'm going to close this bug, since Fennec is (and has been for a while now) using the C++ APZ code.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•