Commit Graph

84 Commits

Author SHA1 Message Date
Brad Lassey
5357ae134e bug 713874 - Black thumbnails are produced by GeckoSoftwareLayerClient.getBitmap() r=mfinkle
--HG--
extra : rebase_source : 18d463ca4c44610a07ba7de582c6f114404eab8f
2012-01-13 13:10:13 -05:00
Kartikaya Gupta
7a58e90d7c Bug 715836 - Ensure the UI is only modified from the UI thread. r=pcwalton 2012-01-13 07:03:22 -05:00
Kartikaya Gupta
8637bcee20 Bug 715836 - (Cleanup) Remove unused functions. r=pcwalton 2012-01-13 07:03:22 -05:00
Chris Peterson
adf7970c58 Bug 714874 - Fix Java warnings about redundant casts. r=pcwalton r=dougt a=dougt 2012-01-06 12:21:49 -08:00
Patrick Walton
cdc3fe1942 Bug 708746 - Part 5: Make the initial viewport size and page size equal to the device screen dimensions instead of 1 pixel by 1 pixel. r=kats 2012-01-06 16:42:48 -08:00
Chris Lord
55450d6017 Bug 709120 - Update non-visible tiles asynchronously. r=pcwalton
Only update tiles that intersect with the screen, and asynchronously update
invisible tiles over multiple subsequent frames. This has the effect of
spreading out non-critical texture-upload over time and removes some juddering
on devices that don't support gralloc.
2012-01-06 11:22:52 +00:00
Chris Lord
dd6d417d5d Bug 709120 - Use MultiTileLayer in Android native fennec. r=pcwalton
This uses MultiTileLayer instead of SingleTileLayer for devices that don't have
gralloc support. This has the advantage of reduced memory usage due to less
wastage from power-of-two textures, and can be a performance boost due to slow
sub-image updates on some devices.
2012-01-06 11:22:38 +00:00
Chris Lord
2fee06e344 Bug 709120 - Add MultiTileLayer to Android native fennec. r=pcwalton
This adds a new layer type that uses multiple SingleTileLayer's to implement
tiled layer support. This also assumes a back-buffer that is tiled, so that
texture updates can remain fast (relatively speaking).
2012-01-06 11:22:24 +00:00
James Willcox
37d3c2bd21 Bug 715190 - Clear existing GL errors before trying to check for a new one r=clord 2012-01-04 21:51:11 -05:00
Patrick Walton
ab264c019f Bug 709492 - Part 4: Send a viewport size upon loading Gecko so that we don't suppress painting for the first page. r=kats 2012-01-03 22:55:10 -08:00
Patrick Walton
37040a8f9f 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
3da9ce82a8 Bug 714710 - LayerRenderer.checkFrameRateMonitorEnabled should use start() instead of run() [r=dougt] 2012-01-03 00:57:06 -05:00
Patrick Walton
d075492ab2 Backed out bug 709492 due to breakage with external urls. r=backout 2011-12-30 18:47:06 -05:00
Patrick Walton
4cd852ecf1 Bug 711333 - Fix race condition when moving and updating textures. r=kats 2011-12-30 14:08:58 -08:00
Patrick Walton
0fff0f0bdd 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
Chris Lord
fc3a62f889 Bug 711426 - Fix some causes of crashes when rotating. r=kats
The lock on the software buffer was not being respected when destroying the
surface on screen rotation, meaning we could destroy it while Gecko was still
drawing to it. This would certainly cause a crash on rotation under the right
conditions. The same situation also occurred in
GeckoSoftwareLayerClient.getBitmap().

