Commit Graph

703 Commits

Author SHA1 Message Date
Kartikaya Gupta
fa81dd327d 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
e00e146a30 Bug 816979 - Only use system overscroll on Gingerbread+. r=kats 2013-03-22 13:37:24 -07:00
Chris Lord
202e1980aa 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
104b3caf40 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
08a93e05ce 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
d7c4ef658e 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
947c87a01f 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
ebf672b929 Bug 802130 - Add a ThreadUtils.isOnUiThread helper function. r=mfinkle 2013-03-15 11:52:53 +01:00
Kartikaya Gupta
baeed09fed Bug 802130 - Move mMainHandler into ThreadUtils. r=mfinkle 2013-03-15 11:52:53 +01:00
Kartikaya Gupta
82468ce27b Bug 802130 - Move assertOnThread functions to a new ThreadUtils class. r=mfinkle 2013-03-15 11:52:52 +01:00
Brian Nicholson
fe44f36220 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
1d927865e6 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
35fc52b0e7 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
01a5ffd9b3 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
8311385a1e 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
0dafc136c1 Bug 850058 - GeckoDisplayPortCalculator is too long to be a log tag. r=trivial 2013-03-12 00:19:30 -07:00
Chris Lord
f619313793 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
26119ae470 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
05c34bba51 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
9f56d361e1 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
792e39c1fd 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
e67ae46cb3 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
2de25383ce 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
3b766188aa 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
eb30c361bf 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
c2165b62fc 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
824a09dd68 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
d99977b373 Bug 846786 - Allow GfxInfoThread.hasData() to be called after GfxInfoThread.getData(). r=Cwiiis 2013-03-02 07:52:04 -05:00
Kartikaya Gupta
4689b105c7 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
71282129b7 Bug 831781 - Add support for zooming in/out with gamepad zoom buttons. r=Cwiiis 2013-03-01 22:50:48 -05:00
Kartikaya Gupta
2e9a089695 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
4224112190 Bug 831781 - Add support for ouya gamepad joystick-based scrolling. r=Cwiiis 2013-03-01 22:50:48 -05:00
Ryan VanderMeulen
3fe58cf9ea 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
e1c1aa96f5 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
d9add926ef 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
0c40fe5cb5 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
15c898c492 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
9dcda147b3 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
f519ef0fcb 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
f86cafabb9 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
a6d771029a Bug 844275 - Make the GLController a singleton instance. r=Cwiiis 2013-02-28 13:28:23 -05:00
Kartikaya Gupta
26c808678c Bug 844275 - Move mCompositorCreated and associated methods from GeckoLayerClient to GLController. r=Cwiiis 2013-02-28 13:28:23 -05:00
Kartikaya Gupta
e385c3c091 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
b826f2ae40 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
eb01912ff8 Bug 845618 - Remove unused imports. r=kats 2013-02-26 21:50:25 -08:00
Brian Nicholson
b867b80f22 Bug 845612 - Add @Override annotations for implemented interfaces. r=kats 2013-02-26 21:48:00 -08:00
Brian Nicholson
79ce539367 Bug 845612 - Add missing @Override annotations. r=kats 2013-02-26 21:48:00 -08:00
Kartikaya Gupta
e9315113c2 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
c18ea1f648 Bug 835906 - Let GeckoInputConnection switch to background thread; r=cpeterson 2013-02-08 16:07:12 -05:00
Kartikaya Gupta
59c9b324f3 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
663089c6a9 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
Kartikaya Gupta
b632aa53c4 Bug 777468 - Move mobile/android/base/ui/* to mobile/android/base/gfx/. r=Cwiiis
--HG--
rename : mobile/android/base/ui/Axis.java => mobile/android/base/gfx/Axis.java
rename : mobile/android/base/ui/PanZoomController.java => mobile/android/base/gfx/PanZoomController.java
rename : mobile/android/base/ui/PanZoomTarget.java => mobile/android/base/gfx/PanZoomTarget.java
rename : mobile/android/base/ui/SimpleScaleGestureDetector.java => mobile/android/base/gfx/SimpleScaleGestureDetector.java
rename : mobile/android/base/ui/SubdocumentScrollHelper.java => mobile/android/base/gfx/SubdocumentScrollHelper.java
2013-02-08 09:11:43 -05:00
Kartikaya Gupta
d59d9c2e30 Bug 837821 - Guard against exception when calling scheduleComposite before libxul is loaded. r=gbrown 2013-02-07 10:17:33 -05:00
Kartikaya Gupta
55c9daf9d1 Bug 834414 - Fix leaks caused by missing tab change listener unregistrations. r=sriram 2013-01-25 13:51:41 -05:00
Phil Ringnalda
ecc6770ff4 Back out 5a56a56a6481:a5969a01955b (bug 834414) to investigate whether it caused reftest-4 failures
CLOSED TREE
2013-01-25 20:03:50 -08:00
Kartikaya Gupta
60d72254be Bug 834414 - Fix leaks caused by missing tab change listener unregistrations. r=sriram 2013-01-25 13:51:41 -05:00
Chris Lord
04cca6da2d Bug 827844 - Fix flickering when layout changes on Firefox/android. r=kats,bgirard
Fix flickering that can occur when the surface size changes due to a layout
change (such as the virtual keyboard appearing/disappearing) on Android.
2013-01-10 17:32:43 +00:00
Kartikaya Gupta
532e556d92 Bug 785597 - Allow the compositor to be registered earlier in the startup process and prevent creating multiple LayerManager instances. r=snorp 2013-01-10 11:21:10 -05:00
Kartikaya Gupta
8249f30f23 Bug 826300 - Don't block on waiting for a valid surface when trying to resume the compositor; allow resuming to fail gracefully. r=snorp,BenWa 2013-01-10 11:21:10 -05:00
Chris Peterson
f4b4b15d0e Bug 828594 - Part 2: Remove unused Java imports. r=kats 2013-01-09 10:32:50 -08:00
Wes Johnston
983a6d830b Bug 725018 - FormAssistant should reposition itself on viewport changes. r=kats,mleibovic 2013-01-09 11:37:01 -08:00
Kartikaya Gupta
48969aa826 Bug 828316 - Rename setForceRedraw to forceRedraw. r=Cwiiis DONTBUILD 2013-01-09 11:21:04 -05:00
Kartikaya Gupta
2bb89fead7 Bug 827836 - Force sending a viewport update to Gecko after aborting animations. r=Cwiiis 2013-01-09 09:40:08 -05:00
Greg Roodt
b7437e2942 Bug 686228 - Add simple mouse scrolling support. r=kats 2013-01-06 22:35:01 +00:00
Kartikaya Gupta
7b7047448a Bug 771746 - Draw scrollbars using a white outline so it shows up on dark backgrounds. r=Cwiiis 2012-12-29 15:24:01 -05:00
Kartikaya Gupta
32c1a571c4 Bug 771746 - Some cleanup in ScrollbarLayer.java. r=Cwiiis 2012-12-29 15:22:59 -05:00
Kartikaya Gupta
2b5cf2df81 Bug 820302 - Don't abort the pan-zoom animation on a viewport update if the page size didn't really change. r=Cwiiis 2012-12-21 15:50:49 -05:00
Kartikaya Gupta
df745970bc Bug 785597 - Get rid of unused mGLVersion field. r=snorp 2012-12-21 11:33:09 -05:00
Kartikaya Gupta
f1ed178242 Bug 785597 - Remove a bunch of unused code. r=snorp 2012-12-21 11:32:52 -05:00
Kartikaya Gupta
d0e5e16471 Bug 817134 - Delete dead code in java-land to display checkerboarding. r=blassey 2012-12-15 10:43:57 -05:00
Kartikaya Gupta
6e03d39a17 Bug 817134 - Remove the low-res screenshotting code. r=blassey 2012-12-15 10:43:52 -05:00
Kartikaya Gupta
d8f0757e5e Bug 820556 - Remove unused function. r=snorp 2012-12-11 17:33:09 -05:00
Kartikaya Gupta
2a366b3bb1 Bug 820556 - Remove unused GeckoEventResponder bindings in GeckoLayerClient. r=snorp 2012-12-11 17:33:09 -05:00
Kartikaya Gupta
04a0356cfd Bug 820556 - Kill mUsesDefaultProgram which is always true. r=snorp 2012-12-11 17:33:09 -05:00
Kartikaya Gupta
3f3bbc5732 Bug 805353 - Guard against crash if two threads call into freeBuffer concurrently. r=snorp 2012-12-10 10:13:10 -05:00
James Willcox
727db0cfba Bug 789271 - Remove placeholder code from PluginLayer r=blassey
--HG--
extra : rebase_source : ea4287baa67b24a5382ceb323317b795e6ebc44e
2012-12-10 10:00:17 -05:00
Chris Lord
4f8fac3308 Bug 819310 - Fix possible race when stopping checkerboard recording. r=kats
Make stopCheckerboardRecording safe to call while recordCheckerboard is
executing.
2012-12-07 15:11:05 +00:00
Chris Lord
64f87da2cf Bug 814437 - Address review comments that were missed. r=bgirard
In my haste, I forgot to address review comments before pushing. This
corrects indentation in PanningPerf.java, moves GetValidLowPrecisionRegion from
Layer to TiledLayerComposer and corrects checkerboard measurement when there
isn't a low precision buffer and when the display ports don't cover the screen.
2012-11-30 23:11:37 +00:00
Ehsan Akhgari
0419d82de3 Backed out changeset 5368aced79b3 (bug 814437) because it breaks Android builds 2012-11-30 15:41:08 -05:00
Chris Lord
6d77e6f162 Bug 814437 - Address review comments that were missed. r=bgirard
In my haste, I forgot to address review comments before pushing. This
corrects indentation in PanningPerf.java, moves GetValidLowPrecisionRegion from
Layer to TiledLayerComposer and corrects checkerboard measurement when there
isn't a low precision buffer and when the display ports don't cover the screen.
2012-11-30 19:52:17 +00:00
Chris Lord
9c5036e322 Bug 814864 - Only draw low precision tiles when necessary. r=kats
Use DisplayPortCalculator.aboutToCheckerboard to determine if we're in risk of
checkerboarding while drawing tiles, and only then enable low precision
rendering. This makes sure that we don't spend time doing low precision
rendering when it isn't going to be of benefit (and thus decreases the
likelihood of the user seeing low precision tiles unnecessarily).
2012-11-29 13:08:41 +00:00
Chris Lord
781886faaa Bug 814864 - Abort old, stale, low precision updates. r=kats
Don't spend time during stale, low precision content when there are newer
display ports in the pipeline.
2012-11-29 13:08:40 +00:00
Chris Lord
c189df25a5 Bug 814437 - Record checkerboarding over time instead of per frame. r=kats
Frame-rate has an unpredictable effect on the results of robocop checkerboarding
tests. Instead of recording checkerboarding per frame, record it over time.
2012-11-29 12:03:52 +00:00
Chris Lord
53958037df Bug 814437 - Fix checkerboard measurement when using a critical displayport. r=bgirard
The checkerboard measurement depended on the displayport coverage of the
viewport, which was calculated in LayerRenderer. When using a critical
displayport, this value changes, but this was not being accounted for.

We have all the context we need for this Gecko-side, so move this code into
LayerManagerOGL::ComputeRenderIntegrity and account for displayport coverage
correctly.
2012-11-29 12:03:38 +00:00
Brian Nicholson
9c46e81858 Bug 813346 - Add getBitmapFromDataURI() to BitmapUtils. r=wesj 2012-11-27 12:04:14 -08:00
Kartikaya Gupta
9a78308c75 Bug 775511 - Disable panning and showing of scrollbars when in full-screen mode. r=Cwiiis 2012-11-24 17:32:09 -05:00
Kartikaya Gupta
4b2d94c761 Bug 775511 - Move full screen state variable from GeckoApp to LayerView. r=Cwiiis 2012-11-24 17:32:08 -05:00
Chris Lord
fed5b7d525 Bug 814447 - Fix progressive update callback using incorrect values. r=kats
Cancelling could happen at the wrong times due to using an out-of-date
resolution, or could not happen during low-res drawing due to not re-checking
the displayport age.
2012-11-22 18:19:00 +00:00
Chris Lord
63545be6bc Bug 783368 - Fix progressive tile update coherency issues. r=bgirard
Fix some progressive tile updating coherency issues caused by aborting at
inopportune times and tile draw ordering.
2012-11-21 22:34:19 +00:00
Chris Lord
8226377854 Bug 783368 - Correct the height calculation in ProgressiveUpdateData. r=kats 2012-11-21 22:34:19 +00:00
Chris Lord
d85f10cccd Bug 783368 - Send the correct display port when rendering low precision. r=kats,bgirard
When doing a low precision update, send the display-port instead of the
critical display port so that more appropriate cancelling decisions can be
made.
2012-11-21 22:34:19 +00:00
Benoit Girard
558915784b Bug 809566 - Remove paint logging. r=kats 2012-11-19 16:24:17 -05:00
Ehsan Akhgari
f90938a237 Backed out 11 changesets (bug 783368) because of build bustage on a CLOSED TREE
Backed out changeset 2bc4310263c4 (bug 783368)
Backed out changeset a35c83a8d99d (bug 783368)
Backed out changeset afb9b2a661ba (bug 783368)
Backed out changeset 3926f510f9be (bug 783368)
Backed out changeset 9d1fe200ff87 (bug 783368)
Backed out changeset b6e4f88f5730 (bug 783368)
Backed out changeset bc53f7dba7c6 (bug 783368)
Backed out changeset 1948fa2fccc1 (bug 783368)
Backed out changeset 9af163388fd1 (bug 783368)
Backed out changeset 7a2256e1aa7c (bug 783368)
Backed out changeset 4da1958a9885 (bug 783368)
2012-11-21 14:57:02 -05:00
Chris Lord
fa9cf633f0 Bug 783368 - Fix progressive tile update coherency issues. r=bgirard
Fix some progressive tile updating coherency issues caused by aborting at
inopportune times and tile draw ordering.
2012-11-21 19:16:52 +00:00
Chris Lord
5bd78e3c9a Bug 783368 - Correct the height calculation in ProgressiveUpdateData. r=kats 2012-11-21 19:16:52 +00:00
Chris Lord
5f7ade4071 Bug 783368 - Send the correct display port when rendering low precision. r=kats,bgirard
When doing a low precision update, send the display-port instead of the
critical display port so that more appropriate cancelling decisions can be
made.
2012-11-21 19:16:52 +00:00
Kartikaya Gupta
380bea421b Bug 813311 - Hide Axis so that it is not unnecessarily exposed to the world. r=Cwiiis 2012-11-20 13:38:47 -05:00
Morrison Cole
2e18e44df6 Bug 810278 - Improved background/toolbar visual cohesion. r=wjohnston 2012-11-16 13:43:33 -08:00
Chris Lord
cf2065fda1 Bug 807299 - Fix incorrect progressive update cancelling. r=bgirard
Sometimes the rounding error on display ports is over a pixel - in this case,
progressive updates may be cancelled incorrectly and cause drawing to be missed
until the next invalidation (assuming that isn't also incorrectly cancelled).
2012-11-07 18:06:57 +00:00
Kartikaya Gupta
bb8497d2d6 Bug 809199 - Update offsetViewportBy to take dx/dy instead of PointF. r=Cwiiis 2012-11-07 11:47:17 -05:00