summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/BaseLayerAndroid.cpp
Commit message (Collapse)AuthorAgeFilesLines
* replace XLOGC/XLOG with ALOGD/ALOGVChris Craik2012-03-121-43/+26
| | | | | | | Started using ALOGW/E for indicating warnings/errors Also delete the unused TilesTracker.h Change-Id: I1986a3057efd4c8e260dbc020e21c02d4d646cf3
* Introduce a LayerContent interfaceNicolas Roard2012-03-091-15/+8
| | | | | | | | | Layers can now use a LayerContent object to draw their content. We currently have two subclasses, one using an SkPicture (currently used for composited layers), the other using a PictureSet (that we use for the base layer). First step toward unification... Change-Id: I5e7fd06a653f02f8721613fd3a39d36fb64a8614
* Replace picture count with the SurfaceCollection countChris Craik2012-03-091-4/+3
| | | | | | Displays surface collection count on tiles when visual indicator is on. Change-Id: Ibe90792279849baff6f5bf0d71b80d9081471dc4
* Refactor LayerAndroid to add iframe subclassesNicolas Roard2012-03-071-1/+1
| | | | Change-Id: Ia3810e83a2d919ff5fa37b8fcd92e6cbbb63d569
* layer rendering cleanup/rewriteChris Craik2012-02-281-88/+15
| | | | | | | | | | | | | | | | | | | | | * added 'LayerGroup' class separate the painting/tiled features of a layer (eventually multiple layers) tiled drawing/preparing/counting details are abstracted out of LayerAndroid * added 'SurfaceCollection' class incorporates both the BaseLayerAndroid/LayerAndroid tree, as well as the vector of tiled LayerGroup * renamed 'TreeManager' to 'SurfaceManager' * Removes PaintedSurface was mostly a thin wrapper around DualTiledTexture * Combines TilePainter/SurfacePainter * Simplified ref counting Change-Id: I92c5c75f48d92e0e28812c56de00102399fc02ee
* Merge "Revert "simplify texture generation filters""Chris Craik2012-02-231-1/+1
|\
| * Revert "simplify texture generation filters"Chris Craik2012-02-231-1/+1
| | | | | | | | | | | | | | Seems to be a problem with the refcounting. bug:6050242 bug:6058365 This reverts commit 92a7e4bc6b67b150cbb30f78374173ecfeb43607
* | Add two missing null checksJohn Reck2012-02-211-0/+2
|/ | | | | | Bug: 6008243 Change-Id: I32df636933d77dc9d7174f7a025a1ee70bb945fa
* simplify texture generation filtersChris Craik2012-02-161-1/+1
| | | | | | | | | | Filters can no longer block, which removes the need for transfer queue interruption. The filter no longer touches the currently painting tile. Tiles are now all ref-counted to accomodate the container being deleted while one of its tiles is still painting. Change-Id: Iaa4848665efdf90846defb0a53bf1ea013b8421b
* Draw GLExtras for each layer.Victoria Lease2012-01-091-0/+1
| | | | | | | | | | | Bug: 5747765 Moved the GLExtras::drawGL() call out of GLWebViewState into LayerAndroid and BaseLayerAndroid. This allows us to apply per-layer transforms, ensuring that find-on-page highlights are positioned correctly on their layers. Change-Id: I65b950875eb736601f8afec1770e5cc0201c0450
* am 397afc9c: am 2ee79460: Merge "Reset framework inval when done zooming" ↵Chris Craik2011-12-121-0/+1
|\ | | | | | | | | | | | | into ics-mr1 * commit '397afc9c161292e163bf2381973fced88c7123bf': Reset framework inval when done zooming
| * Reset framework inval when done zoomingChris Craik2011-12-081-0/+1
| | | | | | | | | | | | | | | | | | bug:5726709 Framework invals are not valid when zooming completes because much content outside the rect will have changed from zooming. Change-Id: I72e4509e13bf97ea90f09716699e66c1c3f9acd8
* | compiler error fix when DEBUG is onTeng-Hui Zhu2011-12-061-2/+2
| | | | | | | | Change-Id: Ifaaefdbe0724a95e9c237c1fe3c5a7c25026839e
* | am 7bfb8097: Merge "Display media layers even if we ran out of layers ↵Nicolas Roard2011-11-281-2/+1
|\ \ | |/ | | | | | | | | | | textures" into ics-mr1 * commit '7bfb8097235343906a2764fa6fb865f4bea2696b': Display media layers even if we ran out of layers textures
| * Display media layers even if we ran out of layers texturesNicolas Roard2011-11-231-2/+1
| | | | | | | | | | | | bug:5665482 Change-Id: Idd398d2adb7edcd5c782b9d6f019f448afadb21b
* | resolved conflicts for merge of 4eaaa2a0Chris Craik2011-11-171-95/+144
|\ \ | |/ | | | | Change-Id: I5da59f75c0ea1cdb7818dd3f8dc557fbf1d29885
| * synchronous layer updates, and animation deferral during paintChris Craik2011-11-161-95/+144
| | | | | | | | | | | | | | | | bug:5522081 bug:5239801 bug:5297563 Change-Id: I600f66999e093f720a8ea97ef3e15d3d1d297a8f
* | am f5131505: Merge "Fallback mode when running out of textures for layers" ↵Nicolas Roard2011-11-111-20/+7
|\ \ | |/ | | | | | | | | | | into ics-mr1 * commit 'f51315051fbfa03d02d8c098ae70e9eb227d4200': Fallback mode when running out of textures for layers
| * Fallback mode when running out of textures for layersNicolas Roard2011-11-101-20/+7
| | | | | | | | | | | | | | | | | | | | - Implements a degraded rendering mode when running out of textures - Speed up rendering by reusing the same SkBitmap in RasterRenderer - Some refactoring bug:5279231 Change-Id: I52943a87bed56c49b01b47fea4fa1a5c49e09e93
| * Merge "DO NOT MERGE Fix SW extras for layers" into ics-mr1John Reck2011-10-251-11/+0
| |\
| | * DO NOT MERGE Fix SW extras for layersJohn Reck2011-10-251-11/+0
| | | | | | | | | | | | | | | | | | | | | Bug: 5507239 Also remove all the old, unused layer setExtras stuff Change-Id: Id1670010536712b7a9f50e74821c9fb7f708e851
* | | compiler error fix when DEBUG is onTeng-Hui Zhu2011-11-021-2/+2
| | | | | | | | | | | | Change-Id: I6fbaa9dfe50752fa5ec95cd43ed50306b63270f3
* | | am c43f9396: Merge "Don\'t draw prefetch page if not necessary" into ics-mr1Chris Craik2011-10-261-11/+16
|\ \ \ | |/ / | | | | | | | | | * commit 'c43f9396708d95ecbce1f4ef65530999fab96c0d': Don't draw prefetch page if not necessary
| * | Don't draw prefetch page if not necessaryChris Craik2011-10-251-11/+16
| |/ | | | | | | | | | | | | | | bug:5494086 Also only try to draw visible tiles. Change-Id: Ic850afab94309d9d4d031600a40dc889298fef24
* | Fix SW extras for layersJohn Reck2011-10-241-11/+0
|/ | | | | | | Bug: 5507239 Also remove all the old, unused layer setExtras stuff Change-Id: I6b319192fac4c8ce0995bc7883f64fc482beff05
* Don't paint/allocate off screen tilesChris Craik2011-10-171-2/+2
| | | | | | | | bug:5320471 Also, reduce prefetch distance Change-Id: I9e677c16b5d0cdc16b87bd820591088ab10ab44b
* Fixed infinite redraw loop from running out of layer tilesChris Craik2011-10-111-3/+7
| | | | | | | | | | | bug:5349958 Clear a flag when a layer tile can't allocate a texture, and only try and redraw from tile dirtiness if that flag is set. Also, don't ask for redraw if offending tiles are offscreen. Change-Id: Iadb0cb267a9c1f308e5b42a6e0e3b4bc71d18ece
* Fix low-res tiles rendering too earlyChris Craik2011-09-301-7/+7
| | | | | | | | | | bug:5369978 Low-res tiles were being prepared before high res, so despite being lower priority, they had a chance to start rendering when a new page was loaded before any other tiles existed in the priority queue. Change-Id: I479f01a00c2507bcabf13929eb099571d8886c4c
* Merge "Prefetch browser content with tiled page"Chris Craik2011-09-211-0/+56
|\
| * Prefetch browser content with tiled pageChris Craik2011-09-211-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | bug:5262519 Use the tiled page not used by content rendering to render much fewer tiles for the same content, at an inflated scale. These prefetched tiles are prioritized for painting above all others, so that content is (almost) always visible on the base layer. Change-Id: I598b7925cb68beef632f828df3ae522a0b21e2b4
* | Prevent rings from being clippedJohn Reck2011-09-201-1/+0
|/ | | | | | Bug: 5348386 Change-Id: I6fd9c1d856be257a1a757649aa85e55d4a14a8d1
* Merge "We be GL ringing it all over them layers"John Reck2011-09-191-1/+1
|\
| * We be GL ringing it all over them layersJohn Reck2011-09-191-1/+1
| | | | | | | | | | | | Bug: 5333083 Change-Id: Ia2b03d8d9e0167d06f8a900152e25e66372acd59
* | Prepare tiles in reverse draw orderChris Craik2011-09-191-0/+1
|/ | | | | | | | | bug:5335634 By preparing tiles in the reverse of draw order, tiles on top are given textures first and less likely to be missing. Change-Id: Idafde3e0789e24459bba2db150081969810a0021
* Fudge layer translation to always line up with view pixelsChris Craik2011-09-111-4/+2
| | | | | | bug:3367478 Change-Id: I37632de8503b0f3eba0a183a156d71ea48bdba98
* If unlock base layer marks tiles dirty, repaintChris Craik2011-09-081-14/+20
| | | | | bug:5278818 Change-Id: I03206bdc5e95743054c361f235e2d94b835a95d1
* Enable double buffering via base tilesChris Craik2011-09-021-54/+73
| | | | | | | | | | | | bug:2522049 allocate textures and tiles using the gldraw count when they were most recently prepared remaining issues: -layers still flicker (presumably from texture stealing) -layers aren't double buffered yet Change-Id: Iccdf68326d7d476269d4e3a13903aaab249ee92d
* better locking while scrolling, but disables double bufferingChris Craik2011-08-251-31/+29
| | | | | | | | | | don't detect scrolling, query from java removes double buffering depends on CL in frameworks/base: https://android-git.corp.google.com/g/#/c/130213/ bug:5106313 Change-Id: Ibfa7f305874f4209fed001c030bb94e752d479b9
* Refactoring of BaseLayerAndroid and GLWebViewState:Nicolas Roard2011-08-191-126/+34
| | | | | | | | | - we extract the GL set up GLWebViewState - we extract the zoom management to a new ZoomManager class bug:3392331 Change-Id: If42523a7192bab2f8c9d1f00a50721380340230d
* Support registering page swap callback, content invalChris Craik2011-08-021-0/+5
| | | | | | | | | | | | bug:5062896 Depends on the following frameworks/base change: https://android-git.corp.google.com/g/#change,124879 a WebView may now register a page swap callback and content invalidate to benchmark tile rendering performance Change-Id: I97f6ed05cff12b11266a472163aab1f3b3ddc87e
* added pageswap callback from drawGL to WebViewChris Craik2011-07-281-3/+8
| | | | | | | | | | | | | bug:5008210 When setting a new base layer, WebView can signal that it wants to have it's pageSwapCallback triggered. This is only done upon request, currently whenever the WebTextView is being displayed so that it can be repositioned upon pageswap. Depends on the following frameworks/base change: https://android-git.corp.google.com/g/#change,124607 Change-Id: Id99c2d5a15cdb4317802a92cedae16a9e0aebc8d
* Merge "Add some debugging functions to LayerAndroid"Nicolas Roard2011-07-201-4/+5
|\
| * Add some debugging functions to LayerAndroidNicolas Roard2011-07-201-4/+5
| | | | | | | | Change-Id: I03922d9788d340ab208677b272470312c92a80ee
* | Implement an invert screen modeJohn Reck2011-07-151-3/+10
|/ | | | | | Set through the new property interface Change-Id: I62e3986a5a0d5a41faf0eeee6cd1c0f7186e1cf5
* Implements tiled layers. We remove all the existing code in LayerAndroidNicolas Roard2011-07-141-35/+7
| | | | | | | | | | | related to the old texture management and introduce two new classes: - PaintedSurface, used as a placeholder ui-side for the regularly changing LayerAndroid - TiledTexture, implementing the tiling of PaintedSurface using a set of BaseTile bug:4580444 bug:3392331 Change-Id: I0daa079d2acce49f3baa8c312ea0b0dd457ccd5c
* Support the screen shot while the video is paused.Teng-Hui Zhu2011-06-011-0/+3
| | | | | | | | | | | | | | | | | | | | Basically, the GL textures generated for the surface texture will be used for showing the screenshot. Surface texture will be recycled every time a new video starts. But GL textures will be recycled either when running out of memory bound, or when the mediaplayer is deleted. 1. Add the VideoLayerManager as a static instance to manage the info of textures allocated for the screenshot. The basic info will be added into the manager while the video is played and prepared. During the draw time, the matirx info will be updated, too. 2. When there are too many screenshots are created, then we will discard the oldest one and just show the grey static rectangle to replace the screenshot. The corresponding framework change is 112501. Change-Id: Ifea60c96532500f9c93062cc97f7c4ef978046b0
* Fix some compiler warningsSteve Block2011-05-191-6/+3
| | | | Change-Id: I4c5fde4898313b26c9a97bd9571b02eaeb35c684
* Merge WebKit at r75315: Move Android-specific WebCore files to SourceSteve Block2011-05-121-0/+381
This moves files in the following WebCore subdirectories ... - bindings/js - bindings/v8/custom - plugins/android - platform/android - platform/graphics/android - page/ - css/ - dom/ - loader/archive/android