summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderLayerCompositor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge Webkit at r58956: Initial merge by Git.Ben Murdoch2010-05-141-31/+119
| | | | Change-Id: I1d9fb60ea2c3f2ddc04c17a871acdb39353be228
* Merge webkit.org at r58033 : Resolve merge conflictsSteve Block2010-05-111-23/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - CanvasRenderingContext2D.cpp - Take upstream, conflict due to cherry-pick of security fix, see 285b474734e82bc42b25e48ea4824f8050badb4f - CanvasSurface.cpp, HTMLCanvasElement.cpp - convertLogicalToDevice has been refactored. See http://trac.webkit.org/changeset/56447 - Chrome.cpp/h, ChromeClient.h - Take upstream, conflict due to cherry-pick of cancelling Geolocation permission request - Document.h - Take both, conflicts due to ANDROID_META_SUPPORT - DragImage.h - Take both, conflict due to Android addition - EmptyClients.h - Take upstream, conflicts due to Geo cancel permission request - EventHandler.cpp - Take both, conflicts due to recently upstreamed touch events and ANDROID_PLUGINS - EventHandler.cpp - Keep ours, conflict due to touch event bug fixes not yet upstreamed. See 7f034a1734d634dd1fdb3b64817d5828b5e46922 and 73adc26dba4be1d9da34a7f0907cb7b12f10c909 - FileSystemPOSIX - Take both, conflict due to ANDROID_PLUGINS - FrameLoader.cpp - Take both, conflct due to ANDROID_BLOCK_NETWORK_IMAGE - FrameView.cpp - Take both, conflict due to Android frame flattening - Geolocation.h - Merge conflicts due to Android-specific changes - Geolocation.cpp - Take upstream, conflict due to addition of Geolocation maximumAge - GeolocationPositionCache.cpp - Take upstream, conflict due to addition of ENABLE_GEOLOCATION guards - Gradient.h - Take both, conflict due to Android addition - HTMLLinkElement.cpp, DocLoader.cpp - Take both, conflict due to new link prefetching not yet upstreamed. See f91ac8eab3399adb5325701bebe0590a77e49df7 - HTMLMetaElement.cpp - Take both, conflict due to recently upstreamed meta element - JavaInstanceJSC.cpp - Take both, conflict due to Android additional logging - MediaPlayer.cpp/h - Take both, conflict due to Android-specific change - PlatformTouchPoint.h - Take upstream, conflict due to recently upstreamed unsigned stuff - RenderFrame.cpp, RenderFrameSet.h - Take both, conflict due to Android frameset flattening - RenderLayerCompositor.cpp - Take both, conflicts due to Android layers code - Settings.cpp/h - Conflict due to ANDROID_PLUGINS - TextInputController.h - Take upstream, git got confused - V8DOMWindowShell.cpp - Take upstream, conflict due to cherry-pick of method to add V8 bindings for page cache, see 8fecd9c9a62aa89fb44ed3142ba583dc7b8cbe29 - V8DOMWraper.cpp - Take upstream, conflict due to recently upstreamed WORKERS guards - WebCore.xcodeproj - Take upstream, conflict due to addition of Geolocation maximumAge - Widget.h - Take both, conflict due to Android addition - jsc/JNIUtilityPrivate.cpp - Take upstream, conflict due to switching from bzero to memset - mac/WebCoreSupport/WebChromeCient.h - Take upstream, conflicts due to Geo cancel permission request Change-Id: I1b75eac220faddf2f84c7fd4fd3436a5e07edf64
* Merge webkit.org at r58033 : Initial merge by gitSteve Block2010-05-111-14/+98
| | | | Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
* Revert previous CL due to side-effect.Nicolas Roard2010-04-151-10/+3
| | | | | | Bug:2600918 Change-Id: I72189bd2edf725b4f0db426d2735590e846dcba4
* resolved conflicts for merge of 541a0a9a to masterNicolas Roard2010-03-311-15/+42
|\ | | | | | | Change-Id: Ic2abe87f52744e31098112505bdd14906600fc14
| * Only allows composited layers if not in iframesNicolas Roard2010-03-301-15/+42
| | | | | | | | | | | | Bug:2498776 and fix Bug:2544493 Change-Id: I0041db690cbe7d80e8e092626a95e882a5afbe03
* | Add checks to consider a fixed layer for compositing only if itsNicolas Roard2010-03-261-4/+11
|/ | | | | | | | dimensions are actually more than zero. Fix Bug:2545160 Change-Id: I08ca0c1f5a6729760dbf62084a96faee76d124f9
* Only enable composited fixed elements for mobile sites.Nicolas Roard2010-03-221-1/+10
| | | | | | | | We can consider a website as being a 'mobile' site if: - the viewport width is either undefined (-1) or equal to device-width (0) - no scaling is allowed Change-Id: Id88257278312077a170eb10d9f666c46bad135b6
* Add back a missing ifdefNicolas Roard2010-03-191-0/+2
| | | | Change-Id: Ib0f0cf689e95b7333045df53ca645d34a0db21a4
* Fix click issues when using fixed elements. This CL also fix the positioningNicolas Roard2010-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | of a fixed layer when no position is defined, and also only use the screen to position only the fixed elements, not other types of positioned elements. Bug:2521087 The click issues were due to not returning the fixed element when looking for a parent stackingContext in RenderLayer::stackingContext(). This resulted in incorrect coordinates for the layers children of a fixed layer, that we then had to recompute in RenderLayer::convertToLayerCoords(), but this in turns was invaliding hit test detection... Fixed elements are now positioned relative to the screen instead of the virtual viewport (ANDROID_FIXED_ELEMENTS); but this was applying indiscriminantly to all positioned elements, absolute elements included. The CL modify RenderBox::containingBlockWidthForPositioned() and RenderBox::containingBlockHeightForPositioned() to only do this for fixed elements. Finally, fixed layers were wrongly positioned if the positions were not fully set (e.g. only setting top:0 but no left or right). The change to LayerAndroid::updateFixedLayersPositions() fixes this. Change-Id: I07a179dd631a2bc1a313e33ffcf69ef388ecb7ca
* Refactor how we set up the layers hierarchy when using fixedNicolas Roard2010-03-171-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | composited layers, and fix the z-index position. Bug:2497910 Bug:2450006 We add a new COMPOSITED_FIXED_ELEMENTS define to isolate the changes in the webkit common code. We previously had a problem where the hierarchy of GraphicsLayer (i.e. the backed surfaces associated to the composited RenderLayer) was not reflecting that layers were children of a fixed layer. The workaround we currently have is not fully satisfactory, due to the way we draw layers on screen (in some cases layers were wrongly translated, see Bug:2497910). Instead, modifying the webkit common code simplify things a lot, and makes the patch more likely to be upstreamed to webkit, as it's now a reasonably well-delimited feature (use composited layers for fixed elements). What we do now is to consider fixed elements as a stacking context, which makes all layers children of such elements children too in the GraphicsLayer hierarchy, and modifying the offset of those children accordingly (in RenderLayer.cpp). In addition, we fixes the z-index bugs we had by signaling that there is a fixed element to its siblings, and turning the siblings as composited layers as well (so that the ordering works fully UI-side). Change-Id: I735c6c14d955ef54653f0053187d3495bef1f332
* Fix bug 'Children of fixed elements do not always remain fixed themselves'Nicolas Roard2010-03-091-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was twofold: - webkit didn't create composited layers of the children div unless they were intersecting with the fixed layer - the children divs layers are siblings, not children of the fixed layer The solution is to: 1/ mark layers as needed to be composited if their ancestor is a fixed element (in RenderLayerCompositor) 2/ as the GraphicsLayer/LayerAndroid hierarchy is based on the RenderLayer hierarchy (z-order..) and not the display hierarchy, we need to a way of updating the position of the contained layers when a fixed layer move. We do that by: - marking layers contained in a fixed layer as being linked to the fixed layer (GraphicsLayerAndroid::syncFixedDescendants), and set the offset between the layer and the fixed layer. - when pushing the layers tree to the UI side, we ensure that such layers are linked to their corresponding fixed layer (LayerAndroid::ensureFixedLayersForDescendants) - when we draw, we do a first pass to update the fixed layers position (LayerAndroid::updateFixedLayersPositions) then update the rest of the layers (LayerAndroid::updatePositions). The layers that are linked to the fixed layers will then update their position relative to it, using the original offset between the fixed layer and the layer. Bug:2470701 Change-Id: I512966df94de6a5f84aff335c5d09b3f027bc2c3
* Merge webkit.org at r54127 : Update RenderLayerCompositor.cpp to account for ↵Steve Block2010-02-041-11/+3
| | | | | | | | syntax change. See http://trac.webkit.org/changeset/53110 Change-Id: Ib82ce428fc761a2791a7ce1fc0de486b6903a43a
* Merge webkit.org at r54127 : Initial merge by gitSteve Block2010-02-041-24/+95
| | | | Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82
* resolved conflicts for merge of 870689c8Nicolas Roard2010-01-041-1/+4
|
* Merge webkit.org at r51976 : Initial merge by git.Steve Block2009-12-171-36/+94
| | | | Change-Id: Ib0e7e2f0fb4bee5a186610272edf3186f0986b43
* Merge webkit.org at R49305 : Automatic merge by git.Steve Block2009-10-201-24/+45
| | | | Change-Id: I8968561bc1bfd72b8923b7118d3728579c6dbcc7
* Revert "Merge WebKit r47420"Andrei Popescu2009-08-191-13/+11
| | | | This reverts commit d227fc870c7a697500a3c900c31baf05fb9a8524.
* Merge WebKit r47420Ben Murdoch2009-08-181-11/+13
|
* Merge in WebKit r47029.Ben Murdoch2009-08-111-215/+376
|
* Get WebKit r44544.Feng Qian2009-06-171-45/+69
|
* AI 145796: Land the WebKit merge @r42026.Feng Qian2009-04-101-0/+803
Automated import of CL 145796