summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering
Commit message (Collapse)AuthorAgeFilesLines
* Improve the fixed element position calculationTeng-Hui Zhu2011-02-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | In the previous WAR, we get the screen size from UI thread at every draw call. That is awkward. Now with Java side fix, we can get the screen size from setSize call now. However, forcing a full re-layout seems like an expensive operation. What we need to make the webkit to know the update can be done by just updating the fixed position elements only. So I have done these: 1. Take away the WAR by forcing the update at the convertToLayerCoord. 2. Get rid of the UI thread stuff used to tell WebViewCore the screen size. And get rid of the redundant variables, too. 3. update the fixed element at the setSize time. BTW, I also rename the PlatformBridge functions name. bug: 3397602 Change-Id: I0c422ecdb570de89aecb6e568d5067acf18ecfc6
* Revert "A temp WAR for fixed element position update"Teng-Hui Zhu2011-02-081-8/+0
| | | | This reverts commit 968791c5f1c465f0633c618fda279246ba213fdf.
* am 43f07e98: am a046a139: Merge "Fix crash in RenderLayer due to null ↵Ben Murdoch2011-02-071-1/+2
|\ | | | | | | | | | | | | pointer" into honeycomb * commit '43f07e986c22b72e93c01c715d00755bb30f6e74': Fix crash in RenderLayer due to null pointer
| * Fix crash in RenderLayer due to null pointerBen Murdoch2011-02-071-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
* | Add brackets which are missingTeng-Hui Zhu2011-02-041-3/+7
| | | | | | | | | | bug: 3407198 Change-Id: I9902f4adf18ea181eaff284444313f47883ed7be
* | Use ListBoxPopupMenuClient for listboxes.Leon Scroggins2011-02-032-2/+2
|/ | | | | | | | Bug:2754767 Enables us to remove some layering violations. Change-Id: Iea184c7946bca9d840c708918f545a9d9b436254
* A temp WAR for fixed element position updateTeng-Hui Zhu2011-01-311-0/+8
| | | | | | bug:3397602 Change-Id: I7c6c8ac8bd2c785b02cd9446730c1ca37fc71fce
* 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
* | Use fixedClipRect when modifying clipRect for fixed elements.Leon Scroggins2011-01-311-1/+2
| | | | | | | | | | Bug:3408368 Change-Id: I21a61bd409b635e5779408f43b6265d640476c03
* | 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 build breakTeng-Hui Zhu2011-01-301-0/+1
| | | | Change-Id: I8aeef50c7b73665ec67ffeeb2194309a58de1e26
* Fixed element positioning fixTeng-Hui Zhu2011-01-301-0/+14
| | | | | | | | | | | | | | | | | | This is for fixed bottom/ right, in the zooming case. The width and height in webkit should be calculated as the visibleRect we use for drawing. And that is document coordinate for visible size. Basically it is send the Rect info from webView to webViewCore. Then at RenderBox, it will go through the PlatformBridge to pick the info up. Notice that the touch is not 100% working yet, the layout call in webkit can have a early return such that fixed element layer didn't get update. And a touch/click is not really causing the whole layout update yet. That will be addressed in seperate change though. bug:3404129 Change-Id: I225d41815143a05d540ed32bfc76f823603ca89c
* Be sure to only enable compositing for siblingNicolas Roard2011-01-281-2/+3
| | | | | | | | | layers of a fixed element is actually composited... Fixes the behaviour of the fixed toolbar on news.google.com bug:3375416 Change-Id: I4f959ccf834dad43821f8eb6238bbd5d3b047d7f
* Merge "Enable layers for fixed elements only for mobile websites" into honeycombDave Burke2011-01-281-1/+15
|\
| * Enable layers for fixed elements only for mobile websitesNicolas Roard2011-01-271-1/+15
| | | | | | | | Change-Id: Ia3b626a1e8608d089ad67010e3e385b428456f95
* | Merge "Fix bug 3299946 - Holo-fy focus and selection color scheme." into ↵Adam Powell2011-01-261-4/+4
|\ \ | |/ |/| | | honeycomb
| * Fix bug 3299946 - Holo-fy focus and selection color scheme.Adam Powell2011-01-261-4/+4
| | | | | | | | | | | | | | | | * Honeycomb-themed selection ring * Match text selection color scheme to framework assets Change-Id: I8a4817c7998d7009f1b00d6ad548d54545de0c78
* | 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
* Auto fixed element positioning fixTeng-Hui Zhu2011-01-251-27/+0
| | | | | | | | Webkit is using the transformation to compute the fixed element position. In order to simulate that, we need the Render Layer's position info. bug:3368857 Change-Id: If15c43f76bd528b2e67ac5035c8ba4a0c803e812
* Scroll Dimension need re-computed when size changed.Teng-Hui Zhu2011-01-192-1/+26
| | | | | | | | 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
* Fix some sites not responding.Patrick Scott2011-01-181-0/+7
| | | | | | | | | | | | Enter compositing for iframes after all layout tasks have completed. Remember the state of overflow scroll similar to RenderLayer so that it doesn't change while updating the compositing state. Return false in requiresAcceleratedCompositing if the iframe is hidden. I verified that this fails on Safari and have submitted a bug. Bug: 3325187 Change-Id: I20a9e1a595d14518f4c7a3e01fc1c4fa9035262c
* Set the local flag when compositing a fixed element.Patrick Scott2011-01-181-5/+4
| | | | | | This fixes an assert and ensures that the compositor is in the correct state. Change-Id: I7556ed998821bf2e09d89b79935e876869a584c6
* Merge WebKit at Chromium 9.0.597.69: Trivial merge by Git.Ben Murdoch2011-01-164-15/+44
| | | | | | http://svn.webkit.org/repository/webkit/branches/chromium/597/WebCore@75681 Change-Id: Ibe552cf7af31f74b81e337eadf3d3b73a53daf60
* Merge "Disable rounding hacks." into honeycombLeon Scroggins2011-01-123-0/+80
|\
| * Disable rounding hacks.Leon Scroggins2011-01-113-0/+80
| | | | | | | | | | Bug:3085564 Change-Id: Ie570cbac6a445a337c72466598d5550c84d803ad
* | Prevent a crash by caching overflow scrolling.Patrick Scott2011-01-112-21/+13
|/ | | | | | | | | Use adoptRef when creating a new bridge item. Use toRenderBoxModelObject instead of toRenderBox as RenderInlines have layers. Bug: 3321493 Change-Id: I4283681eba961aedaa8d80bfdfb3d1a468aab1ac
* Enable fixed layers for all websitesNicolas Roard2011-01-102-18/+6
| | | | | bug:2797422 Change-Id: Ide0867a06d61a7ee92af751ae824fe6c3b23c41f
* Merge WebKit at Chromium 9.0.597.55: RenderFrame docWidth method changedBen Murdoch2011-01-071-3/+4
| | | | | | See http://trac.webkit.org/changeset/72852 Change-Id: I8ab3171330e475bec7eade78b35b11304f74579a
* Merge WebKit at Chromium 9.0.597.55: trivial merge by gitBen Murdoch2011-01-0719-153/+289
| | | | Change-Id: I2c6f2ebc4431d15ac82b5b1a9f08159e1731bc57
* Don't reflow if a RenderBlock has background color or image.Shimeng (Simon) Wang2011-01-061-1/+1
| | | | | issue: 3313826 Change-Id: Ic9c87880eb6f41f72319f72123cc21cc2fe623f0
* Merge WebKit at r72805: Update call sites to RenderFrame::docWidth()/docHeight()Steve Block2011-01-062-12/+4
| | | | | | | | | | | | | This is effectively a revert of "Merge Webkit at r73109: render frame docWidth/docHeight method changed." See http://trac.webkit.org/changeset/72852 and http://trac.webkit.org/changeset/73063 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: I81915808439847dce87beefdd527f77962e074b5
* Merge WebKit at r72805: Undo previous conflict resolution in ↵Steve Block2011-01-061-1/+1
| | | | | | | | | | | | | | RenderSVGResourceSolidColor.cpp This is effectively a partial revert of "Merge Webkit at r73109: Fix conflicts" See http://trac.webkit.org/changeset/72926 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: I956ac20ac4985ed69921a8efad4a351ba0034e84
* Merge WebKit at r72805: Use Node::parent() rather than Node::parentNode()Steve Block2011-01-061-2/+2
| | | | | | | | | | | | | | This is a revert of "Merge WebKit at r73109: use parentNode method." See http://trac.webkit.org/changeset/72825 This reverts commit 23aa22bb0c8bf0d91c99d21c5dca4c64a4825a87. 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: I5ba4d0976c3b87b32326fdc8e2eb1cffdd7541cf
* Merge WebKit at r72805: Initial merge by GitSteve Block2011-01-0645-249/+141
| | | | | | | 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
* Remove the div element check.Patrick Scott2011-01-041-1/+1
| | | | | | | This allows other elements to specify overflow. Bug: 3310376 Change-Id: I039b07aebeefa9184b56950972222ffea1ed09c7
* Merge Webkit at r73109: render frame docWidth/docHeight method changed.Shimeng (Simon) Wang2010-12-222-10/+5
| | | | | | | Change-Id: I492d321eea76f2d2c5278e44ae9c2fe37b5834a6 See: http://trac.webkit.org/changeset/72852 http://trac.webkit.org/changeset/73063
* Merge Webkit at r73109: Fix conflictsShimeng (Simon) Wang2010-12-221-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 1. WebCore/Android.jscbindings.mk http://trac.webkit.org/changeset/72590 http://trac.webkit.org/changeset/72344 2. WebCore/WebCore.vcproj/WebCore.vcproj too many changes between 72274 and 73109 http://trac.webkit.org/log/trunk/WebCore/WebCore.vcproj/WebCore.vcproj also due to Android change. https://android-git.corp.google.com/g/#change,37374 3. WebCore/platform/android/PlatformBridge.h http://trac.webkit.org/changeset/72631 4. WebCore/rendering/RenderSVGResourceSolidColor.cpp http://trac.webkit.org/changeset/72926 our code is not upstreamed 5. WebCore/rendering/RenderView.h http://trac.webkit.org/changeset/72852 http://trac.webkit.org/changeset/73063 Change-Id: Id7a1dbdfef6327b4fe08c9884122bf9decd039ca
* Merge WebKit at r73109: use parentNode method.Shimeng (Simon) Wang2010-12-221-2/+2
| | | | | | | | This is because of: http://trac.webkit.org/changeset/72825/trunk/WebCore/dom/Node.h which makes the parent method private. Change-Id: I706c4cbc4e69bee990f9e138aeb7ad2ed2a3d42f
* Merge WebKit at r73109: Initial merge by git.Shimeng (Simon) Wang2010-12-2263-209/+534
| | | | Change-Id: I61f1a66d9642e3d8405d3ac6ccab2a53421c75d8
* Fix iframe scrolling.Patrick Scott2010-12-212-17/+4
| | | | | | | | | | | | | Do the same check everywhere for enabling scrolling in an iframe. Make sure the owner renderer is a RenderIFrame to avoid trying to composite an embedded object. Also check if the owner layer has visible content since some iframes are marked hidden. Dirty the parent normal flow list when turning on overflow scrolling for divs. Bug: 3280851 Bug: 3290276 Change-Id: I8d0a49324e06426c15abaf552874a32d6e2ee11a
* Turn off iframe compositing until it is more stable.Patrick Scott2010-12-171-1/+1
| | | | Change-Id: I2d54918b5910285bf7f1cfb408af8a6b038b65f9
* Re-enable iframe scrolling.Patrick Scott2010-12-151-3/+14
| | | | This reverts commit c7911ffd666a7e73131dfd68919b769086a093e0.
* Revert "Enable iframe scrolling."Guang Zhu2010-12-141-14/+3
| | | | This reverts commit 27dd9e051d0960e985cb677bfc1ce20531ac0456.
* Enable iframe scrolling.Patrick Scott2010-12-131-3/+14
| | | | | | | | | | Turn off iframe expansion and record iframes in a composited layer. Fix navigation by tracking iframe layers if needed. Remove the logic to add focused nodes to the last tracked layer as it is not needed and might add nodes to the wrong layer. Bug: 3219076, 3211666, 3201077, 3194321 Change-Id: Ifc0b83102438255db7e4b62ad260f50ebbdb0e50
* Fix hit testing inside layers.Patrick Scott2010-12-133-6/+34
| | | | | | | | | | | | | | | | | | * 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-034-29/+46
| | | | | | | | | | | | | | | | | | | | | | | 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 r72272: Fix conflicts.Russell Brenner2010-12-022-17/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebCore/Android.v8bindings.mk http://trac.webkit.org/changeset/71802 WebCore/bindings/v8/V8Proxy.cpp http://trac.webkit.org/changeset/71735 WebCore/css/CSSParser.cpp http://trac.webkit.org/changeset/71767 http://trac.webkit.org/changeset/72116 (several APIs purged) WebCore/loader/ResourceLoader.cpp http://trac.webkit.org/changeset/71884 WebCore/platform/graphics/MediaPlayer.cpp http://trac.webkit.org/changeset/72117 WebCore/platform/image-decoders/ImageDecoder.cpp http://trac.webkit.org/changeset/72130 WebCore/rendering/RenderBlockLineLayout.cpp http://trac.webkit.org/changeset/72235 WebCore/rendering/RenderView.cpp http://trac.webkit.org/changeset/71851 Change-Id: If0a3466754b9755c1f4be97bf589f88c48eece0a
* Merge WebKit at r72274: Initial merge by git.Russell Brenner2010-12-0272-618/+991
| | | | Change-Id: Ie51f0b4a16da82942bd516dce59cfb79ebbe25fb
* Merge Webkit at r71558: Fix conflicts.Teng-Hui Zhu2010-11-173-34/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WebCore/loader/FrameLoader.cpp http://trac.webkit.org/changeset/70960 http://trac.webkit.org/changeset/70971 WebCore/css/CSSStyleSelector.cpp http://trac.webkit.org/changeset/71218 WebCore/css/CSSParser.cpp http://trac.webkit.org/changeset/71218 WebCore/html/HTMLLinkElement.cpp http://trac.webkit.org/changeset/71159 WebCore/platform/android/PlatformBridge.h http://trac.webkit.org/changeset/71484 WebCore/platform/android/TemporaryLinkStubs.cpp http://trac.webkit.org/changeset/71484 WebCore/rendering/RenderTableSection.cpp http://trac.webkit.org/changeset/71382 http://trac.webkit.org/changeset/71251 WebCore/rendering/RenderLayer.cpp http://trac.webkit.org/changeset/71536 WebCore/rendering/RenderTable.cpp http://trac.webkit.org/changeset/71382 WebCore/Android.v8bindings.mk http://trac.webkit.org/changeset/71515 WebCore/bindings/scripts/CodeGeneratorV8.pm http://trac.webkit.org/changeset/71227 http://trac.webkit.org/changeset/71230 Change-Id: I3ad8c6bc6e36c90aedebedf915a8614b2c786550