summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/graphics
Commit message (Collapse)AuthorAgeFilesLines
* Update WebKit with necessary changes for the Skia merge.Derek Sollenberger2012-03-066-112/+18
| | | | | | This CL address the modifications needed for r3312 of Skia Change-Id: I0574657e7a84e53c6b92cefbe07668e9467880db
* Skia API changes as a result of an update to the Skia library.Derek Sollenberger2012-01-315-15/+8
| | | | | | These changes are required to work with r3022 of Skia Change-Id: I4d4a13bad9acc54934bbb46bdfc08ee424c7a33a
* Merge "Fix ANR when hitting very large layers" into ics-mr1Nicolas Roard2011-12-081-5/+8
|\
| * Fix ANR when hitting very large layersNicolas Roard2011-12-081-5/+8
| | | | | | | | | | | | | | | | | | | | | | In some cases we have to deal with very large layers (e.g. 130k x 56k). We do clip them at draw time, but at prepare time we will generate *all* the needed BaseTile objects. Those are small, but when you have to allocated 100k of them and then iterate, it does not make things fast, and we can ANR (and sometimes recover later). bug:5466840 Change-Id: I01c64ed1014fa719b619609fd2bd24126dc9056e
* | 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
* Merge "Fix the repaint inval mechanism for layers - DO NOT MERGE" into ics-mr1Nicolas Roard2011-12-072-4/+8
|\
| * Fix the repaint inval mechanism for layers - DO NOT MERGENicolas Roard2011-12-072-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only keep the scrollable layers invalidating their entire area instead of incurring this penalty for *all* layers. Also remove unnecessary repaint when scrolling (we have the entire content on the UI side already). While the entire scrollable area will be invalidated and marked as dirty, the existing code in PaintedSurface already only look at the visible tiles of scrollable layers to consider the layer's content as being ready to display, so the real world penalty (while far from optimal) is limited. Implementing the correct approach (only invalidating what really changed on scrollable layers) would sadly be a lot more complex, as currently webkit will *not* send us the repaint invals if they are on a currently clipped area, as webkit's default behaviour to implement scrolling of such element is to repaint them anyway... bug:5721618 Change-Id: Ia470157c716fa1c557e4a196ba014296ad9e627a
* | Merge "fix viewport lagging a drawGL call behind" into ics-mr1Chris Craik2011-12-071-1/+1
|\ \ | |/ |/|
| * fix viewport lagging a drawGL call behindChris Craik2011-12-071-1/+1
| | | | | | | | | | | | | | | | | | bug:5724482 bug:5660963 we were calling setViewport and setViewRect out of order, so we were clipping with the last frame's (or last webview's, if >1 were visible) projection matrix Change-Id: Ifcbfa0021cb33e3400ac9eaf64fc2235ee8afe50
* | Account for dirty tiles doubly in texture countingChris Craik2011-12-061-2/+13
|/ | | | | | | | | | | | bug:5704511 Dirty tiles use two textures - one for display, and one for painting. This fixes an issue where the number of textures requested did not meet the needs of a double buffered tree with most content invalidated. The webview would give up drawing, and thus not paint the invalidated portions of the layers. Change-Id: Icd9b9e0b53cf82415074dac4338a8c48de880364
* Merge "Don't deep copy animations, prepare animations on both trees" into ↵Chris Craik2011-12-065-99/+29
|\ | | | | | | ics-mr1
| * Don't deep copy animations, prepare animations on both treesJohn Reck2011-12-055-99/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Delete TextureGenerator operations outside the lockChris Craik2011-12-051-4/+4
|/ | | | | | | | bug:5713701 This fixes a potential deadlock between TextureGenerator and ImagesManager Change-Id: I57503d3b73aff571629826f2278491232b37cb67
* Merge "Revert "Set the exact buffer size to Surf Tex"" into ics-mr1Teng-Hui Zhu2011-12-021-1/+1
|\
| * Revert "Set the exact buffer size to Surf Tex"Teng-Hui Zhu2011-12-021-1/+1
| | | | | | | | | | | | This reverts commit 2d19ea7c0d192c0c1eda1caed7e25143bbe22c20. bug:5689093
* | Merge "Maintain UI-side start times for animations in SW rendering mode" ↵Chris Craik2011-12-022-0/+16
|\ \ | | | | | | | | | into ics-mr1
| * | Maintain UI-side start times for animations in SW rendering modeChris Craik2011-12-022-0/+16
| |/ | | | | | | | | bug:5704428 Change-Id: I1d1d1f214642b6ff868e8425778565686bfe8b69
* | clip tile prepare bounds to content OR viewportChris Craik2011-12-021-15/+19
|/ | | | | bug:5699003 Change-Id: I4c35008f1324e0f9e83b7dd9e72e09a7e09ae7a9
* Merge "Turn off partial layer inval in MR1 - DO NOT MERGE" into ics-mr1Chris Craik2011-12-021-0/+4
|\
| * Turn off partial layer inval in MR1 - DO NOT MERGEChris Craik2011-12-011-0/+4
| | | | | | | | | | | | | | | | bug:5699531 Partial layer inval isn't working yet, disabling for correctness. Change-Id: I4838db41ea24e07f7b30c44ddb8321f598087d2a
* | Merge "Scroll position now passed to all layers" into ics-mr1Chris Craik2011-12-015-5/+28
|\ \ | |/ |/|
| * Scroll position now passed to all layersChris Craik2011-12-015-5/+28
| | | | | | | | | | | | | | | | | | | | bug:5666027 Previously, only the most recent version of the scrollablelayerandroid would have its position updated. This caused issues with position inconsistency between the painting and drawing version of the layer, if both existed. Change-Id: Ife29ae4e2cb00fbaa2f6fc95d9914b3434862f10
* | Merge "Fix image layer codepath" into ics-mr1Nicolas Roard2011-12-0119-203/+421
|\ \
| * | Fix image layer codepathNicolas Roard2011-11-3019-203/+421
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | Merge "Ensure font encoding is correct for drawing loopers." into ics-mr1Derek Sollenberger2011-12-011-0/+4
|\ \ \
| * | | Ensure font encoding is correct for drawing loopers.Derek Sollenberger2011-11-301-0/+4
| | |/ | |/| | | | | | | | | | | | | | | | This is particularly important for drawing shadowed text. bug: 5571685 Change-Id: Id90e4524faf086fc96cc1d59883f7a420c8c3ff5
* | | Merge "Fix offscreen tile optimization with small content" into ics-mr1Bart Sears2011-11-301-14/+14
|\ \ \
| * | | Fix offscreen tile optimization with small contentChris Craik2011-11-301-14/+14
| |/ / | | | | | | | | | | | | bug:5691644 Change-Id: Ida66f42c634099c4399bae0bbf4b5776913757b0
* | | Increase the transfer queue size a little to improve the performanceTeng-Hui Zhu2011-11-301-1/+1
| |/ |/| | | | | | | bug:5666757 Change-Id: Ib9589254c656731eaf35be60f9dccf45d4cea21b
* | Merge "Swap tiled page tiles on zoom" into ics-mr1Chris Craik2011-11-301-0/+1
|\ \ | |/ |/|
| * Swap tiled page tiles on zoomChris Craik2011-11-301-0/+1
| | | | | | | | | | bug:5678199 Change-Id: I8cc811753f1c9325d3adefbd30e7501ee8719b6b
* | Merge "Don't prepare offscreen tiles" into ics-mr1Chris Craik2011-11-291-9/+12
|\ \
| * | Don't prepare offscreen tilesChris Craik2011-11-291-9/+12
| |/ | | | | | | | | | | | | | | | | bug:5675837 Corrected max tile bounds logic Removed unused local variables Change-Id: I3a47fa69b720c59c9468dfca03638e66e3ac78dc
* | Merge "Set the exact buffer size to Surf Tex" into ics-mr1Teng-Hui Zhu2011-11-291-1/+1
|\ \
| * | Set the exact buffer size to Surf TexTeng-Hui Zhu2011-11-291-1/+1
| |/ | | | | | | | | | | | | | | | | Originally, the extra space is used to get the queue working when the size is 1, which is only for testing purpose. Now we should claim this back to save some memory. bug:5666757 Change-Id: I2079a562d8414f89274d7fff3342eafe32fe287f
* | Merge "synchronize animation starts with webkit" into ics-mr1Chris Craik2011-11-299-57/+101
|\ \
| * | synchronize animation starts with webkitChris Craik2011-11-299-57/+101
| |/ | | | | | | | | | | | | | | | | | | 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
* | WebView Animation supportTeng-Hui Zhu2011-11-295-6/+101
|/ | | | | bug:4982054 Change-Id: I1e8ea5ed7043a7140254a99053cf241de1b0ef3e
* Merge "Display media layers even if we ran out of layers textures" into ics-mr1Nicolas Roard2011-11-283-6/+10
|\
| * Display media layers even if we ran out of layers texturesNicolas Roard2011-11-233-6/+10
| | | | | | | | | | | | bug:5665482 Change-Id: Idd398d2adb7edcd5c782b9d6f019f448afadb21b
* | Fix SVG text renderingSteve Block2011-11-241-4/+5
|/ | | | | | | | | | | | | Android's implementation of GraphicsContext::setCTM() is broken, because Skia's Picture mode does not support setMatrix(). This broken code was added in https://android-git.corp.google.com/g/#/c/112636 as part of the merge to WebKit r80534. This change modifies SVGInlineTextBox to avoid calling GraphicsContext::setCTM() and makes clear that the method should not be used. Bug: 5590123 Change-Id: I45a3c8c356b7f068bb943a45b9f10cbc041331e2
* Merge "Use isHighEndGfx to double textures" into ics-mr1John Reck2011-11-213-2/+5
|\
| * Use isHighEndGfx to double texturesJohn Reck2011-11-213-2/+5
| | | | | | | | | | | | Bug: 5639612 Change-Id: I308f6fbb8208a0d2e83f2b6d285d4c471137a0e7
* | Set the number of current textures depending on the layers' count,Nicolas Roard2011-11-185-17/+79
|/ | | | | | | | to avoid going to single drawing surface if we can. Also fix a crash when logging layers. bug:5279231 Change-Id: I1c3f2ce4bcedac1c172e87c7ec3c6692d8e35e14
* Merge "Force tiles to swap whenever drawing tree is ready" into ics-mr1Chris Craik2011-11-171-1/+1
|\
| * Force tiles to swap whenever drawing tree is readyChris Craik2011-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | bug:5632237 Sometimes the drawing tree wouldn't swap it's tiles after a scroll or a view resize, even though the tiles were painted ready. Now, force all tiles to swap every time the entire tree is ready. Change-Id: Id204ed9082b7ee4d41fa712c37febc3dacf6984e
* | Merge "Add logging to help debug an ANR" into ics-mr1Teng-Hui Zhu2011-11-171-4/+10
|\ \ | |/ |/|
| * Add logging to help debug an ANRTeng-Hui Zhu2011-11-161-4/+10
| | | | | | | | | | bug:5627977 Change-Id: Ie68a4ae44599063fa93938370a5dcff7e63d7b9b
* | Merge "synchronous layer updates, and animation deferral during paint" into ↵Chris Craik2011-11-1628-737/+963
|\ \ | | | | | | | | | ics-mr1
| * | synchronous layer updates, and animation deferral during paintChris Craik2011-11-1628-737/+963
| |/ | | | | | | | | | | | | | | bug:5522081 bug:5239801 bug:5297563 Change-Id: I600f66999e093f720a8ea97ef3e15d3d1d297a8f