Commit Graph

168 Commits

Author SHA1 Message Date
Jeff Muizelaar
69adeff0bf Bug 732576. make getViewTransform fast. r=kats
This removes the logging, locking and allocations from getViewTransform.

This reduces the time spent from an median of 6.3ms to 0.061ms

We use a new scheme where the view transform is immutable and the member
variable containing it is atomically overwritten. So we may get a slightly old
view transform but this won't be a problem.
2012-03-02 14:31:27 -05:00
Kartikaya Gupta
134e9fec76 Merge m-c 2012-02-27 15:06:35 -05:00
Brad Lassey
a2ce1ffae0 bug 707571 - user-scalable property of viewport meta tag is ignored r=mbrubeck
--HG--
extra : rebase_source : a4a4d9fb6c61ff91ffb917c1e25b78a6266d7347
2012-03-08 11:55:19 -05:00
Brad Lassey
e5dfd48da7 bug 702907 - Zooming should be disabled while a video is in fullscreen mode r=mbrubeck
--HG--
extra : rebase_source : 0ca9a36735abf2fcc7ad0b276e56c1f50b209488
2012-03-08 10:53:01 -05:00
Ehsan Akhgari
6cfc3f9a14 Bug 728614 - Fix the zoom level when the device rotates on pages with <meta viewport> information; r=kats 2012-02-22 13:13:16 -05:00
Margaret Leibovic
8b73b3586d Bug 704879 - (1/6) Refactor AutoCompletePopup to FormAssistPopup. r=lucasr
--HG--
rename : mobile/android/base/AutoCompletePopup.java => mobile/android/base/FormAssistPopup.java
2012-03-06 11:56:41 -08:00
Doug Turner
b66a0f8126 Merge with mozilla-central 2012-02-16 18:06:54 -08:00
Kartikaya Gupta
5bf0a60702 Bug 727565 - Fix new compiler warnings for javac 1.7. r=bnicholson 2012-02-15 22:55:47 -05:00
Patrick Walton
0a26b4f1af Don't render while pinching. Reduces jank and makes zooming easier to debug. 2012-02-13 22:48:00 -08:00
Chris Peterson
2b16473d8c Bug 715251 - Reduce overscroll distance from 75% to 30% of viewport. r=kats 2012-02-24 10:29:44 -08:00
Kartikaya Gupta
f30d0a8fdf Bug 720538 - Remove unused functions and variables. r=wesj 2012-02-02 09:16:25 -05:00
Kartikaya Gupta
0d71217f68 Bug 720538 - Re-use getValidViewportMetrics to ensure the zoom-to rect is valid. r=wesj 2012-02-02 09:15:37 -05:00
Kartikaya Gupta
b77f272a4f Bug 720538 - Clarify and fix incorrect rect bottom calculation. r=wesj 2012-02-02 09:11:50 -05:00
Brad Lassey
b40529d9ac bug 723243 - SimpleScaleGestureDetector uses getActionIndex(), which is not available in eclair r=wesj 2012-02-01 15:03:46 -05:00
James Willcox
2c9bdd0776 Bug 721741 - Add support for Flash on Android 4.0+ r=blassey 2012-01-31 09:40:58 -05:00
Boris Zbarsky
ba7cdb3f07 Backed out changeset e57ddd9fdd5e (bug 721741) because it breaks Android builds. 2012-01-31 23:38:35 -05:00
James Willcox
fefd8c5bca Bug 721741 - Add support for Flash on Android 4.0+ r=blassey 2012-01-31 09:40:58 -05:00
Ed Morley
e835f7000f Backout b87113ff33ff (bug 721741) for Android build failures 2012-01-31 16:19:00 +00:00
James Willcox
dce57d4892 Bug 721741 - Add support for Flash on Android 4.0+ r=blassey 2012-01-31 09:40:58 -05:00
Kartikaya Gupta
3c728e0df5 Bug 721125 - Prevent the edge resistance from being negative, which can wreak havoc on the viewport. r=pcwalton 2012-01-31 00:42:40 -05:00
Kartikaya Gupta
86f8eaf7f6 Bug 708687 - Snap the page when the page size changes and pushes it into overscroll. r=pcwalton 2012-01-30 23:43:36 -05:00
Wes Johnston
cc5c466908 Bug 711071 - Check for scrollable in velocity calculations. r=pcwalton 2012-01-28 18:23:45 +01:00
Wes Johnston
a8f3aaa251 Bug 719240 - Delay sending touchmove events until touches have moved a minimum distance. r=mfinkle 2012-01-25 01:31:33 +01:00
Wes Johnston
93c69a88ea Bug 603008 - Android widget multitouch implementation. r=blassey,kats 2012-01-25 01:31:33 +01:00
James Willcox
58885a7434 Bug 706684 - Add a small fix for Froyo devices r=kats 2012-01-24 11:02:40 -05:00
Patrick Walton
531d034ae2 Bug 706684 - Implement a simpler scale gesture listener on Android. r=Cwiiis 2012-01-23 19:18:24 -08:00
Kartikaya Gupta
5a06a2ef87 Bug 716863 - Abort uselessly continuing to fling subdocuments once they can't go any farther. r=Cwiiis 2012-01-21 12:44:44 -05:00
Kartikaya Gupta
bba3f13c7d Bug 716863 - Check for overscroll and bounce after iframes are flung. r=Cwiiis 2012-01-21 12:44:29 -05:00
James Willcox
8f71c6ffa1 Bug 707439 - Fix Flash plugin positioning
--HG--
extra : rebase_source : aaa41297d293ffde1aabe5632ade6c416b4d541f
2012-01-18 10:41:35 -05:00
Chris Peterson
b944efc1d0 Bug 706891 part 3 - When drag breaks through pan threshold, reposition touch origin and check for axis locking. r=kats 2012-02-14 10:55:46 -08:00
Chris Peterson
1f86815dbc Bug 706891 part 2 - Reduce PAN_THRESHOLD from 1/10" to 1/16" and change units to dps. r=kats 2012-02-14 11:43:45 -08:00
Chris Peterson
f1e536ebfc Bug 706891 part 1 - Rename Axis setLocked/mLocked to setScrolledDisabled/mScrollingDisabled to clarify meaning. r=kats 2012-02-14 10:55:22 -08:00
Kartikaya Gupta
ce96329935 Bug 722439 - Fix compiler warnings using javac 1.7. r=Cwiiis 2012-02-14 15:28:27 -05:00
Brad Lassey
f3003384c6 bug 725538 - make creating GeckoEvents sane r=kats 2012-02-08 23:18:27 -08:00
Kartikaya Gupta
fbe4beb181 Bug 715326 - Fix viewport position when zooming up a page that is smaller than the viewport on both axes. r=pcwalton
Take a page that has width PW and height PH, where PW is less
than the viewport width VW and PH is less than the viewport height
VH, and VW/PW > VH/PH. If we scale this up to fit the viewport,
then the vertical viewport position ends up scrolled to the bottom
(or partway to the bottom depending on how long the page is). This
fixes that by shifting the focal point in this case.
2012-01-12 22:47:56 -05:00
Kartikaya Gupta
bb00f53b94 Bug 713011 - Add a check to ensure we are running on the correct thread. r=blassey 2012-01-11 17:08:14 -05:00
Kartikaya Gupta
d22dffb0d4 Bug 716673 - Fix up copyright and authors. r=pcwalton 2012-01-10 10:06:11 -05:00
Kartikaya Gupta
81aff56834 Bug 716673 - Pull out duplicated hard-coded strings as static variables. r=pcwalton 2012-01-10 10:06:10 -05:00
Kartikaya Gupta
62222ffa24 Bug 716673 - Split out the Axis class from the PanZoomController. r=pcwalton 2012-01-10 10:06:08 -05:00
Kartikaya Gupta
e8461b8c51 Bug 716673 - Split out a SubdocumentScrollHelper from the PanZoomController. r=pcwalton 2012-01-10 10:06:05 -05:00
Kartikaya Gupta
47ca55bbb5 Bug 716673 - Encapsulate the fling state in Axis. r=pcwalton 2012-01-10 10:06:03 -05:00
Kartikaya Gupta
2d917018bf Bug 716673 - Encapsulate the velocity, locked, and disableSnap variables in Axis. r=pcwalton 2012-01-10 10:06:01 -05:00
Kartikaya Gupta
8a93b6f933 Bug 716673 - Use the locked velocity instead of unlocked velocity in a couple of places. r=pcwalton 2012-01-10 10:05:59 -05:00
Kartikaya Gupta
b927405877 Bug 716673 - Fix up the advanceFling() step. r=pcwalton
- Refactor the code a little to ensure we don't do any flinging
  if the panning is being overridden.
