summaryrefslogtreecommitdiffstats
path: root/WebCore
Commit message (Collapse)AuthorAgeFilesLines
* Fix Browser ANRNicolas Roard2011-03-173-11/+16
| | | | | | | | | | | | | | | | | | | | | | | | The problem was that when attempting to forcefully destroy a texture in TilesManager::cleanupLayersTextures(), the call to LayerAndroid::removeTexture() may fail if the texture was busy being painted -- the call to BackedDoubleBufferedTexture::release() would return false, and the layer may thus still keep a pointer to the texture. But the release() call, while indicating it failed, was only delaying the release -- as soon as the texture was marked as not busy, it could set its owner to nil. We could thus have a situation where the layer did not reset its texture pointers because the owner of the texture was not yet changed, but the texture would then reset its owner to nil as soon as it was not busy painting. In TilesManager::cleanupLayersTexture() the next step before deleting a texture is to check that the texture does not have an owner -- but by then the texture could have been marked as not busy, and removed its owner, letting TilesManager destroying it. bug:3472320 Change-Id: I3bcf169b30dfacba1773d3b79a3c0d205bf3cbdb
* Implement partial screen invalidationsNicolas Roard2011-03-169-28/+120
| | | | | | bug:3461349 Change-Id: Id654d176c58027c67be7cb604b87c0ec68984525
* Merge "Fix crash in WebCore::GlyphPageTreeNode::getChild" into honeycomb-mr1Russell Brenner2011-03-161-46/+95
|\
| * Fix crash in WebCore::GlyphPageTreeNode::getChildRussell Brenner2011-03-161-46/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using existing Skia APIs, FontCache::createFontPlatformData can detect when the retrieved font is the Skia default and will reject that choice, allowing WebCore to try the next font on the CSS fallback list. If the requested family is a generic family, e.g. "serif" or "monotype", the Skia default will be accepted. A prior attempt at this fix was not properly handling bold and italic stylings, which could eventually lead to dangling references to freed font data used for layout while custom fonts were loading, causing segfaults in getChild and elsewhere during page rendering. Bug: 3469204 Bug: 2720133 Change-Id: I3a9e746e18fd27848d0c4b9e1232392df33254a6
* | For first layout, reset current textures and update base layer.Shimeng (Simon) Wang2011-03-162-3/+8
| | | | | | | | | | issue: 4094300 Change-Id: If8e58daa621e01ac372f2111ebde522a6f90b2e5
* | Merge "Disable the use of EGL fences for synchronization." into honeycomb-mr1Derek Sollenberger2011-03-161-0/+4
|\ \
| * | Disable the use of EGL fences for synchronization.Derek Sollenberger2011-03-161-0/+4
| |/ | | | | | | | | bug: 4098273 Change-Id: Iaf7eaa13b9d4410dfb984af0e4a83dadedb09648
* | More improvements to video player controls.Leon Scroggins2011-03-161-1/+2
|/ | | | | | | | | | | | | | | Bug:4080127 Inset the track by half the width of the thumb so the thumb travels along the entire length of it. Make the track narrower vertically, and align it with the center of the thumb drawing. Draw the portion of the track that has already been covered with a different asset. Change-Id: I37acedc8e8b75bab59fcac7e075c59d70550795c
* Merge "Enable synchronization with fencing." into honeycomb-mr1Derek Sollenberger2011-03-151-3/+0
|\
| * Enable synchronization with fencing.Derek Sollenberger2011-03-151-3/+0
| | | | | | | | | | | | | | | | | | We currently rely on the fact that nvidia serializes glFlush calls to ensure synchronization, but we should be using fences to handle this synchronization step. bug: 4098273 Change-Id: I13c4790434dea07d9da68b8ebebbba15b1e085a5
* | Merge "Fix layers repaint synchronisation issues" into honeycomb-mr1Nicolas Roard2011-03-156-27/+103
|\ \
| * | Fix layers repaint synchronisation issuesNicolas Roard2011-03-146-27/+103
| |/ | | | | | | | | bug:4079662 bug:3469243 Change-Id: I2538e33c97e3cf8a937bc310847298b68669a24f
* | Fix scrolling on sites hosting content inside a single <frame>Ben Murdoch2011-03-152-12/+7
|/ | | | | | | | | | | | Force a layout of the frameview when we detect that a frames content post flattening is wider than the original frame. Also force a relayout of the frame as necessary to sync the correct dimensions (i.e. when navigation occurs inside the frame) Bug:4051085 Change-Id: Ib2543601a71b6931bb3ec4bfda75a2cac26bb2a1
* Improving HTML5 video controlsNicolas Roard2011-03-146-30/+59
| | | | | | | | | - correct support for the fullscreen button - change the controls to be 48px high - auto-hide the controls, touching the video makes them appear again bug:2126902 Change-Id: Idd2b720034de3d5d432c9ea62d9045934c46f6c1
* Merge "Custom font was appearing all white in Books" into honeycomb-mr1Russell Brenner2011-03-142-12/+2
|\
| * Custom font was appearing all white in BooksRussell Brenner2011-03-142-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a strategic rollback of a previous change: https://android-git.corp.google.com/g/#change,99977 Although that change fixes a browser crash, it introduces a problematic UI situation in Books. The browser crash is rare, but keeps some web pages from being usable. Nonetheless, upon failure, the browser will shutdown and can be relaunched for other sites. Another potential point of failure for this crash has been identified, with a solution to follow in a separate CL. From discussion with Bart it was decided that the rare browser crash is less problematic than the usability problem incurred with a book containing blank pages, and so, regardless of whether or not the resulting browser crash is fixed, this change needs to be rolled back. With any luck, however, both issues will be fixed. (See also http://b/3469204.) Bug: 4064041 Change-Id: I3416f9e9ae728a99dd84d3df8b0f8d0c0876dbad
* | Merge "b/3392594 keep the remaining touch points when one is ended." into ↵Huahui Wu2011-03-142-3/+3
|\ \ | | | | | | | | | honeycomb-mr1
| * | b/3392594 keep the remaining touch points when one is ended.Huahui Wu2011-03-142-3/+3
| |/ | | | | | | | | | | | | This is native side code for b/3392594, which takes the action index from java side, and set the touch point state accordingly. Change-Id: I894bcfc25f761725a5f37317a8fadffbba68b6df
* | am bcc07753: Cherry-pick change Ibaa52a6b (webkit security patch)Bart Sears2011-03-131-2/+6
|\ \ | | | | | | | | | | | | * commit 'bcc077531734eca7eb8663a76ab8d4c15721672c': Cherry-pick change Ibaa52a6b (webkit security patch)
| * | Cherry-pick change Ibaa52a6b (webkit security patch)Bart Sears2011-03-131-2/+6
| | | | | | | | | | | | | | | | | | | | | Apply webit security patch bug: 4089100 Change-Id: I80069fe6ec12a03fce88128be0ce90fee410911c
| * | 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-199-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
| * | Merge "Do not merge: Cherry-pick 2nd part of GL_BLEND CL from master" into ↵Nicolas Roard2011-02-194-1/+8
| |\ \ | | | | | | | | | | | | honeycomb
| | * | Do not merge: Cherry-pick 2nd part of GL_BLEND CL from masterDerek Sollenberger2011-02-184-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-181-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-185-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-182-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-181-1/+3
| | | | | | | | | | | | | | | bug:3436987 Change-Id: Ibf42685ee07c6d0dd8a1a2b9c8b57da7f2a422db
| * | Fix potential bug in setMaxTextureCount and limitNicolas Roard2011-02-181-6/+14
| | | | | | | | | | | | | | | | | | the number of textures to 154 Change-Id: I39409e938b6b4bff23d6f1f0dc44648d63443f59
| * | Set correct max texture allocations.Shimeng (Simon) Wang2011-02-183-5/+10
| | | | | | | | | | | | | | | | | | This fixes core dump or dead lock in GL code when rotating screen. Change-Id: Ia7bfa71125f1d24158084b6192d805b5b08b60f8
* | | Merge "Improve HTML5 audio/video controls" into honeycomb-mr1Nicolas Roard2011-03-111-10/+34
|\ \ \
| * | | Improve HTML5 audio/video controlsNicolas Roard2011-03-111-10/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Only allow translucent controls for video... bug:2126902 Change-Id: I95fbf1fc736391a3adec3930119531684a1a9082
* | | | Fix a crash caused by the wrong destruction handlingTeng-Hui Zhu2011-03-112-3/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | The VideoLayer is ref counted, so unref at the destrutor is the right way. Don't do a deletion. bug: 4072630 Change-Id: I1da4ec138ef119b1d8dd7700fef36bab4df55064
* | | HTML5 Video improvementsNicolas Roard2011-03-112-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | - remove the seek buttons on the control bar - make the control bar translucent - add a fullscreen button passing the layer id to the java side bug:2126902 Change-Id: Id9638f6b01f968839eaf4b0bd8cf1603957753af
* | | increase the memory cap for bitmapsCary Clark2011-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Increasing this size from 8 megs to 32 megs allows more RAM to be used before the image is sampled down. bug:3421165 Change-Id: I73047009522d6e80d1adc95cd12d763307ab1980
* | | Fix for display glitches.Nicolas Roard2011-03-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | We were trying to update the texture with a bitmap larger than it. GL did not like this, so the texture was not updated at all... bug:4078436 Change-Id: I180f4da6991a3db988169d7abd06cc08d5b69a32
* | | webkit support for inline videoTeng-Hui Zhu2011-03-105-0/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | Basically we provide a Video Layer for the inline video. The java side change is at 101311. bug:3506407,2126902 Change-Id: I9cc1b910f502595d6be7ac81e448343ca6ca9100
* | | Merge "Fix CSS animations" into honeycomb-mr1Nicolas Roard2011-03-105-129/+153
|\ \ \
| * | | Fix CSS animationsNicolas Roard2011-03-105-129/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - we were overriding existing animations. - implement correctly the removeAnimations functions - refactor AndroidAnimation (share common code) - fix how we use the timing functions for the animations - implements timing functions per keyframes bug:2453890 Change-Id: I367d708338c270171eeaacc7e2fb3729eb78c444
* | | | Fix a crash with column layout.Patrick Scott2011-03-101-0/+6
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a layer is paginated and has a positioned grandparent, paintPaginatedChildLayer might have an empty columnLayers vector. The logic in updatePagination has a similar check. Bug filed against webkit.org. Bug: 4026385 Change-Id: I9c7de5ccab171148d26cdd187efb97d13c033ae5
* | | Merge "Fix for gmail messages not showing after the first one. We were not ↵Nicolas Roard2011-03-091-0/+3
|\ \ \ | | | | | | | | | | | | resetting the unusable state (set by the clearView() function) when receiving new content..." into honeycomb-mr1
| * | | Fix for gmail messages not showing after the first one.Nicolas Roard2011-03-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were not resetting the unusable state (set by the clearView() function) when receiving new content... bug:4080072 Change-Id: Ie1110b511392b0a7fd21bbc23aa1b824eb8a78ad
* | | | Clear DOM storage when clearing other cached data.Ben Murdoch2011-03-099-1/+156
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | Empty out DOM local and session storage in addition to HTML5 database and app cache when we get a request from java to delete cached data. Bug: 2117649 Change-Id: I5b6ee075d2a8fb44ee373ad4462a33623c9c2460
* | | cherry-pick this change from master (should be in honeycomb-mr1) (please ↵Ed Heyl2011-03-082-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't merge) Avoid Android modifications to JavaNPObjectV8.cpp/h https://android-git.corp.google.com/g/40387 fixed a long-standing bug to avoid leaking references to injected Java objects. However, it did so by making changes to JavaNPObjectV8.cpp/h which were never upstreamed. This change avoids the need for these changes. This change also avoids the use of a local PassRefPtr, which was incorrectly introduced in https://android-git.corp.google.com/g/36204. Change-Id: Ia1e3245a953826bbfd8e085f7ed1b1341228255d
* | | Fix CSS animation bugsNicolas Roard2011-03-083-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - we were replacing animations by new ones regardless of their types, so when two anims (i.e. transform and opacity) where set on the same layer, we'd only run the last one - the selection of the keys for keyframes animations was buggy bug:2453890 Change-Id: I03da3f6c2ba1f5bf778e099e52d71d2f5e67d27e