Commit Graph

116 Commits

Author SHA1 Message Date
Kartikaya Gupta
67add8af20 Bug 720144 - Expose methods in robocop to grab the painted surface and to compare pixels. r=jmaher 2012-01-30 22:46:13 -05:00
Kartikaya Gupta
10db96c244 Bug 720144 - Allow listening for draw updates and obtaining a copy of the composited surface for robocop testing. r=Cwiiis 2012-01-30 22:45:38 -05:00
Chris Lord
a560f7f2c4 Bug 721070 - Checkerboarding at bottom after pinch zooming out. r=kats,pcwalton
Certain conditions would cause MultiTileLayer to incorrectly invalidate tiles,
or to reuse tiles incorrectly, which would cause checkerboarding (sometimes
permanent until a redraw occurs).

This addresses said issues:

- Removes manual invalidation on Document:Shown and Tab:Selected. This is
  unnecessary, as the entire buffer will be invalidated when this happens
  anyway. Sometimes Document:Shown happens *after* drawing has occurred,
  which caused the entire screen to checkerboard incorrectly.
- Fix re-using off-screen tiles with the incorrect resolution. Tiles are stored
  in a hash-map based on their unscaled position. As only tiles that intersect
  with the update region in tile-space are invalidated, sometimes tiles that
  were off-screen, but whose unscaled tile origin appears on-screen would be
  incorrectly re-used. Fix this by checking that a tile's resolution matches the
  current resolution before reusing it.
2012-01-26 20:19:35 +00:00
Chris Lord
8750f68b59 Bug 721100 - After panning, tap area is offset at wrong place. r=pcwalton
When rendering with an offset for MultiTileLayer, the tile origin was moved
to compensate, but this lead to there being a mismatch between Gecko's
displayport origin and the one recorded on the Java side.

Instead of altering the origin, allow setting a render offset on MultiTileLayer
instead, so the origin remains correct.
2012-01-26 20:18:47 +00:00
Brad Lassey
0cb5691661 bug 711201 - instrument when we paint for performance testing r=dougt 2012-01-24 15:53:49 -05:00
Margaret Leibovic
361cb84d37 Bug 721220 - Send message back to java after tab selection is complete. r=mbrubeck 2012-01-25 20:06:08 -08:00
Kartikaya Gupta
fbd9e4aea1 Bug 718270 - When hiding the VKB on small pages, increase page size to prevent zoom-in. r=pcwalton 2012-01-25 17:16:03 -05:00
Wes Johnston
2fd2e86804 Bug 719309 - Follow up. Rename a variable. r=mfinkle 2012-01-25 01:41:02 +01:00
Wes Johnston
8cf1ffe8b1 Bug 719309 - Hook up touch events pref and disable them for now. r=mfinkle 2012-01-25 01:31:33 +01:00
Wes Johnston
b4f82372f4 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
38ab14764c Bug 603008 - Only delay panning on pages with touch listeners. r=mfinkle 2012-01-25 01:31:33 +01:00
Wes Johnston
a02904d162 Bug 603008 - Android widget multitouch implementation. r=blassey,kats 2012-01-25 01:31:33 +01:00
Patrick Walton
918dd9c009 Bug 710533 - Tint the checkerboard with the background color of the page. r=Cwiiis 2012-01-23 20:10:24 -08:00
Chris Lord
cef8ea399b Bug 717283 - Use tiles on-demand. r=pcwalton, snorp
Instead of tying the tile-buffer in MultiTileLayer directly to the back-buffer
of the page, make sure rendering is always aligned to the tile grid and use
tiles on-demand. This makes better use of tiles when panning/zooming, and opens
up the route for further optimisations.
2012-01-24 15:39:53 +00:00
Chris Lord
baf63d1e38 Bug 717283 - Store sub-tile metrics on the tile object. r=pcwalton
Instead of deriving sub-tile metrics on each iteration, create a SingleTileLayer
sub-class and store them there.
2012-01-24 15:38:29 +00:00
Phil Ringnalda
68bc9fb0e8 Backed out changeset b77c0c621163 (bug 710533) for native ts bustage 2012-01-23 23:33:05 -08:00
Phil Ringnalda
1d1f061673 Back out 420d7b8ed59d for being a bad backout 2012-01-23 23:32:11 -08:00
Phil Ringnalda
4d92a24459 Backed out changeset b77c0c621163 (bug 710533) for native ts bustage 2012-01-23 22:53:07 -08:00
Patrick Walton
9120d78e9d Bug 710533 - Tint the checkerboard with the background color of the page. r=Cwiiis 2012-01-23 20:10:24 -08:00
Patrick Walton
29365a4489 Bug 706684 - Implement a simpler scale gesture listener on Android. r=Cwiiis 2012-01-23 19:18:24 -08:00
Ed Morley
c4c32df0c4 Backout 91eebc6bdb59 & 7d776b291014 (bug 717283) for Android native reftest crashes 2012-01-22 11:55:18 +00:00
Chris Lord
d70b23ac39 Bug 717283 - Use tiles on-demand. r=pcwalton, snorp
Instead of tying the tile-buffer in MultiTileLayer directly to the back-buffer
of the page, make sure rendering is always aligned to the tile grid and use
tiles on-demand. This makes better use of tiles when panning/zooming, and opens
up the route for further optimisations.
2012-01-22 09:40:37 +00:00
Chris Lord
9426018c8c Bug 717283 - Store sub-tile metrics on the tile object. r=pcwalton
Instead of deriving sub-tile metrics on each iteration, create a SingleTileLayer
sub-class and store them there.
2012-01-22 09:40:26 +00:00
Patrick Walton
6ba521126c Bug 707956 - Restore original zoom scale on double rotation. r=kats 2012-01-20 21:14:03 -08:00
Matt Brubeck
4a1a0d545b Back out 47584f117727 and e05a8743389a (bug 717283) because of native Android startup crashes 2012-01-20 11:42:34 -08:00
Chris Lord
e6784b9101 Bug 717283 - Use tiles on-demand. r=pcwalton, snorp
Instead of tying the tile-buffer in MultiTileLayer directly to the back-buffer
of the page, make sure rendering is always aligned to the tile grid and use
tiles on-demand. This makes better use of tiles when panning/zooming, and opens
up the route for further optimisations.
2012-01-20 17:36:56 +00:00
Chris Lord
cc68b9d2cb Bug 717283 - Store sub-tile metrics on the tile object. r=pcwalton
Instead of deriving sub-tile metrics on each iteration, create a SingleTileLayer
sub-class and store them there.
2012-01-20 17:35:14 +00:00
Kartikaya Gupta
77b6ae578d Bug 713780 - Stop using JSONStringer as it results in a performance regression. r=Cwiiis 2012-01-20 09:30:27 -05:00
Kartikaya Gupta
c2d9c05f1a Bug 703347 - Add a background image visible during overscroll. r=Cwiiis 2012-01-20 09:27:09 -05:00
James Willcox
415c8cbfb3 Bug 719233 - Only use direct texturing on whitelisted devices r=blassey 2012-01-18 20:41:28 -05:00
Brad Lassey
58bc88d22e bug 713874 - Black thumbnails are produced by GeckoSoftwareLayerClient.getBitmap() r=mfinkle 2012-01-13 13:10:13 -05:00
Jonathan Kew
b1adbbce36 Backed out changeset ba3335f34100 (bug 713874) for Android build failures. 2012-01-14 22:19:31 +00:00
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