Commit Graph

255 Commits

Author SHA1 Message Date
Wes Johnston
c89afdba0a Bug 946344 - Remove GeckoEventResponder. r=mfinkle,blassey,kats 2014-02-11 09:16:00 -08:00
Kartikaya Gupta
195b0f54ed Bug 936008 - Avoid NPE when getting a zoom constraints update before the LayerView is fully initialized. r=wesj 2014-01-16 16:14:08 -05:00
Chris Lord
11b855470a Bug 956420 - Fix fixed margins on shorter-than-the-viewport pages. r=kats
If a page is shorter than the screen, but taller than the screen with margins,
and has a fixed position top or bottom bar, it would be offset incorrectly
when scrolling downwards.
2014-01-15 16:58:48 +00:00
Kartikaya Gupta
cadff49718 Bug 949132 - Use the FrameMetrics flag on the layers update to update APZC scroll offset instead of tracking it in widget code. r=Cwiiis 2013-12-16 12:04:46 -05:00
Chris Kitching
068964b99f Bug 709230 - Part 3: annotate the remaining Robocop entry points. r=gbrown,rnewman 2013-11-18 21:09:00 -08:00
Chris Kitching
6b5bb4eec2 Bug 913985: Part 2 - Add annotations to all remaining JNI entry points, marking them for generations. r=kats 2013-11-12 10:41:00 -08:00
Ryan VanderMeulen
4501219603 Backed out 7 changesets (bug 913985) for intermittent Android crashes.
Backed out changeset 53513a959cf0 (bug 913985)
Backed out changeset d23d1e678417 (bug 913985)
Backed out changeset a9c9187b4f4a (bug 913985)
Backed out changeset c6b02e4a3e35 (bug 913985)
Backed out changeset 895dae322e3c (bug 913985)
Backed out changeset 3d97e6a53313 (bug 913985)
Backed out changeset 892bb017f8ba (bug 913985)
2013-11-19 10:56:09 -05:00
Chris Kitching
e5b0e27ea8 Bug 913985 - Part 2: add annotations to all remaining JNI entry points, marking them for generations. r=kats 2013-11-12 10:41:00 -08:00
Benoit Jacob
d86aff61e5 Bug 925608 - 6/8: rename createCompositor to updateCompositor - r=kats 2013-11-15 11:28:57 -05:00
Lucas Rocha
b5b2116537 Bug 935523 - Remove setShadowVisibility() as it's not needed anymore (r=sriram) 2013-11-08 15:04:18 +00:00
Kartikaya Gupta
1832b8e388 Bug 732971 - For Fennec move the resolution from the top-level presShell to the content presShell. r=BenWa
The bulk of this patch is fixing up pieces of code that infer the resolution
as the inverse of the scaling transform on the root layer. This used to be
how various bits of gfx code obtained the resolution, but now that we can set
the resolution on the actual presShell that contains the content, we can also
just read the resolution from the FrameMetrics directly.
2013-10-29 09:27:50 -04:00
Brad Lassey
57f00f50d7 bug 930070 - GeckoView should handle not having fennec-specific classes r=mfinkle 2013-10-23 18:33:56 +02:00
Chris Kitching
4b5361b6e0 Bug 914296: Add more intelligent caching to the Favicons system. r=rnewman 2013-10-11 16:42:39 -07:00
Wes Johnston
9564dea11f Bug 918079 - Show highlight when overscrolling. r=kats 2013-09-26 22:57:57 -07:00
Augustin Trancart
e1f9ff99c0 Bug 711959 - Adapt JavaPanZoomController to use the RenderTask mechanism. r=Cwiiis, kats 2013-09-04 14:07:11 -04:00
Kartikaya Gupta
6db7f3623b Bug 898877 - Prevent pages from getting stuck without the dynamic toolbar. r=Cwiiis
The problematic scenario is when the page is exactly the height of the screen
(with dynamic toolbar not visible). In this case, the scrollable() function in
Axis.java returns false on the vertical axis, and so the JavaPanZoomController
never does any scrolling. This in turns means that the scrollBy code in
LayerMarginsAnimator never gets to run, so you can never drag the toolbar back
into being visible. The patch ensures that scrollable() returns true when some
or all of the margins are not visible, ensuring that in these scenarios the
user can still scroll the toolbar back onto the screen. This patch also adds
some comments/asserts to verify the new code is threadsafe.
2013-08-16 08:42:23 -04:00
Botond Ballo
f86aff9b42 Bug 859929 - Make AsyncPanZoomController work with progressive tile painting on Fennec. r=kats 2013-07-22 22:33:05 -04:00
Chris Lord
fc99017549 Bug 892246 - Allow subdocument scrolling to reveal margins. r=kats
This adds a notification callback to PanZoomTarget that the PanZoomController
can call to notify GeckoLayerClient that a subdocument is being scrolled. This
allows GeckoLayerClient to call LayerMarginsAnimator and alter the margins
accordingly, stopping a page from trapping the toolbar on/off the screen with
a screen-covering subframe.
2013-07-15 17:03:24 +01:00
Kartikaya Gupta
11cf7cc0c5 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
Kartikaya Gupta
9c30acff1e Bug 785929 - Kill FrameMetrics.mContentRect. r=kentuckyfriedtakahe 2013-06-11 09:46:51 -04:00
Kartikaya Gupta
f2b05dd3c0 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
96a183e3a5 Bug 797615 - Cosmetic cleanup for the getDisplayPort JNI wrapper. r=Cwiiis 2013-05-30 09:55:08 -04:00
Chris Lord
ce4146ac32 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
7a1a96c90b Bug 867685 - Ensure setIsRTL updates the viewport metrics atomically. r=Cwiiis 2013-05-01 15:33:49 -04:00
Kartikaya Gupta
f9063c8ce1 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
dab188844d 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
Kartikaya Gupta
459e2ed61a Bug 839641 - Implement the PostDelayedTask callback for APZC in AndroidBridge. r=Cwiiis, blassey 2013-04-26 13:26:46 -04:00
Kartikaya Gupta
67005d3ebd Bug 839641 - Implement the RequestContentRepaint callback for APZC in AndroidBridge. r=Cwiiis 2013-04-26 13:26:46 -04:00
Kartikaya Gupta
f466b9eb6e 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
a62d7f3d88 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
ed41276fbb 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
Ryan VanderMeulen
e376b2bb54 Backed out changeset 684a5ca2efb7 (bug 858969) for Android M3 failures.
CLOSED TREE
2013-04-25 10:56:54 -04:00
Chris Lord
ac2dc65ab2 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
Chris Lord
45724a8c46 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
b1839977be 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
d45fcd8164 Bug 856039 - Default to keeping the fixed layer margins in setViewportMetrics. r=Cwiiis 2013-04-01 10:17:38 -04:00
Kartikaya Gupta
2ff465f1b7 Bug 856039 - Guard against viewport size changes getting clobbered by animations. r=Cwiiis 2013-04-01 10:17:03 -04:00
Chris Lord
61a1337f3d 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
04f4951f49 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
Chris Lord
d2817e423f 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
dff509f6b4 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
b906b6859f 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
20a994a858 Bug 802130 - Move mMainHandler into ThreadUtils. r=mfinkle 2013-03-15 11:52:53 +01:00
Brian Nicholson
278a2f521d Bug 850487 - More code cleanup (@Overrides and unused imports). r=kats 2013-03-13 13:20:57 -07:00
Chris Lord
890c9f6dfd 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
dec2bc3877 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
2f91bdcb3e 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
6184953e9e 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
076a4bfaee 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
f0e23c1e2b 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