summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics/android/LayerAndroid.h
Commit message (Collapse)AuthorAgeFilesLines
* Reorganize platform/graphics/androidNicolas Roard2012-04-061-394/+0
| | | | Change-Id: Idc67155cfa99784dcd931e705336bfa063ecae46
* Rename several classesChris Craik2012-04-041-6/+7
| | | | | | | | | | | | | | | | | | | | BaseTile,BaseTileTexture -> Tile,TileTexture Used in layers other than the base LayerGroup -> Surface Renamed to convey that it is a member of the SurfaceCollection, and that the layers grouped inside are painted together (if at all) DualTiledTexture -> SurfaceBacking Better conveys that this is the raster backing for a surface that can paint. It may be implemented with two tiled textures for now, but that isn't as important as its relationship to the surface. TiledTexture -> TileGrid Renamed to make it more clear that it was a container of tiles, and to be less similar to TileTexture Change-Id: I843f8603a2080cfe5a7313ba1c2eff10620f8aa2
* reimplement BaseLayerAndroid as a LayerAndroid subclassChris Craik2012-03-221-9/+6
| | | | | | Breaks low res tiling, and expanded rendering bounds. Change-Id: Iec3ba2adceb6bd95399594d29fd8c0b18c1122ce
* Canvas on a textureJohn Reck2012-03-201-2/+9
| | | | Change-Id: I841b3e021298738c91701068992798a55290a520
* Fix layers ordering issue with Absolute positioned elementsNicolas Roard2012-03-131-1/+4
| | | | | | | | | - Promote absolute positioned elements to be composited - Reorder the elements as needed in LayerAndroid - Simplify fixed elements composition culling (don't do it anymore, we just promote everything and let the Layers sort things out) Change-Id: If76cf76a92410dec7e305a1a70c660d8597e399a
* Introduce a LayerContent interfaceNicolas Roard2012-03-091-14/+11
| | | | | | | | | 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
* Merge "Delete nativeSubtractLayers"John Reck2012-03-091-5/+0
|\
| * Delete nativeSubtractLayersJohn Reck2012-03-091-5/+0
| | | | | | | | | | | | Bug: 5338388 Change-Id: I2ae12dde6ef2f30e015c052da67c2bafbd59ecd3
* | Replace picture count with the SurfaceCollection countChris Craik2012-03-091-5/+0
|/ | | | | | Displays surface collection count on tiles when visual indicator is on. Change-Id: Ibe90792279849baff6f5bf0d71b80d9081471dc4
* Change the way we apply fixed position to layersNicolas Roard2012-03-081-5/+9
| | | | | | | | | With the latest refactoring we lost the possibility of having a layer other than LayerAndroid be fixed positioned. This CL remove the FixedLayerAndroid class (rename it into FixedPositioning) of the hierarchy, and use delegation to apply fixed position. Change-Id: Ib291fcaefe6a4431849ccfe2cf458fac6cac58aa
* Refactor LayerAndroid to add iframe subclassesNicolas Roard2012-03-071-18/+18
| | | | Change-Id: Ia3810e83a2d919ff5fa37b8fcd92e6cbbb63d569
* UI-side layer mergingChris Craik2012-03-071-9/+11
| | | | | | | | Merge multiple painted layers into a LayerGroup to share a dualTiledTexture see LayerAndroid::canJoinGroup() for merging rules Change-Id: I5f5b156894c3743825f570b47d34e905d74de10a
* Refactor LayerAndroid and add a FixedLayerAndroid classNicolas Roard2012-03-061-79/+32
| | | | Change-Id: Ic94e67678e7f5783bf6690308d0a13ce2202d1f2
* Removes unused classesNicolas Roard2012-03-051-3/+0
| | | | | | Now that find text is done through webkit, we don't need those. Change-Id: I70a7bbdcc0e6842ab2ce181871c2893ce84012c7
* Fix iframe, for reals!John Reck2012-03-011-0/+4
| | | | Change-Id: I588aa5709e7a3c2ced9479c3cf9c1827bf6f7733
* layer rendering cleanup/rewriteChris Craik2012-02-281-15/+9
| | | | | | | | | | | | | | | | | | | | | * 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
* Webkit text selectionJohn Reck2012-01-301-1/+2
| | | | Change-Id: I8e2e400940c7c84055aeb2624958aaf47804900b
* fix layer scrollingMichael Kolb2011-12-161-1/+2
| | | | | | | | | Bug: 5774119 Add support for layer scrolling; also fixes the scrollTop demo referenced in bug: 5748199 Change-Id: Id04a3d52bb1e75e9ee24a4f1b8aa9b0334369ba1
* Don't pass pictures with no content to UI threadChris Craik2011-12-151-1/+1
| | | | | | | | | | | | bug:5748182 Adjusted text detection logic to also simply detect content, and moved to a separate class. No content means a picture is not attached to the layer, and a PaintedSurface isn't allocated to the layer on the UI side. Most commonly, this avoids allocating textures for the clipping element for an overscroll div, but only if it has nothing to paint. Change-Id: I5e57d497780c0532e0f28ac94b7ced3de9718e92
* Don't deep copy animations, prepare animations on both treesJohn Reck2011-12-051-0/+1
| | | | | | | | | | | | | Bug: 5699085 Previously, animations were copied along with layer trees from the webkit to UI thread. This changes that to instead use a single object per animation with refcounting so that animations are kept consistent. Additionally, animations are now run on both the painting and drawing trees in the tree manager so that animated content clipped correctly during a tree swap. Change-Id: I79f0c0e47b717f9fdddf303eb7ec29efc4950aaf
* Maintain UI-side start times for animations in SW rendering modeChris Craik2011-12-021-0/+2
| | | | | bug:5704428 Change-Id: I1d1d1f214642b6ff868e8425778565686bfe8b69
* Fix image layer codepathNicolas Roard2011-11-301-5/+2
| | | | | | | | | | | | | | - asynchronous loading - support for tiled content using TiledTexture - fix repaint/duplication bugs - share same textures as layers - disambiguate between images by computing a CRC code - added better debugging in TilesManager/ClassTracker to track memory usage bug:5661120 bug:5572134 bug:5521718 Change-Id: Id422fb991d6233bbe4dc6e5c3c7409468b7dca98
* synchronize animation starts with webkitChris Craik2011-11-291-1/+2
| | | | | | | | | | bug:5239801 this better supports animations not synchronous with webkit Relies on the frameworks/base CL: https://android-git.corp.google.com/g/#/c/152533/ Change-Id: Ia79a475065b3891db8fc4014559062ab1ac95ebe
* synchronous layer updates, and animation deferral during paintChris Craik2011-11-161-24/+15
| | | | | | | | bug:5522081 bug:5239801 bug:5297563 Change-Id: I600f66999e093f720a8ea97ef3e15d3d1d297a8f
* Fallback mode when running out of textures for layersNicolas Roard2011-11-101-2/+33
| | | | | | | | | | - 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
* DO NOT MERGE Fix SW extras for layersJohn Reck2011-10-251-3/+0
| | | | | | | Bug: 5507239 Also remove all the old, unused layer setExtras stuff Change-Id: Id1670010536712b7a9f50e74821c9fb7f708e851
* Fix scrolling offset of ScrollableLayer when we touch them.Nicolas Roard2011-10-071-1/+1
| | | | | | | | | | | With the new direct update, we are setting directly the layers position; but for ScrollableLayer, we already set their position in the UI, so for them their webkit counterpart is actually older/wrong. The fix consists simply in not updating the positioning of ScrollableLayer. bug:5421867 Change-Id: Ia14e41aff641173a45ed898cd3b3eceab3f7bd7a
* Merge "Streamline the layers update codepath. Directly update the layers ↵Nicolas Roard2011-10-051-0/+6
|\ | | | | | | transform and position. This makes updates faster and less dependent on other webkit work."
| * Streamline the layers update codepath.Nicolas Roard2011-10-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | Directly update the layers transform and position. This makes updates faster and less dependent on other webkit work. counterpart java CL: https://android-git.corp.google.com/g/#/c/139853/ bug:5218173 Change-Id: I03a76ab853e81f0f12177fb785707ffb8dace330
* | Remove m_contentsImage usageJohn Reck2011-10-041-4/+5
|/ | | | | | Bug: 5410522 Change-Id: Id8457715665dbd51761900011beba57b7f634fff
* Add debug informations to keep better track of layers allocationNicolas Roard2011-09-291-1/+6
| | | | | | | | | Fix coherency issue in ClassTracker (it's accessed from two different threads and we were not locking the datastructure) bug:5366807 Change-Id: I7dbd4417a49f4b3af3e09d614cec6b4568b09f7a
* Fix a memory leak with LayerAndroidNicolas Roard2011-09-291-1/+4
| | | | | | | (we had a cycle between LayerAndroid and PaintedSurface) bug:5366807 Change-Id: I1b7341984b3cc6fd998b9ab54205bb963eb9223d
* Merge "Add shared images for layers"Nicolas Roard2011-09-261-4/+7
|\
| * Add shared images for layersNicolas Roard2011-09-261-4/+7
| | | | | | | | | | | | bug:5242595 bug:5218173 Change-Id: I37d395e85441671312aac3e236cc8276019aa990
* | Fix find-in-page to scroll scrollable layersSteve Block2011-09-221-1/+0
| | | | | | | | | | | | | | | | | | | | This requires the addition of the following methods ... - Layer::contentIsScrollable() - Layer::localToParent() - ScrollableLayerAndroid::scrollRectIntoView() Bug: 5262656 Change-Id: I2f1cf3342f73890f98a172f1b4e3f440c02dd9f4
* | Clean up style and add some comments in LayerSteve Block2011-09-211-1/+1
|/ | | | | | | | | This is preparation for https://android-git.corp.google.com/g/#/c/134488/4 Refactoring only, no functional change. Bug: 5262656 Change-Id: I44e362cf35fc5080f7d9fba34183188d3a2a6331
* Merge changes Ifb6cc64e,I4d819cc5Steve Block2011-09-191-3/+8
|\ | | | | | | | | | | * changes: Simplify logic in ScrollableLayerAndroid::scrollTo() Fixes style and adds some comments to layers code
| * Fixes style and adds some comments to layers codeSteve Block2011-09-191-3/+8
| | | | | | | | | | | | | | | | Also removes FrameCachePermission::AllowNewest. This should have been removed as part of https://android-git.corp.google.com/g/#/c/2712. Bug: 5262656 Change-Id: I4d819cc5087653e4a1180d04ca0b5b20db7e2305
* | Prepare tiles in reverse draw orderChris Craik2011-09-191-0/+6
|/ | | | | | | | | 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-3/+2
| | | | | | bug:3367478 Change-Id: I37632de8503b0f3eba0a183a156d71ea48bdba98
* Implement partial repaint for layers (at the tile level)Nicolas Roard2011-08-171-0/+9
| | | | | | | | Fixes a scheduling problem with layers bug:3392331 bug:5145259 Change-Id: I2ea2c91f2c6d6f5288375cb5ebdaa69819b740be
* Fix crash issue with drawingNicolas Roard2011-08-111-1/+2
| | | | | | | retain layers as needed bug:4177062 Change-Id: Ifd8d493c8ed3b13eedece260136be873f6701fed
* Add some debugging functions to LayerAndroidNicolas Roard2011-07-201-0/+5
| | | | Change-Id: I03922d9788d340ab208677b272470312c92a80ee
* Implements tiled layers. We remove all the existing code in LayerAndroidNicolas Roard2011-07-141-40/+18
| | | | | | | | | | | 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
* Modified tile reclamation heuristic for multi-webview displayChris Craik2011-07-011-0/+1
| | | | | | | | | | | When tiles are reclaimed, they are now taken first from webviews that haven't been drawn in a while. Previously they were taken from any other webview - which may have been one still being displayed if multiple are onscreen. bug:4049143 partially solved (still not enough graphics memory allocated for tiles on tablet devices) Change-Id: Id400ea28e92ba805120c8353881834157fefa483
* Refactoring: Moved 'SkLayer' to 'Layer' class in webkitChris Craik2011-06-301-3/+3
| | | | Change-Id: Ie1c24e5e402c539e0359810cfdf872178fa083c1
* Cleanup Skia related rendering code for raster rendering.Derek Sollenberger2011-06-281-2/+2
| | | | | | | | | | | | | | In the existing code we created a sharedBitmap for BaseTiles and never used it instead opting for createing bitmaps on the stack to enable partial invalidation. This CL removes the sharedBitmap concept and instead creates all bitmaps on the stack. This means that BackedDoubleBufferedTexture no longer needs to have a bitmap member, but instead simply takes the bitmap from the caller and uploads it to the appropriate texture. To make this upload clean we now pass the bitmap via const references instead of pointers. Change-Id: Ie218c4b4564e5574ca6e404d4857904ab41a3a5c
* Serialize LayerAndroidJohn Reck2011-06-071-6/+24
| | | | | | | For now skip other layer types Doesn't support animtations Change-Id: Id1ff75f3d4d213f56561fc5d9c01f7ffee05cc79
* Merge WebKit at r75315: Move Android-specific WebCore files to SourceSteve Block2011-05-121-0/+384
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