summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderBox.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge WebKit at Chromium 9.0.597.55: trivial merge by gitBen Murdoch2011-01-071-16/+16
| | | | Change-Id: I2c6f2ebc4431d15ac82b5b1a9f08159e1731bc57
* Merge WebKit at r72805: Initial merge by GitSteve Block2011-01-061-10/+5
| | | | | | | 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-5/+10
| | | | Change-Id: I61f1a66d9642e3d8405d3ac6ccab2a53421c75d8
* Merge WebKit at r72274: Initial merge by git.Russell Brenner2010-12-021-28/+43
| | | | Change-Id: Ie51f0b4a16da82942bd516dce59cfb79ebbe25fb
* Merge WebKit at r71558: Initial merge by git.Teng-Hui Zhu2010-11-171-17/+43
| | | | Change-Id: Ib345578fa29df7e4bc72b4f00e4a6fddcb754c4c
* Merge Webkit at r70949: Initial merge by git.John Reck2010-11-091-7/+64
| | | | Change-Id: I77b8645c083b5d0da8dba73ed01d4014aab9848e
* Merge WebKit at r70209: Initial merge by GitBen Murdoch2010-10-261-155/+168
| | | | Change-Id: Id23a68efa36e9d1126bcce0b137872db00892c8e
* Merge WebKit at r68651 : Renamed variablesKristian Monsen2010-10-071-7/+7
| | | | | | | | | | | | | | Changed m_minPrefWidth and m_maxPrefWidth to m_minPreferredLogicalWidth and m_maxPreferredLogicalWidth in this CL: http://trac.webkit.org/changeset/68276/trunk/WebCore/rendering/RenderBox.h This changed containerWidth to containerLogicalWidth http://trac.webkit.org/changeset/68362/trunk/WebCore/rendering/RenderBox.cpp Also changed calcReplacedWidthUsing to computeReplacedWidthUsing here: http://trac.webkit.org/changeset/68239/trunk/WebCore/rendering/RenderBox.h Change-Id: I8eb912128aa5e09f55f4495671209cb8ca2ba3f0
* Merge Webkit at r68651 : Fix conflicts.Kristian Monsen2010-10-071-36/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ChromeClient.h: Conflict due to ANDROID_INSTALLABLE_WEB_APPS http://trac.webkit.org/changeset/68031/trunk/WebCore/page/ChromeClient.h CSSParser.cpp: Conflict due to ANDROID_INSTRUMENT http://trac.webkit.org/changeset/68521/trunk/WebCore/css/CSSParser.cpp Node.cpp: Conflict due to ANDROID_DOM_LOGGING http://trac.webkit.org/changeset/68541/trunk/WebCore/dom/Node.cpp npapi.h: Conflicts due to various #ifdef ANDROID http://trac.webkit.org/changeset/68390/trunk/WebCore/bridge/npapi.h PlatformTouchEvent.h: PlatformTouchEventAndroid.cpp: PlatformTouchPoint.h: Conflicts due to new BREWMP code next to changed Android code Initial webkit CL: http://trac.webkit.org/changeset/68499 Later fix after merge revision, so cherry-picked: http://trac.webkit.org/changeset/69034 RenderBox.cpp: Several changes, conflicts due to ANDROID_LAYOUT http://trac.webkit.org/changeset/68238#file2 http://trac.webkit.org/changeset/68239#file3 http://trac.webkit.org/changeset/68362/trunk/WebCore/rendering/RenderBox.cpp The correct resolution here is unclear. A closer investiagtion by somebdoy more familiar with the code is tracked with b/3071198 RenderBox.h: Conflicts due to ANDROID_LAYOUT http://trac.webkit.org/changeset/68417/trunk/WebCore/rendering/RenderBox.h RenderIFrame.cpp: Conflicts due to ANDROID_FLATTEN_IFRAME http://trac.webkit.org/changeset/68238/trunk/WebCore/rendering/RenderIFrame.cpp RenderTable.cpp: Conflicts due to ANDROID_LAYOUT http://trac.webkit.org/changeset/68427/trunk/WebCore/rendering/RenderTable.cpp RenderView.cpp: Conflicts due to ANDROID_LAYOUT http://trac.webkit.org/changeset/68436/trunk/WebCore/rendering/RenderView.cpp Settings.cpp: Settings.h: Conflicts due to ANDROID_PLUGINS and WEB_AUTOFILL http://trac.webkit.org/changeset/68166 Widget.cpp: http://trac.webkit.org/changeset/68054/trunk/WebCore/platform/Widget.cpp Change-Id: I156f537ae0483b89e4c6b9fce0e7b2f931f957a2
* Merge WebKit at r68651 : Initial merge by git.Kristian Monsen2010-10-071-238/+488
| | | | Change-Id: I3d6bff59f17eedd6722723354f386fec9be8ad12
* Merge WebKit at r67908: Initial merge by GitSteve Block2010-09-291-4/+26
| | | | Change-Id: I43a553e7b3299b28cb6ee8aa035ed70fe342b972
* Merge WebKit at r66666 : Initial merge by git.Kristian Monsen2010-09-111-4/+4
| | | | Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f
* Use upstream version of ANDROID_HITTEST_WITHSIZESteve Block2010-08-271-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change removes the last occurrences of ANDROID_HITTEST_WITHSIZE and updates WebKit to use the upstream version of this logic. This follows on from https://android-git.corp.google.com/g/#change,60166 which merged the upstream logic into the Android tree but maintained the existing behaviour for Android, guarded with ANDROID_HITTEST_WITHSIZE. This change introduces the following functional changes ... - HitTestResult::addNodeToRectBasedTestResult() The Android version proceeded with the containment test if the node is null. We now early out and continue the hit test. We also record the node's shadowAncestorNode, rather than the node itself. - RenderLayer::hitTestList() The android version always updates the result, but only updates the result layer if the result is not a rect based result. We now always update result layer, but only update the result if the result is not a rect based result. - RenderSVGRoot::nodeAtPoint() The Android version returned true only if it's not a rect based hit test. Now we return true always. - HitTestResult::m_isRectBased In the Android version, a padding must have positive width and height. Now we allow one of the two to be zero, provided the other is positive All other changes are non-functional and should probably have been done as part of https://android-git.corp.google.com/g/#change,60166 Note that the change to RenderBlock::nodeAtPoint() is a non-functional change because we don't pass a rect to addNodeToRectBasedTestResult(), so the default zero rect is used and the hit test always fails. Change-Id: I4163fddad59ad6485df40cd48794aa262f76ced7
* Merge WebKit at r65615 : Initial merge by git.Iain Merrick2010-08-231-2/+8
| | | | Change-Id: Ifbf384f4531e3b58475a662e38195c2d9152ae79
* Merge WebKit at r64523 : Fix conflicts due to ANDROID_HITTEST_WITHSIZESteve Block2010-08-091-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A modified version of this Android-specific code was upstreamed in http://trac.webkit.org/changeset/64272 For the most part, the differences between the Android and upstreamed versions are syntactic only. In these cases, we take the upstream version. In a small number of cases, logical changes exist. In these cases, the Android logic has been retained, guarded with ANDROID_HITTEST_WITHSIZE, but using the new syntax. In particular ... - Android's HitTestResult::intersects(x, y, rect) is logically equivalent to the uspstream IntRect::intersects(HitTestPoint::rectFromPoint(x, y))). - Android's HitTestResult::addRawNode() is logically equivalent to the upstream HitTestResult::m_rectBasedTestResult.add(). - Android's HitTestResult::isRegionTest() is slightly different from the upstream HitTestResult::isRectBasedTest(). The latter is modified with a new ANDROID_HITTEST_WITHSIZE guard in HitTestResult::HitTestResult() to maintain the same behaviour. - The upstreamed code uses HitTestResult::addNodeToRectBasedTestResult() as a helper method in place of inline logic in the Android version. The slight difference in behaviour between this helper and the Android logic is reflected in the new ANDROID_HITTEST_WITHSIZE guard in the helper. This change should introduce no change in behaviour. Change-Id: I974d68e3ac963f18334418e32b08c3fd9ab1182e
* Merge WebKit at r64523 : Initial merge by git.Steve Block2010-08-091-1/+10
| | | | Change-Id: Ibb796c6802e757b1d9b40f58205cfbe4da95fcd4
* Enable navigation in scrollable layers.Patrick Scott2010-08-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EventHandler: * Added IgnoreClipping in order to touch nodes that are clipped out. android_graphics: * Remember the absolute bounds of the node for invals. RenderBox: * Fix a compiler warning. RenderLayer: * Do not record the entire layer contents unless the scroll dimensions are larger than the client dimensions. * Change isSelfPaintingLayer to check for an overflow clip instead of the scrollable dimensions since it can be too early to check at this point. RenderLayerCompositor: * Same as RenderLayer for checking the overflow clip. WebViewCore: * Scroll the containing layer to the node bounds and offset the mouse position if scrolled. Once the mouse event is processed, restore the layer to 0,0. CacheBuilder: * The body position is no longer used. * Do not clip out nodes if the layer is scrollable. CachedFrame: * Add unadjustBounds to restore adjusted bounds to their original position (fixed position elements). * Call unadjustBounds when a node has been found. This new set of bounds is passed over to WebViewCore to handle clicks. * Reject empty node bounds. CachedLayer: * Document adjustBounds and add unadjustBounds. Add in the scroll position to the node bounds. CachedRoot: * Unadjust the mouse bounds. WebView: * Unadjust the mouse bounds and use the absolute bounds of the ring during inval. Bug: 1566791 Change-Id: Ia55f2cbb61869087176d3ff61882e40324614c6a
* Merge WebKit at r63859 : Initial merge by git.Ben Murdoch2010-07-271-2/+4
| | | | Change-Id: Ie8096c63ec7c991c9a9cba8bdd9c3b74a3b8ed62
* Fix issue: 2741016 and refactor visible width logic in android layout.Shimeng (Simon) Wang2010-07-121-7/+24
| | | | | | | | | | | The site is not reflowed, because for some RenderBlock, the m_visibleWidth is set twice before layout; the current logic will think the visibleWidth is not changed, hence no relayout children and no reflow. The logic is refactored to to make it modularlized. issue: 2741016 Change-Id: I1f433e263add974c0981c332ad4ea092ddb395e0
* Merge WebKit at r62496: Initial merge by gitSteve Block2010-07-091-12/+3
| | | | Change-Id: Ie3da0770eca22a70a632e3571f31cfabc80facb2
* Merge webkit.org at r61121: Initial merge by git.Ben Murdoch2010-06-161-1/+1
| | | | Change-Id: Icd6db395c62285be384d137164d95d7466c98760
* Code clean up, http://b/issue?id=2724743Grace Kloba2010-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change Widget:screenWidth() to Widget:textWrapWidth() as the text wrap width may be different than the screen width after pinch zoom. Change AndroidWebHistoryBridge's m_screenWidthScale to m_textWrapScale to reflect its meaning. Remove unused screenWidth/screenHeight in PlatformBridge. Merge two restore methods to one. There is a matching CL in framework/base. Only setUseFixedLayout if layout width is different than screen width. Change from Node* to Ref<Node> to avoid a crash. Fix http://b/issue?id=2660396
* Merge WebKit at r60074: Initial merge by gitSteve Block2010-05-271-18/+17
| | | | Change-Id: I18a2dc5439e36c928351ea829d8fb4e39b062fc7
* First draft to add a fat point to WebKit hit test.Grace Kloba2010-05-241-0/+16
| | | | | | | | | | | | | | | | | | | | | | | If padding is 0, it is the old style point hit test. If it finds a node, it will break the search loop and return. If padding is non-zero, the first node will be added to HitTestResult's innerNode as before. But instead of finishing the search, hit test will continue to look for other nodes covered by the fat point unless it is fully inside the current node. Here are some highlights of the changes. . instead of testing renderRect.contains(x, y), we now test renderRect.intersect(pointRect) . when a Node is hit, it will be appended to the rawNodeList of HitTestResult. So the order inside the rawNodeList represents the hit test order. Currently the fat point doesn't support SVG nodes. It also doesn't support overflow control yet.
* Merge Webkit at r58956: Fix conflicts.Ben Murdoch2010-05-141-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix conflict: JavaScriptCore/wtf/MathExtras.h: Take theirs due to recently upstreamed change http://trac.webkit.org/changeset/58110 Fix conflict: WebCore/dom/Node.cpp: Take both. The Android part can be removed post-merge. Fix conflict: WebCore/platform/ScrollView.cpp Fix conflict: WebCore/platform/ScrollView.h Fix conflict: WebCore/platform/android/ScrollViewAndroid.cpp: Remove ScrollView::platformProhibitsScrolling and ScrollView::scrollRectIntoViewRecursively as they have been removed upstream in http://trac.webkit.org/changeset/58428, http://trac.webkit.org/changeset/58445 and http://trac.webkit.org/changeset/58611. platformProhibitsScrolling was an Android specific function called only from scrollRectIntoViewRecursively. Fix conflict: WebCore/bindings/v8/ScriptCallStack.cpp: Take both (we have an Android specific addition). Fix conflict: WebCore/html/HTMLOptionElement.cpp: Take theirs, our fix has been upstreamed in http://trac.webkit.org/changeset/58490. Fix conflict: WebCore/rendering/RenderBox.cpp: Take theirs. See http://trac.webkit.org/changeset/58177 Fix conflict: WebCore/css/CSSStyleSelector.cpp Take both (Android specific addition). Fix conflict: WebCore/css/CSSParser.cpp Take both (Android specific addition). Fix conflict: WebCore/bridge/jni/jni_jsobject.h: Take theirs. see http://trac.webkit.org/changeset/58775 Fix conflict: FileSystemAndroid.cpp: Fix conflict: FileSystemPOSIX.cpp: Take ours. Our changes have been upstreamed but beyond 58596. See http://trac.webkit.org/changeset/59226 Change-Id: I92c7e319bea9edcc2eb08726654b5c1e163effaf
* Merge Webkit at r58956: Initial merge by Git.Ben Murdoch2010-05-141-32/+34
| | | | Change-Id: I1d9fb60ea2c3f2ddc04c17a871acdb39353be228
* Merge webkit.org at r58033 : Initial merge by gitSteve Block2010-05-111-10/+25
| | | | Change-Id: If006c38561af287c50cd578d251629b51e4d8cd1
* Merge webkit.org at r55033 : Initial merge by gitSteve Block2010-04-271-11/+6
| | | | Change-Id: I98a4af828067cc243ec3dc5e5826154dd88074b5
* Remove ANDROID_FIXED_ELEMENTSNicolas Roard2010-03-301-16/+0
| | | | | | Bug:2534420 Change-Id: Ieb93c8888a1d05dece3c817a8847e4f2c22a865a
* Fix click issues when using fixed elements. This CL also fix the positioningNicolas Roard2010-03-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Compute the position of the fixed elements to be relative to theNicolas Roard2010-03-171-0/+16
| | | | | | | | screen and not the virtual viewport. This fixes Bug:2515587 and Bug:2457215 Change-Id: Ib987787cf9bf74b760b857dbbb397f85af334dce
* Merge webkit.org at r54731 : Initial merge by gitSteve Block2010-02-161-2/+2
| | | | Change-Id: Ia79977b6cf3b0b00c06ef39419989b28e57e4f4a
* Merge webkit.org at r54127 : Initial merge by gitSteve Block2010-02-041-32/+56
| | | | Change-Id: Ib661abb595522f50ea406f72d3a0ce17f7193c82
* Merge webkit.org at r51976 : Initial merge by git.Steve Block2009-12-171-2/+2
| | | | Change-Id: Ib0e7e2f0fb4bee5a186610272edf3186f0986b43
* Merge webkit.org at r50258 : Initial merge by git.Steve Block2009-11-101-0/+2
| | | | Change-Id: I1a9e1dc4ed654b69174ad52a4f031a07240f37b0
* Makes a number of changes to ease future merging with and upstreaming to ↵Steve Block2009-10-221-4/+5
| | | | | | | | | | | | | webkit.org. - Fixes whitespace discrepancies between webkit.org and Android versions - Re-orders Android-specific changes to minimise the diff with webkit.org - Makes sure all Android-specific changes are appropriately guarded. - Fixes some Android-specific style problems None of these should introduce any functional changes for PLATFORM(ANDROID). Change-Id: Id27cf0b0e8682a7f29590c3fccae2d287b3630f1
* Merge webkit.org at R49305 : Automatic merge by git.Steve Block2009-10-201-52/+161
| | | | Change-Id: I8968561bc1bfd72b8923b7118d3728579c6dbcc7
* Revert "Merge WebKit r47420"Andrei Popescu2009-08-191-33/+28
| | | | This reverts commit d227fc870c7a697500a3c900c31baf05fb9a8524.
* Merge WebKit r47420Ben Murdoch2009-08-181-28/+33
|
* Merge in WebKit r47029.Ben Murdoch2009-08-111-38/+21
|
* Get WebKit r44544.Feng Qian2009-06-171-68/+64
|
* AI 145796: Land the WebKit merge @r42026.Feng Qian2009-04-101-799/+408
| | | | Automated import of CL 145796
* auto import from //depot/cupcake/@136594The Android Open Source Project2009-03-051-332/+800
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+2769
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-2769/+0
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-189/+388
|
* Initial ContributionThe Android Open Source Project2008-10-211-1/+61
|
* external/webkit r30707Upstream1970-01-121-0/+2510