We also waited until the next redraw when freeing the old texture associated
with the surface. This had the effect of temporarily increasing the memory
usage (generally by either 4.5 or 9 megabytes). If memory pressure is high,
this could also cause a crash, though it is far less likely than the above case.
2011-12-24 00:49:00 +00:00
Chris Lord
af9860b781 Bug 709152 - Adjust viewport offset while panning. r=pcwalton
This patch adjusts the viewport offset while panning to increase the
buffered area in the direction of panning, and thereby reduce checkerboarding.
2011-12-22 11:35:41 +00:00
Chris Lord
020657935d Bug 709152 - Squash multiple viewport events in nsAppShell. r=pcwalton
We only ever want to respond to the latest viewport sent, separate the
viewport change into its own event and remove all but the latest in the queue
when processing events.
2011-12-22 11:35:32 +00:00
Chris Lord
092cd9cdfb Bug 709152 - Group multiple texture uploads into a single upload. r=pcwalton
Instead of tracking multiple rectangles when we receive endDrawing calls,
just union the dirty area into a single rectangle.
2011-12-22 11:35:17 +00:00
Brad Lassey
ea1c675935 bug 712787 - remove showScreenshot (dead code) r=dougt 2011-12-21 18:01:57 -05:00
James Willcox
32dd584aa5 Bug 670930 - Use asynchronous direct texturing on Android when available 2011-12-21 14:05:23 -05:00
Brad Lassey
09fc9c88b9 bug 711757 - Fatal Exception: GeckoLooper Thread @ java.lang.IllegalArgumentException: width and height must be > 0 r=dougt 2011-12-20 00:29:04 -05:00
Kartikaya Gupta
36b1a1f54b 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
c5f70b0a51 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
Wes Johnston
5f24a57949 Bug 711905 - Support adding links to homescreen from awesomebar [r=mfinkle] 2011-12-20 10:28:12 -05:00
Kartikaya Gupta
e8312c4295 Bug 712037 - Add lots of logging to help diagnose viewport issues. r=Cwiiis 2011-12-19 22:32:41 -05:00
Kartikaya Gupta
7fd8d349cb Bug 712037 - Add a toString() method on the viewport. r=Cwiiis 2011-12-19 22:28:48 -05:00
Kartikaya Gupta
d84f168de3 Bug 709560 - Set blend function when enabling gl blending. r=pcwalton
The missing blend function was causing the default of GL_ONE,
GL_ZERO to take effect, making it look like alpha blending wasn't
working. It would start working once the 9-patch shadow was rendered
since that code sets the correct blend function. Fix this by
ensuring we set the blend function wherever we use blending.
2011-12-19 17:40:01 -05:00
Kartikaya Gupta
2bedc5c02c Bug 711232 - Avoid unnecessary bounce animations. r=pcwalton 2011-12-16 17:01:02 -05:00
Doug Turner
143c82d10a Backout of 9d027bf631d3 2011-12-17 21:52:54 -08:00
Doug Turner
3405de188d Backout of 8a5cc33141a3 2011-12-17 21:33:44 -08:00
Doug Turner
5c14206d26 Backout of f39dab2d2adb 2011-12-17 21:32:48 -08:00
Doug Turner
50ebb61b52 Backout of 74277c18e7ce 2011-12-17 21:32:24 -08:00
Kartikaya Gupta
72dad14f60 Bug 711232 - Avoid unnecessary bounce animations. r=pcwalton 2011-12-16 17:01:02 -05:00
James Willcox
215d32a09a Bug 670930 - Use asynchronous direct texturing on Android when available 2011-12-16 16:40:58 -05:00
Chris Lord
c855fa8dbb Bug 708307 - Decouple texture size from tile size. r=pcwalton
This removes the hard-coded limit of 1024x2048 tile sizes, and allows for
arbitrary tile-sizes. It will still only allocate texture sizes in powers of
two, however. It replaces the tile size with a buffered-area size, which can be
re-allocated as the screen dimensions change.
2011-12-15 23:45:52 +00:00
Ehsan Akhgari
ee65f0052e Backout changeset 3e972d3efc11 (bug 708307) because it breaks Android tests; a=me 2011-12-14 15:55:17 -05:00
Chris Lord
39ec78e96c Bug 708307 - Decouple texture size from tile size. r=pcwalton a=android-only
This removes the hard-coded limit of 1024x2048 tile sizes, and allows for
arbitrary tile-sizes. It will still only allocate texture sizes in powers of
two, however. It replaces the tile size with a buffered-area size, which can be
re-allocated as the screen dimensions change.
2011-12-14 19:41:37 +00:00
Patrick Walton
302ed2cf16 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
Brad Lassey
2f3f240182 bug 708961 - We still use ByteBuffer.allocateDirect for large buffers r=pcwalton a=java-only 2011-12-13 17:53:51 -05:00
Kartikaya Gupta
754e9e25fa Bug 707675 - Change OOM log level from error to warning. r=blassey a=java-only 2011-12-13 16:42:51 -05:00
Chris Lord
b77fdce4a3 Bug 708683 - Guard more rigorously against bad viewport updates. r=kats a=android-only
Check more values in browser.js when updating the viewport, and restructure
the JSON conversion in Java so that it's easier to tell what value caused a
bad viewport if it comes from Java.
2011-12-13 14:12:07 -05:00
Kartikaya Gupta
e24b9c4f9e 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
f9c4cd982c Bug 708683 - Improve JSON generation by using JSONStringer. r=pcwalton a=java-only 2011-12-09 22:58:10 -05:00
Kartikaya Gupta
e2c4df2f39 Bug 704784 - Fade scrollbars when content stops moving [r=pcwalton] 2011-12-09 16:05:24 -05:00
Kartikaya Gupta
9297a9e422 Bug 704784 - Tweak scrollbars to look nicer [r=pcwalton]
Scrollbars now have rounded endcaps, are a little smaller, and there
is a 1-pixel gap between the bar and the edge of the viewport. Just
generally making them look nicer.
2011-12-09 15:58:36 -05:00
Patrick Walton
2b937fcd38 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
Patrick Walton
937457a3f7 Bug 708519 - Pref off the frame rate meter r=kats 2011-12-09 10:01:31 -05:00
Patrick Walton
e9489c2baa Bug 708519 - Move the frame rate meter to bottom-right r=kats 2011-12-09 10:01:28 -05:00
Patrick Walton
a672f015ea Bug 708519 - Repair the frame rate meter r=kats 2011-12-09 10:01:26 -05:00