summaryrefslogtreecommitdiffstats
path: root/WebCore
Commit message (Collapse)AuthorAgeFilesLines
* DO NOT MERGE : Cherry-pick of change I9942e8e4 from masterNicolas Roard2011-03-031-2/+4
| | | | | | | | | | | | | | | | | | Wait the remaining of the 60FPS cap delay rather than not paint. Returning true if called faster than 60FPS means we are not drawing and ask for the framework to call us again; this works in general because the framework recopy the previous framebuffer. But in some cases, it didn't, causing the webview to flicker. A correct fix would be to introduce the capping in framework rather than try to doing it in the webview; in the meantime we will sleep the remaining of the delay as a workaround, so that we still provide the GPU benefits we wanted (at >60FPS the GPU was being saturated in some cases). bug:3500655 Change-Id: Iae50737b6d3202a8a0d3ec6d4a5261fe1b6d1b3f
* Do not merge: Cherry-pick change I21555e92 from masterDerek Sollenberger2011-03-021-0/+1
| | | | | | | | Bug: 3471680 Enable the plugin to specify the BGRA internal format for textures. Change-Id: Ied336c0a2309d14033a065b74e675d6d4405551b
* Do not merge: Cherry-pick fix to framerate capDerek Sollenberger2011-03-012-4/+4
| | | | | | | | | | | | Bug: 3471680 Fix framerate cap when multiple webviews exist. Each view will now be capped at 60fps. The previous code would either starve the drawing of additional webviews or would draw them at a rate of 60fps/N where N is the number of webviews. Change-Id: I359a79f5981bc29d57ce4b94eb00a5c9aee754d0
* Cap framerate at 60fpsNicolas Roard2011-02-282-2/+15
| | | | | bug:3471680 Change-Id: Ia19c4402858b758312c1f801bda990275f970b63
* Do not merge: Cherry-pick CL to help flash plugin performanceNicolas Roard2011-02-241-0/+1
| | | | | | | | Add a glFinish() at the end of drawGL(), to help the GPU and the flash plugin... bug:3471680 Change-Id: I309e0ba13f0b51b08b762de39b47b2b409faeacc
* Do not merge: cherry-pick incorect clip CL from masterDerek Sollenberger2011-02-241-0/+2
| | | | | | | Fix problem where plugins were not drawn due to an incorrect clip. bug: 3451982 Change-Id: I9eaaa218afa1a386dcb89d1d7845f80b0b180959
* Do not merge: Cherry-pick Fix ANR in the browser from masterNicolas Roard2011-02-229-25/+87
| | | | | | | | | | | Sometimes we were not releasing textures as they were busy; they could still be deleted when swapping the layers trees, and as they were also still present in the LayerTexture Hashmap this was causing an ANR (at best -- the texture was already deallocated, the LayerTexture dtor was then trying to release() them...) bug:3398660 Change-Id: I3b08af94a6a7041d45d373ebaec0ec4ba59dac82
* Do not merge: Cherry-pick 2nd part of GL_BLEND CL from masterDerek Sollenberger2011-02-224-1/+8
| | | | | | | | Ensure non-ready tiles are painted with the page background color. bug: 3465059 bug: 3471680 Change-Id: Id0cc94f181882d1308471c9bd898fe005101d6f8
* Do not merge: Cherry-pick Flash performance CL from MasterNicolas Roard2011-02-221-6/+1
| | | | | | | | | | | | | | | | | | | Bug: 3471589 Fix some of the performance issues when using the flash plugin embedded. What happened was that MediaLayer was always telling us to repaint the screen; we could repaint the same frame a dozen of times unecessarily. This in itself was wasteful but should have been ok, but the stream of commands plus the compositing caused the GPU commands used by flash to stall until they were executed... The compounded impact drasticaly lowered the performances. This is not a full fix as those conditions (us repainting the screen a lot) happens anyway when zooming or scrolling; but this should improve performances in the general case. Change-Id: I79a75c759fd5968cb822616eba0caa8c77e75835
* Do Not Merge: Cherry-pick GL_BLEND CL from masterDerek Sollenberger2011-02-225-15/+56
| | | | | | | Selectively enable and disable GL_BLEND for better performance. Bug: 3471680 Change-Id: I065b07f72a097418b81e5922574579574e7ca91a
* DO NOT MERGE Fix GL_BLEND problem.Nicolas Roard2011-02-222-11/+16
| | | | | | | | glBindAttribLocation() will only work after a shader has been linked; This was working previously due to the way the nvidia driver work when using blending (it generates another shader). Change-Id: Ie5d28ba451e7b37fd9c6a76c14fc3e4e525d9bf0
* DO NOT MERGE Clip layers if the texture size is too large for the GPUNicolas Roard2011-02-221-1/+3
| | | | | bug:3436987 Change-Id: Ibf42685ee07c6d0dd8a1a2b9c8b57da7f2a422db
* Fix potential bug in setMaxTextureCount and limitNicolas Roard2011-02-221-6/+14
| | | | | | the number of textures to 154 Change-Id: I39409e938b6b4bff23d6f1f0dc44648d63443f59
* Set correct max texture allocations.Shimeng (Simon) Wang2011-02-223-5/+10
| | | | | | This fixes core dump or dead lock in GL code when rotating screen. Change-Id: Ia7bfa71125f1d24158084b6192d805b5b08b60f8
* Fix crash in RenderLayer due to null pointerBen Murdoch2011-02-081-1/+2
| | | | | | | | | It is possible that there is no node associated with the RenderLayer after scroll as evidenced by the null check outside the ANDROID_OVERFLOW_SCROLL block. Bug: 3427863 Change-Id: Icbae7677df46eae923460d6f97a6a706f016e89d
* Fix to post an inval when plugins request a native video surface.Derek Sollenberger2011-02-081-1/+16
| | | | Change-Id: If9295a37ae19e7cb913e4cfa75b2a021bcda988f
* Only invalidate the webview when the plugin has new content.Derek Sollenberger2011-02-044-9/+68
| | | | | bug: 3424551 Change-Id: I07beef845bb41980144222c3c5d076db8120037c
* Get layers showing againBen Murdoch2011-02-023-22/+14
| | | | | | | | | | | | | | | | | Lazily get the maximum texture size from GL when we first need it. This avoids calling GL functions before GL has been set up and ensures it is done on the correct (ie. UI) thread. Also move the tiles expansion setting from WC thread to UI thread as TilesManager is not thread safe when creating the singleton instance. This makes change 4596782e unnecessary so we remove it. Bug: 3412928 Change-Id: I740974d8cc0ef4f66956cd6a07b058bfa7ca767f
* Merge "Initialize correctly the maximum texture size in case it was not." ↵Nicolas Roard2011-02-013-0/+13
|\ | | | | | | into honeycomb
| * Initialize correctly the maximum texture size inNicolas Roard2011-02-013-0/+13
| | | | | | | | | | | | | | | | case it was not. fix regression bug:3412928 Change-Id: Ie83dd50163ef4435cd88471127869114e41068cc
* | Merge "Fix updates on scrolling layers." into honeycombPatrick Scott2011-02-011-2/+4
|\ \ | |/ |/|
| * Fix updates on scrolling layers.Patrick Scott2011-02-011-2/+4
| | | | | | | | | | | | | | | | Compare the drawing texture with the new reserved texture to ensure that m_reservedTexture will be updated properly. Bug: 3381482 Change-Id: I4877842438376c00b65bdb10fb4feb1e8c50b2dc
* | Merge "Implement automatic texture size allocation for layers This fix ↵Bart Sears2011-02-015-10/+99
|\ \ | | | | | | | | | several issues (3d transforms, etc.) and in general makes websites using layers snappier (gmail, etc.)" into honeycomb
| * | Implement automatic texture size allocation for layersNicolas Roard2011-02-015-10/+99
| |/ | | | | | | | | | | | | | | This fix several issues (3d transforms, etc.) and in general makes websites using layers snappier (gmail, etc.) bug:3367038 bug:3367048 Change-Id: Ib178416209c3636c7700296978a1f35a7a54ee22
* | Smoother scrolling by preparing offscreen tiles (credit: Ben Murdoch)Dave Burke2011-02-014-33/+44
|/ | | | Change-Id: I80c7757bfb85f0b45726f2fa2f18644d2493fced
* Merge "Implement dynamic allocation of base tiles. This way, a webview will ↵Nicolas Roard2011-02-0110-72/+102
|\ | | | | | | only consume as much GPU memory as needed, depending on its size, to a maximum of 256 tiles per TiledPage." into honeycomb
| * Implement dynamic allocation of base tiles.Nicolas Roard2011-01-3110-72/+102
| | | | | | | | | | | | | | | | | | | | This way, a webview will only consume as much GPU memory as needed, depending on its size, to a maximum of 256 tiles per TiledPage. bug:3376517 Change-Id: Icc1e47623297cf1c01d40aa9e123c1a05373e7e5
* | Fix for bug:3410888Nicolas Roard2011-02-011-2/+2
|/ | | | Change-Id: Ic147e43f0a70bf7da70812e4383000d560b0dcbd
* A temp WAR for fixed element position updateTeng-Hui Zhu2011-01-311-0/+8
| | | | | | bug:3397602 Change-Id: I7c6c8ac8bd2c785b02cd9446730c1ca37fc71fce
* Merge "Fix 3366514, browser emulator no longer crashes" into honeycombRussell Brenner2011-01-311-0/+2
|\
| * Fix 3366514, browser emulator no longer crashesRussell Brenner2011-01-311-0/+2
| | | | | | | | | | | | | | | | Following recent update that added HARDWARE_ACCELERATION flag, it now is disabled for emulator builds, removing incompatible calls to TilesManager. Change-Id: Iffbb57aebc3c2f22262ebf14ff7013d602c05c12
* | Remove unnecessary scissor call (framework does that for us)Nicolas Roard2011-01-311-4/+0
| | | | | | | | Change-Id: Ic6e610df98b055dafb63dd0afddb13a8f9abbe44
* | Merge "Do not propagate compositing for some iframes." into honeycombPatrick Scott2011-01-311-0/+4
|\ \
| * | Do not propagate compositing for some iframes.Patrick Scott2011-01-311-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | If a frame does not have a renderer, this method would attach an iframe's root layer as the main root layer. Check for independent iframes before checking for the renderer. Will report a bug to WebKit.org. Bug: 3376746 Change-Id: I84bcc3e5016f6aa9d7c19a287367482df9c65c67
* | | Merge "Simple fix for bug:3365709" into honeycombNicolas Roard2011-01-311-2/+0
|\ \ \
| * | | Simple fix for bug:3365709Nicolas Roard2011-01-311-2/+0
| | | | | | | | | | | | | | | | Change-Id: Id4757935bda7b688bec9448c842072cd8316d76b
* | | | Merge "Use fixedClipRect when modifying clipRect for fixed elements." into ↵Leon Scroggins2011-01-311-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | honeycomb
| * | | | Use fixedClipRect when modifying clipRect for fixed elements.Leon Scroggins2011-01-311-1/+2
| |/ / / | | | | | | | | | | | | | | | | Bug:3408368 Change-Id: I21a61bd409b635e5779408f43b6265d640476c03
* | | | Add new vertex shader to support video transforms.Derek Sollenberger2011-01-313-4/+23
|/ / / | | | | | | | | | | | | bug: 3072603 Change-Id: I59e52cc9672c653760351b835c63d0496e6ff6ff
* | | Merge "Fix video inversion and avoid extra matrix copies." into honeycombDerek Sollenberger2011-01-313-12/+11
|\ \ \
| * | | Fix video inversion and avoid extra matrix copies.Derek Sollenberger2011-01-313-12/+11
| |/ / | | | | | | | | | | | | bug: 3072603 Change-Id: I46737fe52b1571834efaa6b8250645790205ff1a
* | | Merge "Fix to ensure that plugin layer's are synced to the UI thread." into ↵Derek Sollenberger2011-01-311-0/+16
|\ \ \ | |_|/ |/| | | | | honeycomb
| * | Fix to ensure that plugin layer's are synced to the UI thread.Derek Sollenberger2011-01-311-0/+16
| |/ | | | | | | | | bug: 3394773 Change-Id: I1eb3e3c0239546493a7bff2e954581cf18a4606c
* | For textareas, do not use UI side layers.Leon Scroggins2011-01-311-1/+2
|/ | | | | | | | | Bug:3402831 Bug:3401242 Requires a change in frameworks/base. Change-Id: I4d7525cbf3a881fbe87f4bc624988fcb79cceab1
* Fix repaint bug when changing viewportNicolas Roard2011-01-301-3/+4
| | | | | bug:3405986 Change-Id: I5ef5d9bc1041fabe5319e93180f94b521b07e93b
* Fix GL error when initializing the browserNicolas Roard2011-01-303-6/+24
| | | | | | | | bug:3355704 may also fix bug:3383599 Change-Id: I77892c2e90c4edf054513de92b0c6bfba3152819
* Fix temporary memory leakNicolas Roard2011-01-302-1/+5
| | | | | bug:3376517 Change-Id: If64b9385bc8e4d915597bd3f27b22c3d23f74a73
* Add a ClassTracker class to more easily track leaksNicolas Roard2011-01-3019-93/+178
| | | | | bug:3376517 Change-Id: Ieb419bc3140963ccbda3e2f130778ec53b2920aa
* Merge "Allocate bitmaps on the fly for layers" into honeycombNicolas Roard2011-01-302-6/+27
|\
| * Allocate bitmaps on the fly for layersNicolas Roard2011-01-302-6/+27
| | | | | | | | | | bug:3376517 Change-Id: I68cab08949302dd938b9c4753f9dfebd6c08e298