summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderLayer.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix hit testing inside layers.Patrick Scott2011-01-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | A new webkit merge added a couple methods to ClipRects that were not copying the hit test rect. This make the clip rect empty during hit testing which was clipping out all nodes in scrollable layers. When tracking a layer, use the foreground layer if present as it will contain the right nodes. When looking for a scrollable layer, traverse the children in reverse drawing order to find the top-most visible layer. This allows orkut.com to scroll. Remove a couple of casts and headers. Use relaxAdoptionRequirement() to avoid a RefCounted assert. Swap the texture owner hash set during deletion as release can modify the iterator concurrently. Update the scrollbars (even though we don't have any) when scrolling a layer to keep the scroll position of the scrollbar in sync with the layer. Rewrite a little bit of PluginPackageAndroid. m_module may be non-null during load. If it is null, load the library and store it in m_module. Follow the regular path assuming m_module is not null. Bug: 3373179 Change-Id: If07ec9735b30c1e98e363667378a8d253a841a45
* Scroll Dimension need re-computed when size changed.Teng-Hui Zhu2011-01-191-1/+6
| | | | | | | | The scroll size will be used for layout and should respect the layer's size change. Otherwise all the position info can be wrong. bug:3362888 Change-Id: I553ba01ca7e5960c7ec706d56710495fc5514db1
* Prevent a crash by caching overflow scrolling.Patrick Scott2011-01-111-1/+4
| | | | | | | | | Use adoptRef when creating a new bridge item. Use toRenderBoxModelObject instead of toRenderBox as RenderInlines have layers. Bug: 3321493 Change-Id: I4283681eba961aedaa8d80bfdfb3d1a468aab1ac
* Merge WebKit at Chromium 9.0.597.55: trivial merge by gitBen Murdoch2011-01-071-1/+3
| | | | Change-Id: I2c6f2ebc4431d15ac82b5b1a9f08159e1731bc57
* Merge WebKit at r72805: Initial merge by GitSteve Block2011-01-061-24/+9
| | | | | | | Note that this is a backwards merge from Chromium release 9.0.600.0 to 9.0.597.0, to align with the Chromium 9 stable release branch. Change-Id: I5d2bb4e8cee9d39ae8485abf48bdb55ecf8b3790
* Merge WebKit at r73109: Initial merge by git.Shimeng (Simon) Wang2010-12-221-9/+24
| | | | Change-Id: I61f1a66d9642e3d8405d3ac6ccab2a53421c75d8
* Fix hit testing inside layers.Patrick Scott2010-12-131-0/+16
| | | | | | | | | | | | | | | | | | * Prevent asking for a sync in GraphicsLayerAndroid if some property has not changed. * Remove scrolling logic from LayerAndroid and create a subclass for scrollable layers. * Report the scrolling limits to the layer in order to scroll iframes (not turned on) and to avoid computing them each time the layer is scrolled. * Change the foreground rect calculations to better match the non-overflow case. * During hit testing, intersect the hitTestClip with the foreground and background to prevent false positives in the layer. * Prepare for iframe scrolling by adding code to trigger compositing for iframes. This currently works great except for navigation so it disabled for now. Bug: 3258631 Change-Id: I0da2d8dbe25376c6aa4f485c9350048c82c6f563
* Rewrite scrollable layers using multiple layers.Patrick Scott2010-12-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | Remove PlatformBridge::updateLayers and instead call layersDraw from ChromeClientAndroid during a requested sync. Instead of LayerAndroid having knowledge of scrolling pictures, use multiple layers (background, mask, foreground). Update navigation to use the new structure. Always record nodes in absolute, unscrolled coordinates. Do not track layers unless the node has a composited layer and a last child. Check for composited parents when adding to tracked layers as well. TODO: * developer.android.com doesn't completely work with navigation due to some nodes being clipped out. * BaseLayerAndroid needs to be able to operate with a matrix other than identity. * nested fixed position elements do not draw correctly. * nested overflow layers haven't been tested. Change-Id: I0e2bd37612341e8884d68153ab36194cb2dc1eeb
* Merge WebKit at r72274: Initial merge by git.Russell Brenner2010-12-021-1/+2
| | | | Change-Id: Ie51f0b4a16da82942bd516dce59cfb79ebbe25fb
* Merge Webkit at r70949: Initial merge by git.John Reck2010-11-091-5/+0
| | | | Change-Id: I77b8645c083b5d0da8dba73ed01d4014aab9848e
* Merge WebKit at r67178 : Initial merge by git.Iain Merrick2010-09-161-0/+2
| | | | Change-Id: I57e01163b6866cb029cdadf405a0394a3918bc18
* Merge WebKit at r66666 : Initial merge by git.Kristian Monsen2010-09-111-1/+1
| | | | Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f
* Merge WebKit at r66079 : Initial merge by gitSteve Block2010-09-021-2/+0
| | | | Change-Id: Ie2e1440fb9d487d24e52c247342c076fecaecac7
* Update navigation in scrollable layers.Patrick Scott2010-08-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Set the foreground clip after drawing. Use the absolute bounds to compute the local foreground clip in order to compensate for any outline. Consolidate the check for overflow scrolling into RenderLayer. Request a compositing update after computing the scroll dimensions. Only change the foregroundRect of the layer during paint so that the outline rect (and background/layerBounds) are correct. Draw the outline as part of the background phase. During painting of a layer, scroll to (0,0), paint, then scroll back. When clicking on an element in a layer, scroll to the position of the element but do not scroll back. This makes text input fields visible to the tree and will properly update when typing. Record the original scroll position of layers in order to offset the bounds of nodes when checking the nav cache. Make sure to reset all cached layers during setRootLayer. Otherwise we were reaching into layers from the wrong thread. Change-Id: Id9827ec461989b0869a8252d4d2563ecd12c5fac
* Merge WebKit at r62496: Initial merge by gitSteve Block2010-07-091-4/+4
| | | | Change-Id: Ie3da0770eca22a70a632e3571f31cfabc80facb2
* Merge WebKit at r61871: Initial merge by git.Kristian Monsen2010-07-021-0/+1
| | | | Change-Id: I6cff43abca9cc4782e088a469ad4f03f166a65d5
* Merge WebKit at r60074: Initial merge by gitSteve Block2010-05-271-4/+33
| | | | Change-Id: I18a2dc5439e36c928351ea829d8fb4e39b062fc7
* Merge webkit.org at r58033 : Initial merge by gitSteve Block2010-05-111-3/+5
| | | | Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
* Refactor how we set up the layers hierarchy when using fixedNicolas Roard2010-03-171-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Merge webkit.org at r54127 : Initial merge by gitSteve Block2010-02-041-0/+7
| | | | Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82
* Merge webkit.org at r51976 : Initial merge by git.Steve Block2009-12-171-8/+19
| | | | Change-Id: Ib0e7e2f0fb4bee5a186610272edf3186f0986b43
* Merge webkit.org at r50258 : Initial merge by git.Steve Block2009-11-101-2/+4
| | | | Change-Id: I1a9e1dc4ed654b69174ad52a4f031a07240f37b0
* Merge webkit.org at R49305 : Automatic merge by git.Steve Block2009-10-201-0/+5
| | | | Change-Id: I8968561bc1bfd72b8923b7118d3728579c6dbcc7
* Revert "Merge WebKit r47420"Andrei Popescu2009-08-191-4/+0
| | | | This reverts commit d227fc870c7a697500a3c900c31baf05fb9a8524.
* Merge WebKit r47420Ben Murdoch2009-08-181-0/+4
|
* Merge in WebKit r47029.Ben Murdoch2009-08-111-9/+37
|
* Get WebKit r44544.Feng Qian2009-06-171-1/+2
|
* AI 145796: Land the WebKit merge @r42026.Feng Qian2009-04-101-58/+154
| | | | Automated import of CL 145796
* auto import from //depot/cupcake/@136594The Android Open Source Project2009-03-051-29/+83
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+468
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-468/+0
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-60/+50
|
* external/webkit r30707Upstream1970-01-121-0/+478