Commit Graph

752 Commits

Author SHA1 Message Date
Chris Peterson
d94a8a56b6 Bug 863154 - Part 1: Catch Bitmap OOMs when decoding streams. r=mfinkle 2013-05-07 18:29:48 -07:00
Ryan VanderMeulen
aec56cccac Backed out changesets 0cb5418906cf and 3c366c865e73 (bug 803299) for Android bustage.
CLOSED TREE
2013-05-02 15:45:20 -04:00
Chris Lord
fa220e64cd Bug 803299 - Enable 32-bit colour on Android. r=kats 2013-05-02 18:25:16 +01:00
Margaret Leibovic
09c40b46be Bug 867249 - Improve getDominantColor algorithm to return more accurate colors. r=bnicholson 2013-05-02 11:53:13 -07:00
Chris Lord
6dabcfc85f Bug 803299 - Respect gfx.android.rgb16.force pref. r=blassey 2013-07-04 14:53:27 +01:00
Chris Lord
d706cc253b Bug 803299 - Enable 32-bit colour on Android. r=kats 2013-07-04 14:53:25 +01:00
Kartikaya Gupta
e10ad61242 Bug 797615 - Guard against isBrowserContentDocumentDisplayed returning true prematurely. r=Cwiiis
Prior to this change, isBrowserContentDocumentDisplayed returned false
from the time that the isFirstPaint flag was set in layout to the time
that layout handed off the rendered document to the compositor. However
the way the function is used meant that it needs to return false until
the compositor actually composites the "first-paint" rendering,
otherwise other events can sneak in and run before the compositor. This
patch moves the tracking for the flag into GeckoLayerClient so that it
can be queried and modified synchronously from both the Gecko thread in
browser.js and the compositor thread in setFirstPaintViewport.
2013-05-30 09:55:23 -04:00
Kartikaya Gupta
310eebaf46 Bug 797615 - Cosmetic cleanup for the getDisplayPort JNI wrapper. r=Cwiiis 2013-05-30 09:55:08 -04:00
Chris Lord
4d64543998 Bug 868998 - Expose the dynamic toolbar after a certain distance. r=kats
Instead of only exposing the toolbar when scrolling from the top quarter of the
screen, always expose the toolbar, but only after a certain distance.
2013-05-30 12:53:24 +01:00
Kartikaya Gupta
ce755b1332 bug 867517 - Gecko-based WebView for Android, move touch handling to LayerView r=blassey 2013-05-30 00:34:02 -04:00
Ehsan Akhgari
994b787c21 Backed out 8 changesets (bug 803299) because it makes Tcheckerboard and Tpan so much worse
Backed out changeset f0311781c218 (bug 803299)
Backed out changeset 946467115924 (bug 803299)
Backed out changeset 59af481d8888 (bug 803299)
Backed out changeset 99a03f7ca8a4 (bug 803299)
Backed out changeset 44539f533a92 (bug 803299)
Backed out changeset 3f3963a3ebf6 (bug 803299)
Backed out changeset 5269f0483d1e (bug 803299)
Backed out changeset a9485787fdb1 (bug 803299)
2013-05-29 17:14:27 -04:00
Chris Lord
f5b50f939c Bug 803299 - Enable 32-bit colour on Android. r=kats
--HG--
extra : rebase_source : e494442a5ae7c906465f31924e4f54d815130972
2013-05-29 15:25:40 +01:00
Trevor Saunders
11be8dcfb7 backout 7a1706d0e5b0 to 8c8b6adebb4c for frequent failures in scrolling/text-1.html and scrolling/text-2.html reftests on a CLOSED TREE 2013-05-28 18:32:29 -04:00
Chris Lord
11527759ab Bug 803299 - Enable 32-bit colour on Android. r=kats 2013-05-28 18:50:16 +01:00
Richard Newman
d348108bf7 Bug 886155 - GeckoSubdocumentScrollHelper logspew. r=kats 2013-06-23 23:39:14 -07:00
Kartikaya Gupta
5152282d46 Bug 882120 - Apply rounding to the layer-pixel rect in Java to fix robopan regression. r=kentuckyfriedtakahe 2013-06-18 09:27:45 -04:00
Wes Johnston
97a3bc0b1f Bug 874401 - Show an ongoing notification when webrtc is active. r=mfinkle 2013-06-11 12:14:43 -07:00
Kartikaya Gupta
c78c6af9f4 Bug 785929 - Kill FrameMetrics.mContentRect. r=kentuckyfriedtakahe 2013-06-11 09:46:51 -04:00
Kartikaya Gupta
6bbd0b039a Bug 876348 - Fix possible NPE in GLController. r=snorp 2013-06-05 12:07:04 -04:00
Kartikaya Gupta
3080007444 Bug 867685 - Ensure setIsRTL updates the viewport metrics atomically. r=Cwiiis 2013-05-01 15:33:49 -04:00
Kartikaya Gupta
3795f65ab6 Bug 867685 - Use getLock() instead of this when modifying the viewport metrics for clarity. r=Cwiiis 2013-05-01 15:33:48 -04:00
Chris Lord
5eddd8095d Bug 850783 - Fix the dynamic toolbar causing clipping of the scrollbar. r=kats 2013-04-29 15:18:23 +01:00
Chris Lord
50b35c5d30 Bug 865298 - Don't allow margins to scroll on small pages. r=kats
Bug 858969 regressed this behaviour. Margins that are smaller than the screen
size should have pinned margins.
2013-04-29 15:18:23 +01:00
Chris Lord
3d43266c64 Bug 865298 - Add an 'active area' for margin exposing. r=kats
This stops margins from being exposed unless the drag was started in an area
of the viewport that's near said margin. The margins will always be exposed
when reaching the edge of the page.
2013-04-29 15:18:23 +01:00
Chris Lord
aced6fca1b Bug 865298 - Allow multiple touch interceptors on LayerView. r=kats 2013-04-29 15:18:23 +01:00
Kartikaya Gupta
7beee2619e Bug 839641 - Implement the PostDelayedTask callback for APZC in AndroidBridge. r=Cwiiis, blassey 2013-04-26 13:26:46 -04:00
Kartikaya Gupta
1888d7d4fd Bug 839641 - Implement the RequestContentRepaint callback for APZC in AndroidBridge. r=Cwiiis 2013-04-26 13:26:46 -04:00
Kartikaya Gupta
082f9b2c93 Bug 839641 - Add a syncFrameMetrics code path to push viewport changes from APZC to Java. r=Cwiiis, BenWa 2013-04-26 13:26:39 -04:00
Kartikaya Gupta
7efe0d8d53 Bug 839641 - Send touch events and prevent-default notifications to APZC. r=Cwiiis 2013-04-26 13:24:28 -04:00
Kartikaya Gupta
dd12b53d5e Bug 839641 - Add a stub NativePanZoomController class to start Java bindings to APZC. r=Cwiiis 2013-04-26 13:24:28 -04:00
Chris Lord
b365c94dfd Bug 858969 - Refactor dynamic toolbar so page is offset and not overlapped. r=kats,nrc
Refactor the dynamic toolbar code so that the ownership of various properties
is clearer, and the page is offset by the toolbar instead of being overlapped.
This fixes problems with the scroll origin of the page not corresponding to
the visible origin on the screen.
2013-04-25 18:47:08 +01:00
Chris Peterson
67c16f339d Bug 863288 - Add sanity checks and error logging for bitmap decoding. r=mfinkle 2013-04-22 18:03:01 -07:00
Ryan VanderMeulen
9cccb1d7a4 Backed out changeset 684a5ca2efb7 (bug 858969) for Android M3 failures.
CLOSED TREE
2013-04-25 10:56:54 -04:00
Chris Lord
e0579b7ab8 Bug 858969 - Refactor dynamic toolbar so page is offset and not overlapped. r=kats,nrc
Refactor the dynamic toolbar code so that the ownership of various properties
is clearer, and the page is offset by the toolbar instead of being overlapped.
This fixes problems with the scroll origin of the page not corresponding to
the visible origin on the screen.
2013-04-24 17:06:23 +01:00
Phil Ringnalda
e429920432 Back out e64522db8661 (bug 863288) for robocop-1 hangs 2013-04-23 20:52:59 -07:00
Chris Peterson
7d6150f701 Bug 863288 - Add sanity checks and error logging for bitmap decoding. r=mfinkle 2013-04-22 18:03:01 -07:00
Brian Nicholson
84a6419b5d Bug 838793 - Part 1: Convert AboutHomeContent to a Fragment. r=lucasr 2013-04-16 14:34:46 -07:00
Justin Busby
1384dc65ae Bug 755240 - Allow Fennec axis locking behaviour to be controlled by a pref. r=kats 2013-04-14 14:27:02 +01:00
Chris Peterson
5303797e88 Bug 859229 - Part 3: Fix order of Java imports. r=kats 2013-04-08 00:51:56 -07:00
Chris Lord
0bd6ff9ea7 Bug 856497 - Fix dynamic viewport sizing for margin changes. r=kats
The viewport wasn't being recalculated when the viewport margins changed, and
was also subject to some rounding errors. Round off the values before
comparing them (as they're screen pixels), and make sure to update the viewport
when the margins change. Margins were also not correctly being altered when
in overscroll, which could cause bottom-aligned fixed position content to be
incorrectly offset.
2013-04-08 16:35:00 +01:00
Chris Lord
74a0bc44d4 Bug 822810 - Enable low precision rendering in more scenarios. r=kats
This patch matches previous behaviour, but adds the following scenarios:
- When rendering is aborted due to the viewport falling out of the displayport,
  enable low precision rendering.
- When the viewport falls out of the displayport during low precision rendering,
  low precision rendering will be enabled on the next frame.
2013-04-04 18:51:14 +01:00
Kartikaya Gupta
da6722248a Bug 857217 - Don't move focus to the layerview if joystick input events are in the dead zones. r=Cwiiis 2013-04-03 11:58:59 -04:00
Kartikaya Gupta
eaaeaa62d8 Bug 856039 - Default to keeping the fixed layer margins in setViewportMetrics. r=Cwiiis 2013-04-01 10:17:38 -04:00
Kartikaya Gupta
afa01d104e Bug 856039 - Guard against viewport size changes getting clobbered by animations. r=Cwiiis 2013-04-01 10:17:03 -04:00
Kartikaya Gupta
3910938069 Bug 856039 - (Cleanup) Extract magic number. r=Cwiiis 2013-04-01 10:16:00 -04:00
Chris Lord
0c56193736 Bug 854289 - Fix offsetting of viewport with dynamic toolbar. r=kats
Make sure to offset the viewport *after* setting the Gecko viewport on
setFirstPaintViewport callbacks, so that we don't store an incorrect viewport
origin and end up offsetting events incorrectly.

Similarly, on page size updates, the Java-side viewport metrics are used to
update the Gecko metrics, so make sure they're clamped so that they aren't
incorrect during overscroll.
2013-04-01 10:33:19 +01:00
Kartikaya Gupta
133247f232 Bug 855783 - Map the gamepad second joystick's y-axis to zooming. r=Cwiiis 2013-03-28 17:31:09 -04:00
Kartikaya Gupta
08de0f7071 Bug 855783 - Rename autoscroll to autonav so that we can lump autozooming in there too. r=Cwiiis 2013-03-28 17:31:05 -04:00
Kartikaya Gupta
831e84f495 Bug 855471 - Rename OnInterceptTouchListener to TouchEventInterceptor. r=mfinkle
--HG--
rename : mobile/android/base/OnInterceptTouchListener.java => mobile/android/base/TouchEventInterceptor.java
2013-03-28 12:40:06 -04:00
Kartikaya Gupta
08e3befdf7 Bug 853831 - Fix fixed margins on the opposite side of overscroll. r=kats
If overscroll eats into a fixed margin, we need to apply the opposite
offset to the opposite side of the axis this occurred on. This has the effect
of fixed-position elements aligned to the bottom of the screen remaining
visible when at the top of the page.
2013-03-25 14:13:59 -04:00
Wes Johnston
17a78cab03 Bug 816979 - Only use system overscroll on Gingerbread+. r=kats 2013-03-22 13:37:24 -07:00
Chris Lord
e74007c62d Bug 852526 - Make sure the compositor starts unpaused and with a size. r=kats
This changes compositor creation so that we can specify an initial size and
makes sure the local variable in nsWindow reflects that the compositor starts
unpaused.
2013-03-20 22:45:07 +00:00
Chris Lord
43c09e9c75 Bug 852158 - Fix content scrolling to the top with the dynamic toolbar enabled. r=kats
Make sure that the toolbar doesn't obscure content when it scrolls to the top
of the page.
2013-03-19 09:53:12 +00:00
Chris Lord
2a4e661b53 Bug 850889 - Fix jank when animating dynamic toolbar. r=kats
Only update the Gecko-side fixed layer margins when the view is fully visible
or hidden to avoid jank.
2013-03-18 15:43:03 +00:00
Chris Lord
0f24652dac Bug 850889 - Fix animation conflict with overscroll and dynamic toolbar. r=kats
This fixes the conflicting animations when the dynamic toolbar is hiding/showing
and overscroll is snapping back simultaneously. This is by not clamping the
entire viewport on margin-setting, and by making sure that only calling
setFixedLayerMargins changes the fixed layer margins.
2013-03-18 15:43:02 +00:00
Kartikaya Gupta
bc49c732a6 Bug 815862 - Bump up max allowed scrolling acceleration to deal with high-dpi devices. r=Cwiiis 2013-03-15 23:21:03 +01:00
Kartikaya Gupta
8eb77386b2 Bug 802130 - Add a ThreadUtils.isOnUiThread helper function. r=mfinkle 2013-03-15 11:52:53 +01:00
Kartikaya Gupta
1424e8b030 Bug 802130 - Move mMainHandler into ThreadUtils. r=mfinkle 2013-03-15 11:52:53 +01:00
Kartikaya Gupta
48ba402f28 Bug 802130 - Move assertOnThread functions to a new ThreadUtils class. r=mfinkle 2013-03-15 11:52:52 +01:00
Brian Nicholson
cd32dfd543 Bug 850487 - More code cleanup (@Overrides and unused imports). r=kats
--HG--
extra : rebase_source : 376574e0c41b91c16a6be335584a4a61768bb4a9
2013-03-13 13:20:57 -07:00
Kartikaya Gupta
dda8bf9025 Bug 805479 - When calculating the initial fling velocity use an average of recent velocities to work around bad input events. r=Cwiiis 2013-03-12 11:16:28 +00:00
Ryan VanderMeulen
9ffb6fc6c6 Backed out 2 changesets (bug 815862, bug 805479) for making bug 768459 nearly perma-fail on Android 2.2 opt. 2013-03-12 11:05:03 -04:00
Kartikaya Gupta
ca7c2cd7ca Bug 815862 - Bump up max allowed scrolling acceleration to deal with high-dpi devices. r=Cwiiis 2013-03-12 11:18:12 +00:00
Kartikaya Gupta
5808cf0de5 Bug 805479 - When calculating the initial fling velocity use an average of recent velocities to work around bad input events. r=Cwiiis 2013-03-12 11:16:28 +00:00
Richard Newman
e02a989529 Bug 850058 - GeckoDisplayPortCalculator is too long to be a log tag. r=trivial 2013-03-12 00:19:30 -07:00
Chris Lord
25a04ac367 Bug 716403 - Hide dynamic toolbar hiding behind a pref. r=kats
Disable dynamic toolbar hiding on Android by default, with pref
browser.chrome.dynamictoolbar available to enable it.
2013-03-07 10:17:34 +00:00
Chris Lord
03f18bd94c Bug 716403 - Use setContentDocumentFixedPositionMargins in Android's browser.js. r=kats
This uses the aforementioned method on nsIDOMWindowUtils to make sure layout's
idea of the fixed position margins matches those used in the compositor.
2013-03-07 10:17:33 +00:00
Chris Lord
84602bb1fc Bug 716403 - Resize viewport dynamically on Android. r=kats,mfinkle
This causes the viewport size to differ, depending on the length of the page.
This has the effect of pages that size themselves to the size of the window
always having the toolbar visible, making sites like Google Maps more usable.
2013-03-07 10:17:33 +00:00
Chris Lord
05ac180452 Bug 716403 - Make the top of the page accessible with the toolbar visible. r=kats
This makes it possible to scroll to the top of the page with the toolbar visible
in Firefox for Android. It also causes JavaScript scrolling to position 0 to
expose the toolbar.
2013-03-07 10:17:33 +00:00
Chris Lord
a20f8323fe Bug 716403 - Offset fixed layers so the toolbar doesn't obscure them. r=nrc,kats
Offset fixed layers in the compositor so that the toolbar in Firefox for Android
doesn't obscure them. This does not affect layout, so input on the elements in
said layers will appear broken.
2013-03-07 10:17:33 +00:00
Ryan VanderMeulen
8cf664a621 Backed out 9 changesets (bug 716403) for Android 4.0 robocop bustage on a CLOSED TREE. 2013-03-06 16:11:05 -05:00
Chris Lord
ef9893ac25 Bug 716403 - Hide dynamic toolbar hiding behind a pref. r=kats
Disable dynamic toolbar hiding on Android by default, with pref
browser.chrome.dynamictoolbar available to enable it.
2013-03-06 16:56:00 +00:00
Chris Lord
866dd7b942 Bug 716403 - Use setContentDocumentFixedPositionMargins in Android's browser.js. r=kats
This uses the aforementioned method on nsIDOMWindowUtils to make sure layout's
idea of the fixed position margins matches those used in the compositor.
2013-03-06 16:56:00 +00:00
Chris Lord
55cccd32c3 Bug 716403 - Resize viewport dynamically on Android. r=kats,mfinkle
This causes the viewport size to differ, depending on the length of the page.
This has the effect of pages that size themselves to the size of the window
always having the toolbar visible, making sites like Google Maps more usable.
2013-03-06 16:56:00 +00:00
Chris Lord
d60728c861 Bug 716403 - Make the top of the page accessible with the toolbar visible. r=kats
This makes it possible to scroll to the top of the page with the toolbar visible
in Firefox for Android. It also causes JavaScript scrolling to position 0 to
expose the toolbar.
2013-03-06 16:55:59 +00:00
Chris Lord
695bae5cc3 Bug 716403 - Offset fixed layers so the toolbar doesn't obscure them. r=nrc,kats
Offset fixed layers in the compositor so that the toolbar in Firefox for Android
doesn't obscure them. This does not affect layout, so input on the elements in
said layers will appear broken.
2013-03-06 16:55:59 +00:00
Kartikaya Gupta
5793f05bf0 Bug 846786 - Allow GfxInfoThread.hasData() to be called after GfxInfoThread.getData(). r=Cwiiis 2013-03-02 07:52:04 -05:00
Kartikaya Gupta
1fc1dbbc62 Bug 831781 - Some touchups to the code to make it more consistent and robust. r=Cwiiis 2013-03-01 22:50:49 -05:00
Kartikaya Gupta
830b719624 Bug 831781 - Add support for zooming in/out with gamepad zoom buttons. r=Cwiiis 2013-03-01 22:50:48 -05:00
Kartikaya Gupta
87a6aa7822 Bug 831781 - Extract a getAdjustedZoomFactor method to encapsulate the zoom edge resistance. No functional change. r=Cwiiis 2013-03-01 22:50:48 -05:00
Kartikaya Gupta
3f698a7635 Bug 831781 - Add support for ouya gamepad joystick-based scrolling. r=Cwiiis 2013-03-01 22:50:48 -05:00
Ryan VanderMeulen
75acd49b0e Backed out 8 changesets (bug 716403) for frequent Android mochitest-8 failures on a CLOSED TREE. 2013-03-01 16:09:59 -05:00
Chris Lord
4f03c350fb Bug 716403 - Hide dynamic toolbar hiding behind a pref. r=kats
Disable dynamic toolbar hiding on Android by default, with pref
browser.chrome.dynamictoolbar available to enable it.
2013-03-01 15:46:35 +00:00
Chris Lord
08f9e1089b Bug 716403 - Use setContentDocumentFixedPositionMargins in Android's browser.js. r=kats
This uses the aforementioned method on nsIDOMWindowUtils to make sure layout's
idea of the fixed position margins matches those used in the compositor.
2013-03-01 15:46:34 +00:00
Chris Lord
413fbf7cd0 Bug 716403 - Resize viewport dynamically on Android. r=kats,mfinkle
This causes the viewport size to differ, depending on the length of the page.
This has the effect of pages that size themselves to the size of the window
always having the toolbar visible, making sites like Google Maps more usable.
2013-03-01 15:46:34 +00:00
Chris Lord
1461d5cf81 Bug 716403 - Make the top of the page accessible with the toolbar visible. r=kats
This makes it possible to scroll to the top of the page with the toolbar visible
in Firefox for Android. It also causes JavaScript scrolling to position 0 to
expose the toolbar.
2013-03-01 15:46:34 +00:00
Chris Lord
077631a00a Bug 716403 - Offset fixed layers so the toolbar doesn't obscure them. r=nrc,kats
Offset fixed layers in the compositor so that the toolbar in Firefox for Android
doesn't obscure them. This does not affect layout, so input on the elements in
said layers will appear broken.
2013-03-01 15:46:33 +00:00
Kartikaya Gupta
7041e15b1f Bug 844275 - Move the GfxInfoThread so that it is guaranteed to run to completion before compositor creation. r=Cwiiis 2013-02-28 13:28:24 -05:00
Kartikaya Gupta
bd341fe084 Bug 844275 - Drive the layer manager creation from the GLController rather than GetLayerManager. r=Cwiiis 2013-02-28 13:28:23 -05:00
Kartikaya Gupta
b7560520fb Bug 844275 - Make the GLController a singleton instance. r=Cwiiis 2013-02-28 13:28:23 -05:00
Kartikaya Gupta
3fc63dc2c0 Bug 844275 - Move mCompositorCreated and associated methods from GeckoLayerClient to GLController. r=Cwiiis 2013-02-28 13:28:23 -05:00
Kartikaya Gupta
29285115b8 Bug 844275 - Ensure that the GeckoLayerClient always starts off with an accurate viewport size. r=Cwiiis 2013-02-28 13:28:23 -05:00
Kartikaya Gupta
ca5f856d26 Bug 845877 - Don't call GfxInfoThread.error() from GfxInfoThread.getData() as it will deadlock. r=bjacob 2013-02-28 13:28:22 -05:00
Brian Nicholson
eae7e0275a Bug 845618 - Remove unused imports. r=kats 2013-02-26 21:50:25 -08:00
Brian Nicholson
09bb93a1e8 Bug 845612 - Add @Override annotations for implemented interfaces. r=kats 2013-02-26 21:48:00 -08:00
Brian Nicholson
ecbec88fd7 Bug 845612 - Add missing @Override annotations. r=kats 2013-02-26 21:48:00 -08:00
Kartikaya Gupta
3015b13f60 Bug 840346 - Make the overscroll background area a solid color. r=cwiis
--HG--
extra : rebase_source : 97fc27101558f6da74f3e0418601eac7728656fb
2013-02-14 10:00:23 -08:00
Jim Chen
9d18f3a9c3 Bug 835906 - Let GeckoInputConnection switch to background thread; r=cpeterson 2013-02-08 16:07:12 -05:00
Kartikaya Gupta
88dcc6657a Bug 777468 - Move ownership of TouchEventHandler from LayerView to JavaPanZoomController. r=Cwiiis
This patch has a bunch of semi-independent changes that unfortunately
couldn't be split apart without introducing hacks to make stuff build
on the intermediate patches. The main changes are:
- Moving TouchEventHandler from LayerView to JavaPanZoomController
- Registering the touch interceptor on the LayerView rather than the
  TouchEventHandler
- Moving the Tab:HasTouchListener handler from GeckoApp to JPZC

The net effect of all of this is that the TouchEventHandler is hidden
behind the PanZoomController interface and not accessible to GeckoApp
or GeckoAppShell.

Additionally, some of the JPZC methods were renamed from onXXX to
handleXXX to maintain the convention that onXXX methods are "interface"
methods (i.e. exposed to arbitrary other code) whereas handleXXX
methods are private/package and should only be called in very specific
ways.
2013-02-08 09:13:09 -05:00
Kartikaya Gupta
1a5dcc2958 Bug 777468 - Rename PanZoomController to JavaPanZoomController and extract a new PanZoomController interface. r=Cwiiis
--HG--
rename : mobile/android/base/gfx/PanZoomController.java => mobile/android/base/gfx/JavaPanZoomController.java
2013-02-08 09:12:59 -05:00