- Collapse duplicated/inconsistent code in the fling-termination
  conditions so that it makes sense now.
2012-01-10 10:05:57 -05:00
Kartikaya Gupta
78ab72ec22 Bug 716673 - Collapse unused WAITING_TO_SNAP and SNAPPING flingstates into STOPPED. r=pcwalton 2012-01-10 10:05:55 -05:00
Kartikaya Gupta
ce93ccd236 Bug 716673 - Completely encapsulate Axis variables lastTouchPos and touchPos. r=pcwalton 2012-01-10 10:05:53 -05:00
Kartikaya Gupta
37b010df8a Bug 716673 - Completely encapsulate Axis variable firstTouchPos. r=pcwalton 2012-01-10 10:05:51 -05:00
Kartikaya Gupta
cbc7a48aaa Bug 716673 - Refactor some more duplicated code from the track() functions. r=pcwalton 2012-01-10 10:05:49 -05:00
Kartikaya Gupta
373c8a080c Bug 716673 - Refactor some repeated code into a startTouch method. r=pcwalton 2012-01-10 10:05:48 -05:00
Kartikaya Gupta
8f611820ca Bug 716673 - Misc cleanups in PanZoomController. r=pcwalton
- Remove unused imports.
- Move all class variables together, and make some final.
- Fix up some comments.
- Remove unused methods.
- Remove some dead code
- Move some functions around so they are grouped based on behaviour.
2012-01-10 10:05:46 -05:00
Kartikaya Gupta
6c1ed49ef0 Bug 716673 - Remove some dead code. r=pcwalton
Events that come in for the non-primary pointer are ACTION_POINTER_DOWN
rather than ACTION_DOWN, so this code will never get exercised.
2012-01-10 10:05:43 -05:00
Kartikaya Gupta
149e223a11 Bug 716673 - Refactor some code that sends messages to Gecko. r=pcwalton 2012-01-10 10:05:42 -05:00
Kartikaya Gupta
67cf21cbba Bug 716673 - Remove unnecessary finalize() function. r=pcwalton
The finalize will never be called because GeckoAppShell holds
on to the PZC (as a GeckoEventListener) thereby preventing it
from ever getting GC'd.
2012-01-10 10:05:40 -05:00
Chris Peterson
200596fe4c Bug 714874 - Fix Java warnings about redundant casts. r=pcwalton r=dougt a=dougt 2012-01-06 12:21:49 -08:00
Chris Peterson
c4b1d936b9 Bug 714874 - Fix some Java warnings. r=dougt a=dougt 2012-01-05 10:49:33 -08:00
Kartikaya Gupta
bbadda79a3 Bug 715164 - Guard against another race condition in PZC. r=pcwalton 2012-01-05 18:13:25 -08:00
Kartikaya Gupta
5a5c192707 Bug 715011 - Ensure that panning of subwindows can still happen while the top window is locked on one or both axes. r=Cwiiis 2012-01-04 13:25:11 -05:00
Patrick Walton
463cb8081a Bug 709492 - Part 3: Tie viewport updates to drawing to avoid page transition flicker. r=kats 2012-01-03 22:55:04 -08:00
Mark Finkle
7cc92e7c95 Bug 714711 - A few unused local variables in PanZoomController.onScaleEnd [r=kats] 2012-01-03 12:19:49 -05:00
Kartikaya Gupta
a36adcca90 Bug 713586 - Robustify against undetected race conditions. r=pcwalton
The exception in bug 713586 can only occur if there are race conditions
in the PanZoomController that we haven't fixed yet. Until the race conditions
are fixed, we can robustify the code from dying horribly by making
the bounce-related variables local to the BounceRunnable, so that
different BounceRunnables running concurrently don't interfere with each
other.
2012-01-02 19:06:49 -05:00
Patrick Walton
dfec4981df Backed out bug 709492 due to breakage with external urls. r=backout 2011-12-30 18:47:06 -05:00
Kartikaya Gupta
05156a1fb5 Bug 713729 - Ensure that a fling is in progress when doing velocity-based fling adjustments. r=pcwalton 2011-12-29 22:29:16 -05:00
Patrick Walton
84ee2f57dd Bug 709492 - Part 4: Hide the page when navigating, and expose it when the new page appears. r=kats 2011-12-29 15:10:30 -08:00
Kartikaya Gupta
20d96ebe14 Bug 712386 - Limit how much zoom can be applied. r=Cwiiis 2011-12-27 00:56:57 -05:00
Geoff Lankow
c46fa0acaf Backed out 3 changesets (bug 710297, bug 712386, bug 712761) for perma-orange on Android native m1 and m2
Backed out changeset 3b1e6033d3ff (bug 712761)
Backed out changeset bb41941cdf9d (bug 710297)
Backed out changeset d4f9960e286a (bug 712386)
2011-12-28 01:00:02 +13:00
Margaret Leibovic
07e8d1406f Bug 711216 - Form autocomplete popup doesn't disappear when input gets out of view after pinch zoom [r=mfinkle] 2011-12-21 17:03:21 -08:00
Kartikaya Gupta
88063c04a6 Bug 712386 - Limit how much zoom can be applied. r=Cwiiis 2011-12-27 00:56:57 -05:00
Kartikaya Gupta
00b68564c6 Bug 711453 - Fix infinite zoom scale. r=pcwalton 2011-12-20 17:15:09 -05:00
Kartikaya Gupta
e475dfb3a6 Bug 709817 - Don't clobber mState if animations are aborted. r=pcwalton
Ensure that if the animation is aborted by changing the value of
mState (such as if we get an onTouchStart and set the mState to
TOUCHING), then we don't clobber it and set it back to NOTHING.
Only set it back to NOTHING when the animation finishes normally.
2011-12-20 16:53:39 -05:00
Kartikaya Gupta
b74f03c21e Bug 709817 - Ensure PZC is always accessed on the UI thread. r=pcwalton
Ensure that all public functions in PZC are always called from
the UI thread, so that internal variables are not mutated on
different threads. I also made animatedZoomTo private so that
it can't be inadvertently called from a non-UI thread outside
the class.
2011-12-20 16:53:39 -05:00
Kartikaya Gupta
6a504879ae Bug 709817 - (Cleanup) Replace geometryChanged() with abortAnimation() and remove dead calls. r=pcwalton
Since the geometryChanged function does nothing if the parameter passed
in is false, better to rename the function to be more indicative of
what it actually does, and remove all the resulting dead code.
2011-12-20 16:53:39 -05:00
Kartikaya Gupta
2082d75da1 Bug 712037 - Add lots of logging to help diagnose viewport issues. r=Cwiiis 2011-12-19 22:32:41 -05:00
Kartikaya Gupta
4947890040 Bug 711232 - Avoid unnecessary bounce animations. r=pcwalton 2011-12-16 17:01:02 -05:00
Kartikaya Gupta
3a22a4cc3c Bug 711453 - Avoid potentially corrupting the fling velocity. r=pcwalton 2011-12-19 09:26:41 -05:00
Doug Turner
42115e5a4e Backout of 9d027bf631d3 2011-12-17 21:52:54 -08:00
Kartikaya Gupta
11ed3102a7 Bug 711232 - Avoid unnecessary bounce animations. r=pcwalton 2011-12-16 17:01:02 -05:00
Patrick Walton
50bfe0d0b5 Bug 710119 - Use a low friction for long flings and a high friction for short ones. r=Cwiiis 2011-12-15 12:04:49 -08:00
Kartikaya Gupta
b663bbf45e Bug 708893 - Allow panning after releasing pinch zoom finger. r=pcwalton 2011-12-15 14:50:04 -05:00
Kartikaya Gupta
31486683a9 Bug 710393 - Stop using Math.copySign which doesn't exist on Froyo. r=Cwiiis a=ehsan 2011-12-14 16:57:29 -05:00
Sriram Ramasubramanian
efefacb497 Bug 695444 - Form history autocomplete. r=mfinkle a=android-only 2011-12-06 16:44:08 -08:00
Patrick Walton
2adc6acc0a Bug 710096 - Hold the monitor on the layer controller when adjusting and rendering the viewport metrics. r=Cwiiis a=java-only 2011-12-13 14:43:08 -08:00
Doug Turner
9cc75f8b7b Bug 709595 - Add a name for each java thread and timer to aide with debugging. r=blassey
--HG--
extra : rebase_source : 1f5472ef5301739425b162d5ce4b28a577daf0fb
2011-12-12 16:27:35 +08:00
Chris Lord
baa353615d Bug 705092 - Kinetic scrolling is too slow. r=pcwalton a=java-only
This introduces a friction factor, so that the deceleration is relative to
the current velocity. Now, the faster you scroll, the slower the view
decelerates, allowing you to page through longer pages easier.
2011-12-12 18:56:15 +00:00
Kartikaya Gupta
46f2f122ed Bug 704738 - Resize page content on device rotation. r=Cwiiis a=java-only
Some cleanup: ensure we abort and re-bounce the viewport
if the device is rotated during a double-tap zoom. Also
rename variables to be more appropriate
2011-12-12 11:22:34 -05:00
Kartikaya Gupta
77c643ef3e Bug 708683 - Fix NaN viewport values. r=pcwalton
The zero page width and height values were
causing the zoom scale to go to Infinity, introducing
all sorts of badness in the viewport values.
2011-12-09 22:57:57 -05:00
Mark Finkle
ea12c1c403 Backout 03ed6af51318, c65be44ac489, 0ce8da61c6cc, bcc015450e7a because of mochitest failures r=mfinkle a=mfinkle 2011-12-12 09:02:01 -05:00
Doug Turner
5882c7e5b3 Bug 709595 - Add a name for each java thread and timer to aide with debugging. r=blassey
--HG--
extra : rebase_source : 552494a1086e706109296ca4c503c1d75796d852
2011-12-12 16:27:35 +08:00
Patrick Walton
012b6710a7 Bug 708947 - Repair overscroll resistance, and add overscroll resistance when zooming. r=kats 2011-12-09 12:06:15 -08:00
Patrick Walton
f46acf9043 Bug 708928 - Don't render when a finger is down. r=Cwiiis 2011-12-09 12:06:10 -08:00
Patrick Walton
043e3dd5e4 Bug 708921 - Bounce back during overscroll when the magnitude of the velocity vector exceeds the stopped threshold. r=kats 2011-12-09 12:06:06 -08:00
Wes Johnston
6376aab69f Bug 706146 - Limit how far we can zoom into a page r=chrislord 2011-12-09 12:03:19 -05:00
Patrick Walton
d5510b2109 Bug 705358 - Don't allow fully-zoomed-out axes to be overscrolled. r=kats 2011-12-08 21:31:04 -08:00
Patrick Walton
248af5a25c Bug 701594 - Part 8: Make double-tap-to-zoom use the bounce infrastructure. r=kats 2011-12-07 13:34:52 -08:00
Patrick Walton
16631cef12 Bug 701594 - Part 7: Remove the per-axis bounce functionality. r=kats 2011-12-07 13:34:15 -08:00
Patrick Walton
45593fc7d0 Bug 701594 - Part 6: Separate out fling and bounce animations and make them use the "valid viewport metrics" infrastructure. r=kats 2011-12-07 13:33:55 -08:00
Patrick Walton
4a96159cee Bug 701594 - Part 5: Factor out the fling timer setting functions into separate functions. r=kats 2011-12-07 13:07:24 -08:00
Patrick Walton
c22e958de7 Bug 701594 - Part 3: Add viewport interpolation functions. r=kats 2011-12-07 10:44:36 -08:00
Patrick Walton
78b9fe16da Bug 701594 - Part 2: Don't duplicate state in the layer controller and pan zoom controller axes. r=kats 2011-12-07 10:44:02 -08:00
Patrick Walton
8bec5742fe Bug 701594 - Part 1: Precompute the ease-out animation. r=kats 2011-12-07 10:41:58 -08:00
Kartikaya Gupta
7b8edc0586 Backout 884b705c99fb (bug 704738) for twinopen failure 2011-12-06 13:45:32 -05:00