- 20 Jan, 2011 1 commit
-
-
jamesr@google.com authored
Reviewed by Eric Seidel. RenderTableSection's setNeedsCellRecalc needs to null check table() https://bugs.webkit.org/show_bug.cgi?id=52770 Tests ::-webkit-scrollbar-corner inside a table. * fast/css-generated-content/table-with-scrollbar-corner-expected.txt: Added. * fast/css-generated-content/table-with-scrollbar-corner.html: Added. 2011-01-20 James Robinson <jamesr@chromium.org> Reviewed by Eric "Baller" Seidel. RenderTableSection's setNeedsCellRecalc needs to null check table() https://bugs.webkit.org/show_bug.cgi?id=52770 Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc. This can be null during detach(). Test constructed by Eric Seidel. Test: fast/css-generated-content/table-with-scrollbar-corner.html * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setNeedsCellRecalc): * rendering/RenderTableSection.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Jan, 2011 1 commit
-
-
tonyg@chromium.org authored
Reviewed by David Levin. Do some forward declaration in RenderStyle.h https://bugs.webkit.org/show_bug.cgi?id=52453 No new tests because no new functionality. * css/CSSComputedStyleDeclaration.cpp: * css/CSSStyleSelector.cpp: * editing/Editor.cpp: * page/EventHandler.cpp: * rendering/EllipsisBox.cpp: * rendering/InlineBox.cpp: * rendering/InlineTextBox.cpp: * rendering/RenderBlock.cpp: * rendering/RenderBlock.h: * rendering/RenderBox.cpp: * rendering/RenderBox.h: * rendering/RenderEmbeddedObject.cpp: * rendering/RenderFieldset.cpp: * rendering/RenderFileUploadControl.cpp: * rendering/RenderFrameSet.cpp: * rendering/RenderHTMLCanvas.cpp: * rendering/RenderImageResource.cpp: * rendering/RenderInputSpeech.cpp: * rendering/RenderLayer.h: * rendering/RenderLineBoxList.cpp: * rendering/RenderListBox.cpp: * rendering/RenderMediaControlsChromium.cpp: * rendering/RenderObject.cpp: * rendering/RenderObject.h: * rendering/RenderObjectChildList.cpp: * rendering/RenderProgress.cpp: * rendering/RenderScrollbarPart.cpp: * rendering/RenderTable.cpp: * rendering/RenderTable.h: * rendering/RenderTableCell.cpp: * rendering/RenderTableRow.cpp: * rendering/RenderTableSection.cpp: * rendering/RenderTheme.cpp: * rendering/RenderThemeChromiumSkia.cpp: * rendering/RenderThemeChromiumWin.cpp: * rendering/RootInlineBox.cpp: * rendering/style/RenderStyle.cpp: * rendering/style/RenderStyle.h: * rendering/style/StyleRareInheritedData.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 08 Jan, 2011 1 commit
-
-
abarth@webkit.org authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75314 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 03 Jan, 2011 1 commit
-
-
inferno@chromium.org authored
Reviewed by Darin Adler. Fixes before child calculation when adding anonymous childs to table parts. https://bugs.webkit.org/show_bug.cgi?id=50932 Fix in r74364 was incomplete. When before child is equal to the table part(to which the new child is getting added), it confuses the table part to add it incorrectly as an after child. The patch fixes by passing the before child as the table part's first child. Tests: fast/css-generated-content/table-before-after-child-add.html fast/css-generated-content/table-cell-before-after-child-add.html fast/css-generated-content/table-row-before-after-child-add.html fast/css-generated-content/table-row-before-after-child-add.html * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild): 2010-12-20 Abhishek Arya <inferno@chromium.org> Reviewed by Darin Adler. Tests that "before" and "after" childs are added to table correctly. https://bugs.webkit.org/show_bug.cgi?id=50932 * fast/css-generated-content/table-before-after-child-add.html: Added. * fast/css-generated-content/table-before-child-add.html: Removed. * fast/css-generated-content/table-cell-before-after-child-add.html: Added. * fast/css-generated-content/table-row-before-after-child-add.html: Added. * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.checksum: Added. * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.png: Added. * platform/mac/fast/css-generated-content/table-before-after-child-add-expected.txt: Added. * platform/mac/fast/css-generated-content/table-before-child-add-expected.txt: Removed. * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.checksum: Added. * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.png: Added. * platform/mac/fast/css-generated-content/table-cell-before-after-child-add-expected.txt: Added. * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.checksum: Added. * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.png: Added. * platform/mac/fast/css-generated-content/table-row-before-after-child-add-expected.txt: Added. * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.checksum: Added. * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.png: Added. * platform/mac/fast/css-generated-content/table-table-before-after-child-add-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 15 Dec, 2010 1 commit
-
-
hyatt@apple.com authored
Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a y-position. Reviewed by Simon Fraser. * rendering/LayoutState.cpp: (WebCore::LayoutState::pageLogicalOffset): (WebCore::LayoutState::addForcedColumnBreak): * rendering/LayoutState.h: * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): (WebCore::RenderBlock::layoutColumns): (WebCore::RenderBlock::setPageLogicalOffset): * rendering/RenderBlock.h: (WebCore::RenderBlock::pageLogicalOffset): (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Dec, 2010 1 commit
-
-
hyatt@apple.com authored
Reviewed by Tim Hatcher. Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for making printing and pagination work with vertical writing modes. * page/FrameView.cpp: (WebCore::FrameView::forceLayoutForPagination): * rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): (WebCore::LayoutState::clearPaginationInformation): * rendering/LayoutState.h: (WebCore::LayoutState::LayoutState): (WebCore::LayoutState::isPaginated): (WebCore::LayoutState::pageLogicalHeight): (WebCore::LayoutState::pageLogicalHeightChanged): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): (WebCore::RenderBlock::insertFloatingObject): (WebCore::RenderBlock::layoutColumns): (WebCore::RenderBlock::nextPageTop): (WebCore::RenderBlock::applyBeforeBreak): (WebCore::RenderBlock::applyAfterBreak): (WebCore::RenderBlock::adjustForUnsplittableChild): (WebCore::RenderBlock::adjustLinePositionForPagination): * rendering/RenderBlock.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::computeLogicalHeight): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): (WebCore::RenderView::layout): * rendering/RenderView.h: (WebCore::RenderView::pageLogicalHeight): (WebCore::RenderView::setPageLogicalHeight): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 Dec, 2010 1 commit
-
-
mitz@apple.com authored
Part of: Make tables work with vertical text https://bugs.webkit.org/show_bug.cgi?id=46417 Reviewed by Darin Adler. Tests: fast/repaint/table-writing-modes-h.html fast/repaint/table-writing-modes-v.html * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and columns to repaint based on the logical extent of the repaint rect. LayoutTests: Test that tables repaint correctly in all writing modes Part of: Make tables work with vertical text https://bugs.webkit.org/show_bug.cgi?id=46417 Reviewed by Darin Adler. * fast/repaint/table-writing-modes-h-expected.checksum: Added. * fast/repaint/table-writing-modes-h-expected.png: Added. * fast/repaint/table-writing-modes-h-expected.txt: Added. * fast/repaint/table-writing-modes-h.html: Added. * fast/repaint/table-writing-modes-v-expected.checksum: Added. * fast/repaint/table-writing-modes-v-expected.png: Added. * fast/repaint/table-writing-modes-v-expected.txt: Added. * fast/repaint/table-writing-modes-v.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73484 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Dec, 2010 1 commit
-
-
https://bugs.webkit.org/show_bug.cgi?id=49220hyatt@apple.com authored
Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition. Reviewed by Simon Fraser. This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow in the engine to cache all the information required to properly handle scrolling. In the old code, there were two types of overflow: layout overflow and visual overflow. The former could affect scrolling and the latter could not. The distinction was largely meaningless, since layout overflow wasn't actually used to determine scroll width or scroll height. It didn't propagate across self-painting layer boundaries either. In the old code, the term visible overflow meant the union of the layout overflow and visual overflow rects. In the new code, the two types of overflow remain, but the distinction between the two is now clear. Visual overflow is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling. It has been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to work with writing modes. In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members. Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful). A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise a huge number of tests would change. Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow. Existing tests cover the rest. WebCore: * page/FrameView.cpp: (WebCore::FrameView::adjustViewSize): (WebCore::FrameView::forceLayoutForPagination): Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it to account for writing modes. * platform/graphics/IntRect.h: (WebCore::IntRect::shiftLeftEdgeTo): (WebCore::IntRect::shiftRightEdgeTo): (WebCore::IntRect::shiftTopEdgeTo): (WebCore::IntRect::shiftBottomEdgeTo): New helper functions for sliding the edge of a rectangle without moving any of the other three edges. * rendering/InlineBox.h: (WebCore::InlineBox::frameRect): frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesInInlineDirection): All of the overflow setting in the inline direction has been removed from this function. All line overflow is computed at once now in a single function: computeOverflow. (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): (WebCore::InlineFlowBox::addTextBoxVisualOverflow): (WebCore::InlineFlowBox::addReplacedChildOverflow): Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow. (WebCore::InlineFlowBox::computeOverflow): The new function that computes both horizontal and vertical overflow for a line box. (WebCore::InlineFlowBox::setLayoutOverflow): (WebCore::InlineFlowBox::setVisualOverflow): (WebCore::InlineFlowBox::setOverflowFromLogicalRects): New functions that set the overflow computed by computeOverflow. These replace setBlockDirectionOverflowPositions and setInlineDirectionOverflowPositions. They essentially do the same thing, but they operate on rectangles. (WebCore::InlineFlowBox::nodeAtPoint): (WebCore::InlineFlowBox::paint): Changed to use visual overflow instead of visible overflow. (Visible overflow as a union of layout and visual overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.) * rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::logicalLayoutOverflowRect): (WebCore::InlineFlowBox::logicalVisualOverflowRect): Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before converting to block coordinates at the end. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::addOverflowFromChildren): (WebCore::RenderBlock::computeOverflow): (WebCore::RenderBlock::addOverflowFromFloats): (WebCore::RenderBlock::addOverflowFromPositionedObjects): Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow. The addOverflowFromChildren method is virtual so that RenderListItem and RenderTable can subclass it. RenderListItem has to position its list marker and propagate marker overflow up, and RenderTable adds in overflow from its sections. (WebCore::RenderBlock::layoutOnlyPositionedObjects): (WebCore::RenderBlock::layoutPositionedObjects): When only positioned objects lay out, overflow must still be recomputed. The refactoring of overflow computation into a single callable method: computeOverflow, makes it possible for this to be done easily. (WebCore::RenderBlock::paint): visible -> visual. (WebCore::RenderBlock::addOverhangingFloats): The propagation of float overflow has changed substantially. The basic rules are: (1) The float must be in our floating objects list to contribute to overflow. (2) The float must be a descendant to contribute to overflow. (3) The block must have the outermost list that contains the float, or it has a self-painting layer and so the float needs to be included in its overflow. (WebCore::RenderBlock::nodeAtPoint): visible -> visual. (WebCore::RenderBlock::layoutColumns): Remove column overflow computation from layoutColumns and move it to computeOverflow. (WebCore::RenderBlock::adjustLinePositionForPagination): visible -> visual. * rendering/RenderBlock.h: (WebCore::RenderBlock::scrollbarsChanged): Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::determineStartPosition): (WebCore::RenderBlock::matchedEndLine): (WebCore::RenderBlock::addOverflowFromInlineChildren): (WebCore::RenderBlock::beforeSideVisualOverflowForLine): (WebCore::RenderBlock::afterSideVisualOverflowForLine): visible -> visual. * rendering/RenderBox.cpp: (WebCore::RenderBox::scrollWidth): (WebCore::RenderBox::scrollHeight): Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions. (WebCore::RenderBox::paintRootBoxDecorations): Use docLeft and docTop here, so that writing modes are handled. (WebCore::RenderBox::clippedOverflowRectForRepaint): visible -> visual. (WebCore::RenderBox::addOverflowFromChild): (WebCore::RenderBox::addLayoutOverflow): (WebCore::RenderBox::addVisualOverflow): (WebCore::RenderBox::logicalVisualOverflowRectForPropagation): (WebCore::RenderBox::visualOverflowRectForPropagation): (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation): (WebCore::RenderBox::layoutOverflowRectForPropagation): * rendering/RenderBox.h: The new overflow system for boxes. Layout overflow now crosses self-painting layer boundaries and adjusts child boxes for transforms, relative positioning and writing mode differences. (WebCore::RenderBox::layoutOverflowRect): (WebCore::RenderBox::topLayoutOverflow): (WebCore::RenderBox::bottomLayoutOverflow): (WebCore::RenderBox::leftLayoutOverflow): (WebCore::RenderBox::rightLayoutOverflow): Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions. (WebCore::RenderBox::clientLogicalBottom): New helper for obtaining the logical bottom of the client box. (WebCore::RenderBox::clientBoxRect): New helper for obtaining the clientLeft/Top/Width/Height box. * rendering/RenderBoxModelObject.h: (WebCore::RenderBoxModelObject::relativePositionLogicalOffset): Helper for obtaining the relative position offset transposed for vertical writing modes. Used by line overflow. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Changed flexible boxes to just call the base class computeOverflow method. * rendering/RenderInline.cpp: (WebCore::RenderInline::linesVisualOverflowBoundingBox): (WebCore::RenderInline::clippedOverflowRectForRepaint): visible -> visual. * rendering/RenderInline.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): Changed layers to no longer incorporate right/bottom overflow into width/height. This is the reason many layout tests change. (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting layers now.) (WebCore::RenderLayer::overflowTop): (WebCore::RenderLayer::overflowBottom): (WebCore::RenderLayer::overflowLeft): (WebCore::RenderLayer::overflowRight): overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used to set up the scroll area. (WebCore::RenderLayer::computeScrollDimensions): Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow. (WebCore::RenderLayer::updateScrollInfoAfterLayout): Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the bottom works. (WebCore::performOverlapTests): (WebCore::RenderLayer::paintLayer): Fix a bug in performOverlapTests. It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out of the layer (see why I hate layers even having dimensions?). Changed it to use the bounding box of the layer instead. (WebCore::RenderLayer::hitTest): Fix a bug in hit testing. It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account for left/top overflow in a ScrollView (hate hate hate layers having dimensions). I changed it to use the hit test rect instead, so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping). (WebCore::RenderLayer::localBoundingBox): visible -> visual. * rendering/RenderLayer.h: Added the new overflowTop/Left/Right/Bottom accessors. * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::anyLineIntersectsRect): (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): (WebCore::RenderLineBoxList::paint): (WebCore::RenderLineBoxList::hitTest): visible -> visual. * rendering/RenderListItem.cpp: (WebCore::RenderListItem::addOverflowFromChildren): (WebCore::RenderListItem::positionListMarker): * rendering/RenderListItem.h: RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item. * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): visible -> visual. * rendering/RenderMarquee.cpp: (WebCore::RenderMarquee::computePosition): Changed to use overflow functions instead of rightmost/lowestPosition. * rendering/RenderMedia.cpp: * rendering/RenderMedia.h: Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already. * rendering/RenderOverflow.h: (WebCore::RenderOverflow::RenderOverflow): (WebCore::RenderOverflow::setLayoutOverflow): (WebCore::RenderOverflow::setVisualOverflow): Add new setters for layout and visual overflow as rects. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::shouldPaint): (WebCore::RenderReplaced::clippedOverflowRectForRepaint): visible -> visual. * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::layout): Call computeOverflow to recompute our overflow information after we adjust the ruby. * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): (WebCore::RenderTable::addOverflowFromChildren): (WebCore::RenderTable::paint): * rendering/RenderTable.h: Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow. * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::clippedOverflowRectForRepaint): visible -> visual. (WebCore::RenderTableCell::scrollbarsChanged): Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed a bug in table layout. If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the cell, then the cell won't lay out properly the second time (after the scrollbars have been added). We have to adjust the intrinsic padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions. * rendering/RenderTableCell.h: (WebCore::RenderTableCell::hasVisualOverflow): visible -> visual. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): * rendering/RenderTableSection.h: visible -> visual. Removed the leftmost/rightmost/topmost/bottommostPosition functions. * rendering/RenderTreeAsText.cpp: (WebCore::writeLayers): Added a hack to render tree dumping to include right/bottom overflow for the root layer only. This keeps a zillion layout tests from failing. * rendering/RenderView.cpp: (WebCore::RenderView::layout): (WebCore::RenderView::docTop): (WebCore::RenderView::docBottom): (WebCore::RenderView::docLeft): (WebCore::RenderView::docRight): * rendering/RenderView.h: (WebCore::RenderView::docHeight): (WebCore::RenderView::docWidth): RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes. These methods are now the preferred way to query for the physical dimensions of a document. * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::addHighlightOverflow): Changed to call setOverflowFromLogicalRects instead of the block/inline position functions. (WebCore::RootInlineBox::alignBoxesInBlockDirection): Remove the computation of block direction overflow, since it now all happens at once after the line is built. (WebCore::RootInlineBox::paddedLayoutOverflowRect): * rendering/RootInlineBox.h: Added a new helper function for incorporating the end padding into a line. This end padding also includes the single pixel for a caret in LTR if needed. LayoutTests: * compositing/checkerboard-expected.txt: * compositing/geometry/limit-layer-bounds-transformed-expected.txt: * compositing/iframes/composited-parent-iframe-expected.txt: * fast/backgrounds/size/contain-and-cover-expected.txt: * fast/flexbox/009.html: * fast/overflow/overflow-rtl-vertical.html: Added. * fast/spatial-navigation/snav-clipped-overflowed-content-expected.txt: * fast/spatial-navigation/snav-clipped-overflowed-content.html: * platform/mac/compositing/direct-image-compositing-expected.txt: * platform/mac/compositing/geometry/fixed-position-expected.txt: * platform/mac/compositing/geometry/video-opacity-overlay-expected.txt: * platform/mac/compositing/overflow/fixed-position-ancestor-clip-expected.txt: * platform/mac/compositing/overflow/scroll-ancestor-update-expected.txt: * platform/mac/compositing/reflections/load-video-in-reflection-expected.txt: * platform/mac/compositing/repaint/content-into-overflow-expected.txt: * platform/mac/compositing/repaint/overflow-into-content-expected.txt: * platform/mac/css1/box_properties/margin-expected.txt: * platform/mac/css1/box_properties/margin_right-expected.txt: * platform/mac/css1/classification/white_space-expected.txt: * platform/mac/css1/color_and_background/background_attachment-expected.txt: * platform/mac/css1/color_and_background/background_repeat-expected.txt: * platform/mac/css2.1/t0803-c5502-mrgn-r-02-c-expected.txt: * platform/mac/css2.1/t0803-c5505-mrgn-02-c-expected.txt: * platform/mac/css2.1/t0804-c5508-ipadn-b-02-b-a-expected.txt: * platform/mac/css2.1/t0905-c414-flt-00-d-expected.txt: * platform/mac/css2.1/t0905-c414-flt-01-d-g-expected.txt: * platform/mac/css2.1/t0905-c414-flt-02-c-expected.txt: * platform/mac/css2.1/t0905-c414-flt-03-c-expected.txt: * platform/mac/css2.1/t0905-c414-flt-04-c-expected.txt: * platform/mac/css2.1/t0905-c414-flt-wrap-01-d-g-expected.txt: * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt: * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt: * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt: * platform/mac/css2.1/t090501-c414-flt-02-d-g-expected.txt: * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.txt: * platform/mac/css2.1/t1202-counters-08-b-expected.txt: * platform/mac/css2.1/t1202-counters-09-b-expected.txt: * platform/mac/editing/deleting/delete-after-span-ws-001-expected.txt: * platform/mac/editing/deleting/delete-after-span-ws-002-expected.txt: * platform/mac/editing/deleting/delete-after-span-ws-003-expected.txt: * platform/mac/editing/deleting/delete-line-end-ws-001-expected.txt: * platform/mac/editing/deleting/delete-line-end-ws-002-expected.txt: * platform/mac/editing/selection/25228-expected.txt: * platform/mac/editing/selection/focus_editable_html-expected.txt: * platform/mac/editing/selection/select-all-001-expected.txt: * platform/mac/editing/selection/select-all-002-expected.txt: * platform/mac/editing/selection/select-all-003-expected.txt: * platform/mac/editing/selection/select-all-004-expected.txt: * platform/mac/editing/selection/unrendered-001-expected.txt: * platform/mac/editing/selection/unrendered-002-expected.txt: * platform/mac/editing/selection/unrendered-003-expected.txt: * platform/mac/editing/selection/unrendered-004-expected.txt: * platform/mac/editing/selection/unrendered-005-expected.txt: * platform/mac/fast/backgrounds/repeat/negative-offset-repeat-expected.txt: * platform/mac/fast/backgrounds/size/backgroundSize15-expected.txt: * platform/mac/fast/block/basic/010-expected.txt: * platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.txt: * platform/mac/fast/block/float/008-expected.txt: * platform/mac/fast/block/float/013-expected.txt: * platform/mac/fast/block/float/019-expected.txt: * platform/mac/fast/block/float/021-expected.txt: * platform/mac/fast/block/float/029-expected.txt: * platform/mac/fast/block/float/031-expected.txt: * platform/mac/fast/block/float/033-expected.txt: * platform/mac/fast/block/float/035-expected.txt: * platform/mac/fast/block/float/avoidance-percent-width-strict-expected.txt: * platform/mac/fast/block/float/clamped-right-float-expected.txt: * platform/mac/fast/block/float/float-in-float-painting-expected.txt: * platform/mac/fast/block/float/nested-clearance-expected.txt: * platform/mac/fast/block/float/relative-painted-twice-expected.txt: * platform/mac/fast/block/margin-collapse/004-expected.txt: * platform/mac/fast/block/margin-collapse/062-expected.txt: * platform/mac/fast/block/margin-collapse/063-expected.txt: * platform/mac/fast/block/margin-collapse/104-expected.txt: * platform/mac/fast/block/margin-collapse/block-inside-inline/004-expected.txt: * platform/mac/fast/block/margin-collapse/block-inside-inline/005-expected.txt: * platform/mac/fast/block/positioning/002-expected.txt: * platform/mac/fast/block/positioning/047-expected.txt: * platform/mac/fast/block/positioning/049-expected.txt: * platform/mac/fast/block/positioning/051-expected.txt: * platform/mac/fast/block/positioning/auto-height-with-top-and-bottom-expected.txt: * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt: * platform/mac/fast/blockflow/block-level-images-expected.txt: * platform/mac/fast/blockflow/border-radius-clipping-vertical-lr-expected.txt: * platform/mac/fast/blockflow/box-shadow-vertical-lr-expected.txt: * platform/mac/fast/blockflow/box-shadow-vertical-rl-expected.txt: * platform/mac/fast/blockflow/floats-in-block-layout-expected.txt: * platform/mac/fast/body-propagation/background-color/002-expected.txt: * platform/mac/fast/body-propagation/background-color/002-xhtml-expected.txt: * platform/mac/fast/body-propagation/background-image/002-expected.txt: * platform/mac/fast/body-propagation/background-image/002-xhtml-expected.txt: * platform/mac/fast/body-propagation/overflow/001-expected.txt: * platform/mac/fast/body-propagation/overflow/001-xhtml-expected.txt: * platform/mac/fast/body-propagation/overflow/005-declarative-expected.txt: * platform/mac/fast/body-propagation/overflow/005-expected.txt: * platform/mac/fast/body-propagation/overflow/005-xhtml-expected.txt: * platform/mac/fast/borders/fieldsetBorderRadius-expected.txt: * platform/mac/fast/box-shadow/basic-shadows-expected.txt: * platform/mac/fast/box-sizing/box-sizing-expected.txt: * platform/mac/fast/clip/008-expected.txt: * platform/mac/fast/clip/009-expected.txt: * platform/mac/fast/clip/010-expected.txt: * platform/mac/fast/clip/011-expected.txt: * platform/mac/fast/clip/012-expected.txt: * platform/mac/fast/compact/001-expected.txt: * platform/mac/fast/css/color-correction-on-background-image-expected.txt: * platform/mac/fast/css/negative-leading-expected.txt: * platform/mac/fast/css/percentage-non-integer-expected.txt: * platform/mac/fast/css/word-space-extra-expected.txt: * platform/mac/fast/dom/clone-node-dynamic-style-expected.txt: * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: * platform/mac/fast/events/focusingUnloadedFrame-expected.txt: * platform/mac/fast/flexbox/009-expected.txt: * platform/mac/fast/flexbox/016-expected.txt: * platform/mac/fast/flexbox/flex-hang-expected.txt: * platform/mac/fast/forms/basic-textareas-quirks-expected.txt: * platform/mac/fast/forms/file-input-direction-expected.txt: * platform/mac/fast/forms/floating-textfield-relayout-expected.txt: * platform/mac/fast/forms/textfield-overflow-expected.txt: * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt: * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: * platform/mac/fast/frames/frame-scrolling-attribute-expected.txt: * platform/mac/fast/frames/iframe-scrolling-attribute-expected.txt: * platform/mac/fast/frames/inline-object-inside-frameset-expected.txt: * platform/mac/fast/gradients/background-clipped-expected.txt: * platform/mac/fast/images/gif-large-checkerboard-expected.txt: * platform/mac/fast/images/pdf-as-image-landscape-expected.txt: * platform/mac/fast/inline-block/inline-block-vertical-align-expected.txt: * platform/mac/fast/inline/long-wrapped-line-expected.txt: * platform/mac/fast/layers/layer-visibility-expected.txt: * platform/mac/fast/layers/layer-visibility-sublayer-expected.txt: * platform/mac/fast/lists/001-expected.txt: * platform/mac/fast/lists/001-vertical-expected.txt: * platform/mac/fast/lists/003-expected.txt: * platform/mac/fast/lists/003-vertical-expected.txt: * platform/mac/fast/lists/li-br-expected.txt: * platform/mac/fast/media/mq-relative-constraints-02-expected.txt: * platform/mac/fast/media/mq-relative-constraints-03-expected.txt: * platform/mac/fast/media/mq-relative-constraints-04-expected.txt: * platform/mac/fast/media/mq-relative-constraints-05-expected.txt: * platform/mac/fast/media/mq-relative-constraints-06-expected.txt: * platform/mac/fast/media/mq-relative-constraints-07-expected.txt: * platform/mac/fast/media/mq-relative-constraints-08-expected.txt: * platform/mac/fast/media/mq-relative-constraints-09-expected.txt: * platform/mac/fast/media/mq-width-absolute-01-expected.txt: * platform/mac/fast/media/mq-width-absolute-02-expected.txt: * platform/mac/fast/media/mq-width-absolute-03-expected.txt: * platform/mac/fast/media/mq-width-absolute-04-expected.txt: * platform/mac/fast/multicol/float-multicol-expected.txt: * platform/mac/fast/multicol/float-paginate-complex-expected.txt: * platform/mac/fast/multicol/float-paginate-expected.txt: * platform/mac/fast/multicol/layers-in-multicol-expected.txt: * platform/mac/fast/multicol/paginate-block-replaced-expected.txt: * platform/mac/fast/multicol/positioned-with-constrained-height-expected.txt: * platform/mac/fast/multicol/span/anonymous-style-inheritance-expected.txt: * platform/mac/fast/multicol/table-vertical-align-expected.txt: * platform/mac/fast/overflow/006-expected.txt: * platform/mac/fast/overflow/float-in-relpositioned-expected.txt: * platform/mac/fast/overflow/overflow-auto-table-expected.txt: * platform/mac/fast/overflow/overflow-rtl-vertical-expected.checksum: Added. * platform/mac/fast/overflow/overflow-rtl-vertical-expected.png: Added. * platform/mac/fast/overflow/overflow-rtl-vertical-expected.txt: Added. * platform/mac/fast/overflow/scrollRevealButton-expected.txt: * platform/mac/fast/reflections/reflection-direction-expected.txt: * platform/mac/fast/repaint/box-shadow-h-expected.checksum: * platform/mac/fast/repaint/box-shadow-h-expected.png: * platform/mac/fast/repaint/box-shadow-h-expected.txt: * platform/mac/fast/repaint/box-shadow-v-expected.txt: * platform/mac/fast/repaint/content-into-overflow-expected.txt: * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: * platform/mac/fast/repaint/float-overflow-expected.txt: * platform/mac/fast/repaint/float-overflow-right-expected.txt: * platform/mac/fast/repaint/overflow-into-content-expected.txt: * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.txt: * platform/mac/fast/repaint/subtree-root-clip-expected.txt: * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt: * platform/mac/fast/repaint/transform-replaced-shadows-expected.checksum: * platform/mac/fast/repaint/transform-replaced-shadows-expected.png: * platform/mac/fast/replaced/004-expected.txt: * platform/mac/fast/table/034-expected.txt: * platform/mac/fast/table/border-collapsing/004-vertical-expected.txt: * platform/mac/fast/table/colspanMinWidth-vertical-expected.txt: * platform/mac/fast/table/fixed-with-auto-with-colspan-expected.txt: * platform/mac/fast/table/fixed-with-auto-with-colspan-vertical-expected.txt: * platform/mac/fast/table/frame-and-rules-expected.txt: * platform/mac/fast/table/height-percent-test-vertical-expected.txt: * platform/mac/fast/table/wide-colspan-expected.txt: * platform/mac/fast/table/wide-column-expected.txt: * platform/mac/fast/text/international/thai-line-breaks-expected.txt: * platform/mac/fast/text/large-text-composed-char-expected.txt: * platform/mac/fast/text/letter-spacing-negative-opacity-expected.txt: * platform/mac/fast/text/text-letter-spacing-expected.txt: * platform/mac/fast/text/whitespace/012-expected.txt: * platform/mac/mathml/presentation/fenced-expected.txt: * platform/mac/mathml/presentation/mo-expected.txt: * platform/mac/mathml/presentation/over-expected.txt: * platform/mac/mathml/presentation/row-alignment-expected.txt: * platform/mac/mathml/presentation/row-expected.txt: * platform/mac/printing/return-from-printing-mode-expected.txt: * platform/mac/svg/custom/altglyph-expected.txt: * platform/mac/svg/custom/getscreenctm-in-mixed-content-expected.txt: * platform/mac/svg/custom/path-bad-data-expected.txt: * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt: * platform/mac/svg/custom/svg-fonts-in-html-expected.txt: * platform/mac/svg/custom/text-xy-updates-SVGList-expected.txt: * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt: * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.txt: * platform/mac/svg/text/kerning-expected.txt: * platform/mac/svg/text/multichar-glyph-expected.txt: * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt: * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt: * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: * platform/mac/tables/mozilla/bugs/bug120364-expected.txt: * platform/mac/tables/mozilla/bugs/bug131020-expected.txt: * platform/mac/tables/mozilla/bugs/bug196870-expected.txt: * platform/mac/tables/mozilla/bugs/bug23151-expected.txt: * platform/mac/tables/mozilla/bugs/bug29314-expected.txt: * platform/mac/tables/mozilla/bugs/bug43039-expected.txt: * platform/mac/tables/mozilla/bugs/bug43854-1-expected.txt: * platform/mac/tables/mozilla/bugs/bug45055-2-expected.txt: * platform/mac/tables/mozilla/bugs/bug5797-expected.txt: * platform/mac/tables/mozilla/bugs/bug625-expected.txt: * platform/mac/tables/mozilla/bugs/bug72359-expected.txt: * platform/mac/tables/mozilla/bugs/bug83786-expected.txt: * platform/mac/tables/mozilla/bugs/bug92143-expected.txt: * platform/mac/tables/mozilla/bugs/bug96334-expected.txt: * platform/mac/tables/mozilla/core/nested1-expected.txt: * platform/mac/tables/mozilla/marvin/backgr_index-expected.txt: * platform/mac/tables/mozilla/marvin/x_table_align_left-expected.txt: * platform/mac/tables/mozilla/marvin/x_table_align_right-expected.txt: * platform/mac/tables/mozilla/marvin/x_td_nowrap-expected.txt: * platform/mac/tables/mozilla/marvin/x_th_nowrap-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug220653-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug67915-2-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_left-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_right-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_top-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_row-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_table-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_dirty_reflow_tbody-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_hidden_tr-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_cell_sibling-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_row_sibling-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_table_caption-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_style_reflow_tbody_sibling-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_bottom-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_middle-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_valign_top-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt: * platform/mac/transforms/svg-vs-css-expected.txt: * svg/custom/text-zoom-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 29 Nov, 2010 1 commit
-
-
simon.fraser@apple.com authored
Reviewed by Ojan Vafai. bunch of pixel failures after http://trac.webkit.org/changeset/72839/ https://bugs.webkit.org/show_bug.cgi?id=50188 We need to call updateLayerTransform() for reflections, and table rows as well. * rendering/RenderReplica.cpp: (WebCore::RenderReplica::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 11 Nov, 2010 1 commit
-
-
hyatt@apple.com authored
Reviewed by Simon Fraser. Make repaint invalidation work with flipped blocks ("rl" and "bt" writing modes). This patch disables the layout state for flipped blocks, since the paint offset isn't right. Bugs in the overflow sides for lines have been fixed. before/AfterSideVisible/LayoutOverflowForLine now respect flipping (and don't incorrectly change sides). This is a very confusing aspect of the overflow stuff (and at some point we should consider renaming top/left/right/bottom since they aren't physical). offsetFromContainer and mapLocalToContainer remain physical and refer to the top left offset. This means at every step up you convert to the correct physical coordinate. It also means these functions will be unreliable during layout for flipped blocks. At first glance, this seems to be more or less ok. computeRectForRepaint now delays flipping conversions until you cross a writing-mode boundary. This allows for documents to be fully flipped and repaint during layout can still be reliable. This is critical for incremental line layout repainting. Added new tests in fast/repaint and also rebaselined the tests in that directory because I'm tired of all the stale results and failures. WebCore: * editing/SelectionController.cpp: (WebCore::SelectionController::absoluteBoundsForLocalRect): (WebCore::SelectionController::paintCaret): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::selectionRect): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::layoutOnlyPositionedObjects): (WebCore::RenderBlock::paintSelection): * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::beforeSideVisibleOverflowForLine): (WebCore::RenderBlock::afterSideVisibleOverflowForLine): (WebCore::RenderBlock::beforeSideLayoutOverflowForLine): (WebCore::RenderBlock::afterSideLayoutOverflowForLine): * rendering/RenderBox.cpp: (WebCore::RenderBox::layout): (WebCore::RenderBox::mapLocalToContainer): (WebCore::RenderBox::offsetFromContainer): (WebCore::RenderBox::clippedOverflowRectForRepaint): (WebCore::RenderBox::computeRectForRepaint): (WebCore::RenderBox::flipForWritingMode): (WebCore::RenderBox::locationOffsetIncludingFlipping): * rendering/RenderBox.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): * rendering/RenderInline.cpp: (WebCore::RenderInline::clippedOverflowRectForRepaint): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::layout): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layout): (WebCore::RenderTableSection::layoutRows): * rendering/RenderView.cpp: (WebCore::RenderView::computeRectForRepaint): * rendering/ShadowElement.cpp: (WebCore::ShadowBlockElement::layoutAsPart): LayoutTests: * fast/repaint/japanese-rl-selection-clear.html: Added. * fast/repaint/japanese-rl-selection-repaint.html: Added. * fast/repaint/repaint-svg-after-style-change-expected.png: * platform/mac/fast/repaint/4774354-expected.checksum: * platform/mac/fast/repaint/4774354-expected.png: * platform/mac/fast/repaint/4776765-expected.checksum: * platform/mac/fast/repaint/4776765-expected.png: * platform/mac/fast/repaint/background-generated-expected.checksum: * platform/mac/fast/repaint/background-generated-expected.png: * platform/mac/fast/repaint/background-misaligned-expected.png: * platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum: * platform/mac/fast/repaint/backgroundSizeRepaint-expected.png: * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.checksum: * platform/mac/fast/repaint/block-layout-inline-children-replaced-expected.png: * platform/mac/fast/repaint/block-no-inflow-children-expected.checksum: * platform/mac/fast/repaint/block-no-inflow-children-expected.png: * platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.checksum: * platform/mac/fast/repaint/block-selection-gap-in-composited-layer-expected.png: * platform/mac/fast/repaint/block-selection-gap-stale-cache-2-expected.png: * platform/mac/fast/repaint/border-fit-lines-expected.checksum: * platform/mac/fast/repaint/border-fit-lines-expected.png: * platform/mac/fast/repaint/border-radius-repaint-expected.checksum: * platform/mac/fast/repaint/border-radius-repaint-expected.png: * platform/mac/fast/repaint/border-repaint-glitch-expected.checksum: * platform/mac/fast/repaint/border-repaint-glitch-expected.png: * platform/mac/fast/repaint/box-shadow-dynamic-expected.checksum: * platform/mac/fast/repaint/box-shadow-dynamic-expected.png: * platform/mac/fast/repaint/box-shadow-h-expected.checksum: * platform/mac/fast/repaint/box-shadow-h-expected.png: * platform/mac/fast/repaint/box-shadow-v-expected.checksum: * platform/mac/fast/repaint/box-shadow-v-expected.png: * platform/mac/fast/repaint/bugzilla-3509-expected.checksum: * platform/mac/fast/repaint/bugzilla-3509-expected.png: * platform/mac/fast/repaint/bugzilla-5699-expected.checksum: * platform/mac/fast/repaint/bugzilla-5699-expected.png: * platform/mac/fast/repaint/bugzilla-6278-expected.checksum: * platform/mac/fast/repaint/bugzilla-6278-expected.png: * platform/mac/fast/repaint/bugzilla-6388-expected.checksum: * platform/mac/fast/repaint/bugzilla-6388-expected.png: * platform/mac/fast/repaint/bugzilla-6473-expected.checksum: * platform/mac/fast/repaint/bugzilla-6473-expected.png: * platform/mac/fast/repaint/bugzilla-7235-expected.checksum: * platform/mac/fast/repaint/bugzilla-7235-expected.png: * platform/mac/fast/repaint/button-spurious-layout-hint-expected.png: * platform/mac/fast/repaint/caret-outside-block-expected.checksum: * platform/mac/fast/repaint/caret-outside-block-expected.png: * platform/mac/fast/repaint/change-transform-expected.checksum: * platform/mac/fast/repaint/change-transform-expected.png: * platform/mac/fast/repaint/clip-with-layout-delta-expected.png: * platform/mac/fast/repaint/clipped-relative-expected.checksum: * platform/mac/fast/repaint/clipped-relative-expected.png: * platform/mac/fast/repaint/containing-block-position-change-expected.checksum: * platform/mac/fast/repaint/containing-block-position-change-expected.png: * platform/mac/fast/repaint/content-into-overflow-expected.png: * platform/mac/fast/repaint/continuation-after-outline-expected.checksum: * platform/mac/fast/repaint/continuation-after-outline-expected.png: * platform/mac/fast/repaint/control-clip-expected.checksum: * platform/mac/fast/repaint/control-clip-expected.png: * platform/mac/fast/repaint/create-layer-repaint-expected.checksum: * platform/mac/fast/repaint/create-layer-repaint-expected.png: * platform/mac/fast/repaint/delete-into-nested-block-expected.checksum: * platform/mac/fast/repaint/delete-into-nested-block-expected.png: * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum: * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: * platform/mac/fast/repaint/erase-overflow-expected.png: * platform/mac/fast/repaint/fixed-expected.checksum: * platform/mac/fast/repaint/fixed-expected.png: * platform/mac/fast/repaint/flexible-box-overflow-expected.checksum: * platform/mac/fast/repaint/flexible-box-overflow-expected.png: * platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.checksum: * platform/mac/fast/repaint/flexible-box-overflow-horizontal-expected.png: * platform/mac/fast/repaint/float-in-new-block-with-layout-delta-expected.png: * platform/mac/fast/repaint/float-move-during-layout-expected.checksum: * platform/mac/fast/repaint/float-move-during-layout-expected.png: * platform/mac/fast/repaint/float-new-in-block-expected.png: * platform/mac/fast/repaint/float-overflow-expected.png: * platform/mac/fast/repaint/float-overflow-right-expected.png: * platform/mac/fast/repaint/focus-layers-expected.checksum: * platform/mac/fast/repaint/focus-layers-expected.png: * platform/mac/fast/repaint/focus-ring-expected.png: * platform/mac/fast/repaint/inline-block-overflow-expected.checksum: * platform/mac/fast/repaint/inline-block-overflow-expected.png: * platform/mac/fast/repaint/inline-block-resize-expected.png: * platform/mac/fast/repaint/inline-color-change-expected.checksum: * platform/mac/fast/repaint/inline-color-change-expected.png: * platform/mac/fast/repaint/inline-outline-repaint-expected.checksum: * platform/mac/fast/repaint/inline-outline-repaint-expected.png: * platform/mac/fast/repaint/intermediate-layout-position-clip-expected.png: * platform/mac/fast/repaint/intermediate-layout-position-expected.png: * platform/mac/fast/repaint/invisible-objects-expected.png: * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.checksum: Added. * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.png: Added. * platform/mac/fast/repaint/japanese-rl-selection-clear-expected.txt: Added. * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.checksum: Added. * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.png: Added. * platform/mac/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added. * platform/mac/fast/repaint/layer-child-outline-expected.checksum: * platform/mac/fast/repaint/layer-child-outline-expected.png: * platform/mac/fast/repaint/layer-full-repaint-expected.png: * platform/mac/fast/repaint/layer-hide-when-needs-layout-expected.png: * platform/mac/fast/repaint/layer-outline-expected.checksum: * platform/mac/fast/repaint/layer-outline-expected.png: * platform/mac/fast/repaint/layer-outline-horizontal-expected.checksum: * platform/mac/fast/repaint/layer-outline-horizontal-expected.png: * platform/mac/fast/repaint/layer-visibility-expected.png: * platform/mac/fast/repaint/layout-state-only-positioned-expected.png: * platform/mac/fast/repaint/layout-state-relative-expected.checksum: * platform/mac/fast/repaint/layout-state-relative-expected.png: * platform/mac/fast/repaint/layout-state-scrolloffset-expected.checksum: * platform/mac/fast/repaint/layout-state-scrolloffset-expected.png: * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.checksum: * platform/mac/fast/repaint/layout-state-scrolloffset2-expected.png: * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.checksum: * platform/mac/fast/repaint/layout-state-scrolloffset3-expected.png: * platform/mac/fast/repaint/line-overflow-expected.checksum: * platform/mac/fast/repaint/line-overflow-expected.png: * platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum: * platform/mac/fast/repaint/lines-with-layout-delta-expected.png: * platform/mac/fast/repaint/list-marker-2-expected.checksum: * platform/mac/fast/repaint/list-marker-2-expected.png: * platform/mac/fast/repaint/list-marker-expected.checksum: * platform/mac/fast/repaint/list-marker-expected.png: * platform/mac/fast/repaint/make-children-non-inline-expected.checksum: * platform/mac/fast/repaint/make-children-non-inline-expected.png: * platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum: * platform/mac/fast/repaint/moving-shadow-on-container-expected.png: * platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum: * platform/mac/fast/repaint/moving-shadow-on-path-expected.png: * platform/mac/fast/repaint/multicol-repaint-expected.checksum: * platform/mac/fast/repaint/multicol-repaint-expected.png: * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum: * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png: * platform/mac/fast/repaint/outline-child-repaint-expected.checksum: * platform/mac/fast/repaint/outline-child-repaint-expected.png: * platform/mac/fast/repaint/outline-inset-expected.png: * platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum: * platform/mac/fast/repaint/outline-repaint-glitch-expected.png: * platform/mac/fast/repaint/outline-shrinking-expected.checksum: * platform/mac/fast/repaint/outline-shrinking-expected.png: * platform/mac/fast/repaint/overflow-clip-subtree-layout-expected.png: * platform/mac/fast/repaint/overflow-delete-line-expected.checksum: * platform/mac/fast/repaint/overflow-delete-line-expected.png: * platform/mac/fast/repaint/overflow-into-content-expected.png: * platform/mac/fast/repaint/overflow-outline-repaint-expected.checksum: * platform/mac/fast/repaint/overflow-outline-repaint-expected.png: * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum: * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png: * platform/mac/fast/repaint/overflow-scroll-delete-expected.checksum: * platform/mac/fast/repaint/overflow-scroll-delete-expected.png: * platform/mac/fast/repaint/reflection-redraw-expected.checksum: * platform/mac/fast/repaint/reflection-redraw-expected.png: * platform/mac/fast/repaint/reflection-repaint-test-expected.png: * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png: * platform/mac/fast/repaint/repaint-resized-overflow-expected.checksum: * platform/mac/fast/repaint/repaint-resized-overflow-expected.png: * platform/mac/fast/repaint/search-field-cancel-expected.checksum: * platform/mac/fast/repaint/search-field-cancel-expected.png: * platform/mac/fast/repaint/selected-replaced-expected.checksum: * platform/mac/fast/repaint/selected-replaced-expected.png: * platform/mac/fast/repaint/selection-after-delete-expected.checksum: * platform/mac/fast/repaint/selection-after-delete-expected.png: * platform/mac/fast/repaint/selection-after-remove-expected.checksum: * platform/mac/fast/repaint/selection-after-remove-expected.png: * platform/mac/fast/repaint/selection-clear-expected.checksum: * platform/mac/fast/repaint/selection-clear-expected.png: * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum: * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png: * platform/mac/fast/repaint/selection-rl-expected.checksum: * platform/mac/fast/repaint/selection-rl-expected.png: * platform/mac/fast/repaint/shadow-multiple-horizontal-expected.png: * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.checksum: * platform/mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.checksum: * platform/mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: * platform/mac/fast/repaint/shadow-multiple-vertical-expected.png: * platform/mac/fast/repaint/stacked-diacritics-expected.checksum: * platform/mac/fast/repaint/stacked-diacritics-expected.png: * platform/mac/fast/repaint/static-to-positioned-expected.checksum: * platform/mac/fast/repaint/static-to-positioned-expected.png: * platform/mac/fast/repaint/subtree-root-clip-2-expected.png: * platform/mac/fast/repaint/subtree-root-clip-3-expected.png: * platform/mac/fast/repaint/subtree-root-clip-expected.png: * platform/mac/fast/repaint/subtree-root-skipped-expected.checksum: * platform/mac/fast/repaint/subtree-root-skipped-expected.png: * platform/mac/fast/repaint/table-cell-collapsed-border-expected.checksum: * platform/mac/fast/repaint/table-cell-collapsed-border-expected.png: * platform/mac/fast/repaint/table-cell-move-expected.checksum: * platform/mac/fast/repaint/table-cell-move-expected.png: * platform/mac/fast/repaint/table-cell-vertical-overflow-expected.png: * platform/mac/fast/repaint/table-col-background-expected.png: * platform/mac/fast/repaint/table-collapsed-border-expected.checksum: * platform/mac/fast/repaint/table-collapsed-border-expected.png: * platform/mac/fast/repaint/table-extra-bottom-grow-expected.checksum: * platform/mac/fast/repaint/table-extra-bottom-grow-expected.png: * platform/mac/fast/repaint/table-outer-border-expected.png: * platform/mac/fast/repaint/table-row-expected.png: * platform/mac/fast/repaint/table-section-overflow-expected.png: * platform/mac/fast/repaint/table-section-repaint-expected.png: * platform/mac/fast/repaint/table-two-pass-layout-overpaint-expected.png: * platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum: * platform/mac/fast/repaint/text-append-dirty-lines-expected.png: * platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.checksum: * platform/mac/fast/repaint/text-selection-rect-in-overflow-2-expected.png: * platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.checksum: * platform/mac/fast/repaint/text-selection-rect-in-overflow-expected.png: * platform/mac/fast/repaint/text-shadow-expected.checksum: * platform/mac/fast/repaint/text-shadow-expected.png: * platform/mac/fast/repaint/text-shadow-horizontal-expected.checksum: * platform/mac/fast/repaint/text-shadow-horizontal-expected.png: * platform/mac/fast/repaint/transform-absolute-child-expected.png: * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum: * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png: * platform/mac/fast/repaint/transform-disable-layoutstate-expected.png: * platform/mac/fast/repaint/transform-layout-repaint-expected.png: * platform/mac/fast/repaint/transform-relative-position-expected.checksum: * platform/mac/fast/repaint/transform-relative-position-expected.png: * platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum: * platform/mac/fast/repaint/transform-repaint-descendants-expected.png: * platform/mac/fast/repaint/transform-replaced-shadows-expected.png: * platform/mac/fast/repaint/transform-translate-expected.png: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71851 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Nov, 2010 1 commit
-
-
mitz@apple.com authored
Reviewed by Dave Hyatt. Part of: Make tables work with vertical text https://bugs.webkit.org/show_bug.cgi?id=46417 Test: fast/blockflow/table-hit-test.html * rendering/RenderTable.cpp: (WebCore::RenderTable::nodeAtPoint): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::nodeAtPoint): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::nodeAtPoint): LayoutTests: Make tables work with vertical text https://bugs.webkit.org/show_bug.cgi?id=46417 Reviewed by Dave Hyatt. * fast/blockflow/table-hit-test-expected.txt: Added. * fast/blockflow/table-hit-test.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71668 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Nov, 2010 1 commit
-
-
mitz@apple.com authored
WebCore: Made table layout and painting work with all writing modes. Hit-testing, repainting, tables where some elements have their own layers, and cells whose writing mode differs from the table’s are not supported yet. Reviewed by Dave Hyatt. Make tables work with vertical text https://bugs.webkit.org/show_bug.cgi?id=46417 Tests: fast/table/027-vertical.html fast/table/028-vertical.html fast/table/035-vertical.html fast/table/038-vertical.html fast/table/040-vertical.html fast/table/auto-with-percent-height-vertical.html fast/table/border-collapsing/001-vertical.html fast/table/border-collapsing/002-vertical.html fast/table/border-collapsing/003-vertical.html fast/table/border-collapsing/004-vertical.html fast/table/border-collapsing/border-collapsing-head-foot-vertical.html fast/table/border-collapsing/equal-precedence-resolution-vertical.html fast/table/border-collapsing/rtl-border-collapsing-vertical.html fast/table/colspanMinWidth-vertical.html fast/table/fixed-with-auto-with-colspan-vertical.html fast/table/growCellForImageQuirk-vertical.html fast/table/height-percent-test-vertical.html fast/table/percent-widths-stretch-vertical.html fast/table/rowspan-paint-order-vertical.html fast/table/table-display-types-vertical.html * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to allow all writing modes for tables, make row groups, rows, column groups and columns inherit the table’s writing mode. For now, make cells do this too. * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::parseMappedAttribute): Map align=center using logical properties. * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): Initialize m_borderStart and m_borderEnd. (WebCore::RenderTable::styleDidChange): Changed the rule for when to use auto layout to look at the logical width instead of the width. (WebCore::RenderTable::computeLogicalWidth): Uses logical widths and works with perpendicular containing blocks. (WebCore::RenderTable::layout): Use logical lengths. (WebCore::RenderTable::setCellLogicalWidths): Renamed setCellWidths() to this and updated for the renaming of RenderTableSection::setCellWidths(). (WebCore::RenderTable::paintObject): Account for flipped modes. (WebCore::RenderTable::subtractCaptionRect): Added this helper method the considers writing modes. (WebCore::RenderTable::paintBoxDecorations): Adopted subtractCaptionRect(). (WebCore::RenderTable::paintMask): Ditto. (WebCore::RenderTable::computePreferredLogicalWidths): Updated for the renaming of recalcHorizontalBorders(). (WebCore::RenderTable::calcBorderStart): Renamed calcBorderLeft() to this and changed it to use borderStart(). Splits odd number of pixels based on the physical side. (WebCore::RenderTable::calcBorderEnd): Similar. (WebCore::RenderTable::recalcBordersInRowDirection): Renamed recalcHorizontalBorders() to this and updated for other renames. (WebCore::RenderTable::borderBefore): Replaced borderTop() with this. (WebCore::RenderTable::borderAfter): Similar. (WebCore::RenderTable::outerBorderBefore): Similar. (WebCore::RenderTable::outerBorderAfter): Similar. (WebCore::RenderTable::outerBorderStart): Similar. (WebCore::RenderTable::outerBorderEnd): Similar. (WebCore::RenderTable::firstLineBoxBaseline): Changed to use logical heights. (WebCore::RenderTable::overflowClipRect): Account for writing modes. * rendering/RenderTable.h: (WebCore::RenderTable::borderStart): (WebCore::RenderTable::borderEnd): (WebCore::RenderTable::borderLeft): (WebCore::RenderTable::borderRight): (WebCore::RenderTable::borderTop): (WebCore::RenderTable::borderBottom): (WebCore::RenderTable::outerBorderLeft): (WebCore::RenderTable::outerBorderRight): (WebCore::RenderTable::outerBorderTop): (WebCore::RenderTable::outerBorderBottom): (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection): Changed to match its name. * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::styleWillChange): Changed to detect changes to logical height. * rendering/RenderTableSection.cpp: (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative): Renamed and changed to use logical heights. (WebCore::RenderTableSection::RenderTableSection): Updated initializers for new member variables. (WebCore::RenderTableSection::addChild): Updated for rename. (WebCore::RenderTableSection::ensureRows): Ditto. (WebCore::RenderTableSection::addCell): Ditto. Also use logical heights. (WebCore::RenderTableSection::setCellLogicalWidths): Renamed setCellWidths() to this, changed to use logical widths. (WebCore::RenderTableSection::calcRowLogicalHeight): Added “logical” to the name. Updated with logical heights. (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::calcOuterBorderBefore): (WebCore::RenderTableSection::calcOuterBorderAfter): (WebCore::RenderTableSection::calcOuterBorderStart): (WebCore::RenderTableSection::calcOuterBorderEnd): (WebCore::RenderTableSection::recalcOuterBorder): (WebCore::RenderTableSection::firstLineBoxBaseline): (WebCore::RenderTableSection::paintCell): (WebCore::RenderTableSection::recalcCells): * rendering/RenderTableSection.h: (WebCore::RenderTableSection::outerBorderBefore): (WebCore::RenderTableSection::outerBorderAfter): (WebCore::RenderTableSection::outerBorderStart): (WebCore::RenderTableSection::outerBorderEnd): LayoutTests: Make tables work with vertical text https://bugs.webkit.org/show_bug.cgi?id=46417 Reviewed by Dave Hyatt. * fast/table/027-vertical.html: Copied from LayoutTests/fast/table/027.html. * fast/table/028-vertical.html: Copied from LayoutTests/fast/table/028.html. * fast/table/035-vertical.html: Copied from LayoutTests/fast/table/035.html. * fast/table/038-vertical.html: Copied from LayoutTests/fast/table/038.html. * fast/table/040-vertical.html: Copied from LayoutTests/fast/table/040.html. * fast/table/auto-with-percent-height-vertical.html: Copied from LayoutTests/fast/table/auto-with-percent-height.html. * fast/table/border-collapsing/001-vertical.html: Copied from LayoutTests/fast/table/border-collapsing/001.html. * fast/table/border-collapsing/002-vertical.html: Copied from LayoutTests/fast/table/border-collapsing/002.html. * fast/table/border-collapsing/003-vertical.html: Copied from LayoutTests/fast/table/border-collapsing/003.html. * fast/table/border-collapsing/004-vertical.html: Copied from LayoutTests/fast/table/border-collapsing/004.html. * fast/table/border-collapsing/border-collapsing-head-foot-vertical.html: Copied from LayoutTests/fast/table/border-collapsing/border-collapsing-head-foot.html. * fast/table/border-collapsing/equal-precedence-resolution-vertical.html: Copied from LayoutTests/fast/table/border-collapsing/equal-precedence-resolution.html. * fast/table/border-collapsing/rtl-border-collapsing-vertical.html: Copied from LayoutTests/fast/table/border-collapsing/rtl-border-collapsing.html. * fast/table/colspanMinWidth-vertical.html: Copied from LayoutTests/fast/table/colspanMinWidth.html. * fast/table/fixed-with-auto-with-colspan-vertical.html: Copied from LayoutTests/fast/table/fixed-with-auto-with-colspan.html. * fast/table/growCellForImageQuirk-vertical.html: Copied from LayoutTests/fast/table/growCellForImageQuirk.html. * fast/table/height-percent-test-vertical.html: Copied from LayoutTests/fast/table/height-percent-test.html. * fast/table/percent-widths-stretch-vertical.html: Copied from LayoutTests/fast/table/percent-widths-stretch.html. * fast/table/rowspan-paint-order-vertical.html: Copied from LayoutTests/fast/table/rowspan-paint-order.html. * fast/table/table-display-types-vertical.html: Copied from LayoutTests/fast/table/table-display-types.html. * platform/mac/fast/table/027-vertical-expected.checksum: Added. * platform/mac/fast/table/027-vertical-expected.png: Added. * platform/mac/fast/table/027-vertical-expected.txt: Added. * platform/mac/fast/table/028-vertical-expected.checksum: Added. * platform/mac/fast/table/028-vertical-expected.png: Added. * platform/mac/fast/table/028-vertical-expected.txt: Added. * platform/mac/fast/table/035-vertical-expected.checksum: Added. * platform/mac/fast/table/035-vertical-expected.png: Added. * platform/mac/fast/table/035-vertical-expected.txt: Added. * platform/mac/fast/table/038-vertical-expected.checksum: Added. * platform/mac/fast/table/038-vertical-expected.png: Added. * platform/mac/fast/table/038-vertical-expected.txt: Added. * platform/mac/fast/table/040-vertical-expected.checksum: Added. * platform/mac/fast/table/040-vertical-expected.png: Added. * platform/mac/fast/table/040-vertical-expected.txt: Added. * platform/mac/fast/table/auto-with-percent-height-vertical-expected.checksum: Added. * platform/mac/fast/table/auto-with-percent-height-vertical-expected.png: Added. * platform/mac/fast/table/auto-with-percent-height-vertical-expected.txt: Added. * platform/mac/fast/table/border-collapsing/001-vertical-expected.checksum: Added. * platform/mac/fast/table/border-collapsing/001-vertical-expected.png: Added. * platform/mac/fast/table/border-collapsing/001-vertical-expected.txt: Added. * platform/mac/fast/table/border-collapsing/002-vertical-expected.checksum: Added. * platform/mac/fast/table/border-collapsing/002-vertical-expected.png: Added. * platform/mac/fast/table/border-collapsing/002-vertical-expected.txt: Added. * platform/mac/fast/table/border-collapsing/003-vertical-expected.checksum: Added. * platform/mac/fast/table/border-collapsing/003-vertical-expected.png: Added. * platform/mac/fast/table/border-collapsing/003-vertical-expected.txt: Added. * platform/mac/fast/table/border-collapsing/004-vertical-expected.checksum: Added. * platform/mac/fast/table/border-collapsing/004-vertical-expected.png: Added. * platform/mac/fast/table/border-collapsing/004-vertical-expected.txt: Added. * platform/mac/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.checksum: Added. * platform/mac/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.png: Added. * platform/mac/fast/table/border-collapsing/border-collapsing-head-foot-vertical-expected.txt: Added. * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.checksum: Added. * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.png: Added. * platform/mac/fast/table/border-collapsing/equal-precedence-resolution-vertical-expected.txt: Added. * platform/mac/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.checksum: Added. * platform/mac/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.png: Added. * platform/mac/fast/table/border-collapsing/rtl-border-collapsing-vertical-expected.txt: Added. * platform/mac/fast/table/colspanMinWidth-vertical-expected.checksum: Added. * platform/mac/fast/table/colspanMinWidth-vertical-expected.png: Added. * platform/mac/fast/table/colspanMinWidth-vertical-expected.txt: Added. * platform/mac/fast/table/fixed-with-auto-with-colspan-vertical-expected.checksum: Added. * platform/mac/fast/table/fixed-with-auto-with-colspan-vertical-expected.png: Added. * platform/mac/fast/table/fixed-with-auto-with-colspan-vertical-expected.txt: Added. * platform/mac/fast/table/growCellForImageQuirk-vertical-expected.checksum: Added. * platform/mac/fast/table/growCellForImageQuirk-vertical-expected.png: Added. * platform/mac/fast/table/growCellForImageQuirk-vertical-expected.txt: Added. * platform/mac/fast/table/height-percent-test-vertical-expected.checksum: Added. * platform/mac/fast/table/height-percent-test-vertical-expected.png: Added. * platform/mac/fast/table/height-percent-test-vertical-expected.txt: Added. * platform/mac/fast/table/percent-widths-stretch-vertical-expected.checksum: Added. * platform/mac/fast/table/percent-widths-stretch-vertical-expected.png: Added. * platform/mac/fast/table/percent-widths-stretch-vertical-expected.txt: Added. * platform/mac/fast/table/rowspan-paint-order-vertical-expected.checksum: Added. * platform/mac/fast/table/rowspan-paint-order-vertical-expected.png: Added. * platform/mac/fast/table/rowspan-paint-order-vertical-expected.txt: Added. * platform/mac/fast/table/table-display-types-vertical-expected.checksum: Added. * platform/mac/fast/table/table-display-types-vertical-expected.png: Added. * platform/mac/fast/table/table-display-types-vertical-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 03 Nov, 2010 1 commit
-
-
mitz@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=46191 Reviewed by Dave Hyatt. No new tests since tables don’t support different block flows yet. This change still doesn’t support cells whose block flow differs from the table’s. * rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): Updated for the renaming of styleOrColWidth(). (WebCore::AutoTableLayout::calcEffectiveWidth): Ditto. * rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::calcWidthArray): Ditto. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::computePreferredLogicalWidths): Ditto. * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::styleOrColLogicalWidth): Renamed styleOrColWidth() to this and changed to use logical widths. (WebCore::RenderTableCell::computePreferredLogicalWidths): Updated for the above rename. (WebCore::RenderTableCell::updateLogicalWidth): Renamed updateWidth() to this and changed to set the logical width. (WebCore::RenderTableCell::collapsedStartBorder): Changed collapsedLeftBorder() into this. Note that “start” here will refer to the table’s block flow, not the cell’s, once we allow the two to differ. (WebCore::RenderTableCell::collapsedEndBorder): Similar. (WebCore::RenderTableCell::collapsedBeforeBorder): Similar. (WebCore::RenderTableCell::collapsedAfterBorder): Similar. (WebCore::RenderTableCell::collapsedLeftBorder): Resolves “left” to a logical side using the table’s block flow. (WebCore::RenderTableCell::collapsedRightBorder): Similar. (WebCore::RenderTableCell::collapsedTopBorder): Similar. (WebCore::RenderTableCell::collapsedBottomBorder): Similar. (WebCore::RenderTableCell::borderStart): Use borderHalfStart(). (WebCore::RenderTableCell::borderEnd): Similar. (WebCore::RenderTableCell::borderBefore): Similar. (WebCore::RenderTableCell::borderAfter): Similar. (WebCore::RenderTableCell::borderHalfLeft): Resolves “left” to a logical side using the table’s block flow. (WebCore::RenderTableCell::borderHalfRight): Similar. (WebCore::RenderTableCell::borderHalfTop): Similar. (WebCore::RenderTableCell::borderHalfBottom): Similar. (WebCore::RenderTableCell::borderHalfStart): Added. Uses collapsedStartBorder(). Splits odd widths based on physical side. (WebCore::RenderTableCell::borderHalfEnd): Similar. (WebCore::RenderTableCell::borderHalfBefore): Similar. (WebCore::RenderTableCell::borderHalfAfter): Similar. (WebCore::RenderTableCell::collectBorderStyles): Use logical methods. (WebCore::RenderTableCell::paintCollapsedBorder): Updated. * rendering/RenderTableCell.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setCellWidths): Updated for the renaming of updateWidth(). * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::borderBefore): Added. (WebCore::RenderStyle::borderAfter): Added. (WebCore::RenderStyle::borderStart): Added. (WebCore::RenderStyle::borderEnd): Adeed. * rendering/style/RenderStyle.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Oct, 2010 1 commit
-
-
https://bugs.webkit.org/show_bug.cgi?id=47514bdakin@apple.com authored
transforms should affect scrolling Reviewed by Dave Hyatt. This patch causes topmostPosition, lowestPosition, leftmostPosition, and rightmostPosition to take transforms into account. Compute the topmost/lowest/leftmost/rightmost position without factoring in the block's transform until the end. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::topmostPosition): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): * rendering/RenderBlock.h: transformedFrameRect() returns the frameRect() transformed to the layer's transform. applyLayerTransformToRect() does the same thing for the input rect. * rendering/RenderBox.cpp: (WebCore::RenderBox::applyLayerTransformToRect): (WebCore::RenderBox::transformedFrameRect): (WebCore::RenderBox::topmostPosition): (WebCore::RenderBox::lowestPosition): (WebCore::RenderBox::rightmostPosition): (WebCore::RenderBox::leftmostPosition): * rendering/RenderBox.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::topmostPosition): (WebCore::RenderMedia::lowestPosition): (WebCore::RenderMedia::rightmostPosition): (WebCore::RenderMedia::leftmostPosition): * rendering/RenderMedia.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::topmostPosition): (WebCore::RenderTableSection::lowestPosition): (WebCore::RenderTableSection::rightmostPosition): (WebCore::RenderTableSection::leftmostPosition): * rendering/RenderTableSection.h: LayoutTests: New tests and updated results for https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should affect scrolling Reviewed by Dave Hyatt. New tests. * fast/transforms/rotated-transform-affects-scrolling-1.html: Added. * fast/transforms/rotated-transform-affects-scrolling-2.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 14 Oct, 2010 1 commit
-
-
bdakin@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=47514 CSS transforms should affect scrolling by adding topmostPosition(). Reviewed by Dave Hyatt. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::topmostPosition): * rendering/RenderBlock.h: * rendering/RenderBox.cpp: (WebCore::RenderBox::topmostPosition): * rendering/RenderBox.h: * rendering/RenderMedia.cpp: (WebCore::RenderMedia::topmostPosition): * rendering/RenderMedia.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::topmostPosition): * rendering/RenderTableSection.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Oct, 2010 1 commit
-
-
tonikitoo@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=47261 Patch by Antonio Gomes <agomes@rim.org> on 2010-10-06 Reviewed by Kenneth Rohde Christiansen. As per Kenneth Christiansen request inhttps://bugs.webkit.org/show_bug.cgi?id=46336#c20. * WebCore.exp.in: * dom/Document.cpp: (WebCore::Document::nodesFromRect): * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::nodeAtPoint): * rendering/HitTestResult.cpp: (WebCore::HitTestResult::addNodeToRectBasedTestResult): (WebCore::HitTestResult::rectForPoint): * rendering/HitTestResult.h: (WebCore::HitTestResult::rectForPoint): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::nodeAtPoint): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::nodeAtPoint): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::hitTestColumns): * rendering/RenderBox.cpp: (WebCore::RenderBox::nodeAtPoint): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::hitTestChildLayerColumns): * rendering/RenderTable.cpp: (WebCore::RenderTable::nodeAtPoint): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::nodeAtPoint): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69192 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 Oct, 2010 1 commit
-
-
fsamuel@chromium.org authored
Reviewed by Darin Adler. REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages https://bugs.webkit.org/show_bug.cgi?id=45131 Added a layout test to check for paint rects that touch the border of an adjacent sell, when border-collapse: separate is set for the table. * fast/table/simple_paint.html: Don't do rtl as it doesn't exercise some of the new paint code. * fast/table/simple_paint_separate_borders-expected.checksum: Added. * fast/table/simple_paint_separate_borders-expected.png: Added. * fast/table/simple_paint_separate_borders-expected.txt: Added. * fast/table/simple_paint_separate_borders.html: Added. 2010-10-05 Fady Samuel <fsamuel@chromium.org> Reviewed by Darin Adler. REGRESSION (r65539): One pixel white gaps when scrolling Trac changeset pages https://bugs.webkit.org/show_bug.cgi?id=45131 When border-collapse: separate property is set on the table, paintObject may skip repainting cells, if the dirty region only touches one row/col of pixels. Test: fast/table/simple_paint_separate_borders.html * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paintObject): Don't subtract one from the right and bottom of the dirty paint rect. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69161 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 30 Sep, 2010 1 commit
-
-
hyatt@apple.com authored
Reviewed by Beth Dakin. Add isLeftToRightDirection() to RenderStyle and change callers that did direction() == LTR and direction() == RTL to use this instead. * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::isLeftPage): (WebCore::CSSStyleSelector::applyProperty): * editing/Editor.cpp: (WebCore::Editor::hasBidiSelection): * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawTextInternal): * rendering/InlineBox.h: (WebCore::InlineBox::isLeftToRightDirection): (WebCore::InlineBox::caretLeftmostOffset): (WebCore::InlineBox::caretRightmostOffset): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): (WebCore::InlineFlowBox::placeBoxesInInlineDirection): (WebCore::InlineFlowBox::paintTextDecorations): * rendering/InlineIterator.h: (WebCore::InlineIterator::direction): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::computeRectForReplacementMarker): (WebCore::InlineTextBox::textPos): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::adjustPositionedBlock): (WebCore::RenderBlock::determineLogicalLeftPositionForChild): (WebCore::RenderBlock::paintColumnRules): (WebCore::RenderBlock::paintColumnContents): (WebCore::RenderBlock::getHorizontalSelectionGapInfo): (WebCore::RenderBlock::logicalLeftOffsetForLine): (WebCore::RenderBlock::logicalRightOffsetForLine): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::columnRectAt): (WebCore::RenderBlock::layoutColumns): (WebCore::getBorderPaddingMargin): (WebCore::RenderBlock::localCaretRect): (WebCore::RenderBlock::marginStartForChild): (WebCore::RenderBlock::marginEndForChild): (WebCore::RenderBlock::setMarginStartForChild): (WebCore::RenderBlock::setMarginEndForChild): * rendering/RenderBlockLineLayout.cpp: (WebCore::getBorderPaddingMargin): (WebCore::RenderBlock::constructLine): (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): (WebCore::RenderBlock::determineStartPosition): (WebCore::RenderBlock::skipTrailingWhitespace): (WebCore::RenderBlock::skipLeadingWhitespace): (WebCore::RenderBlock::findNextLineBreak): (WebCore::RenderBlock::checkLinesForTextOverflow): * rendering/RenderBox.cpp: (WebCore::RenderBox::marginStart): (WebCore::RenderBox::marginEnd): (WebCore::RenderBox::setMarginStart): (WebCore::RenderBox::setMarginEnd): (WebCore::RenderBox::scrollWidth): (WebCore::RenderBox::computeInlineDirectionMargins): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::computePositionedLogicalWidthUsing): (WebCore::RenderBox::computePositionedLogicalWidthReplaced): (WebCore::RenderBox::localCaretRect): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::relativePositionOffsetX): * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::layoutLegend): * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): * rendering/RenderFlexibleBox.cpp: (WebCore::FlexBoxIterator::FlexBoxIterator): (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::computeScrollDimensions): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::positionListMarker): (WebCore::RenderListItem::markerTextWithSuffix): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): (WebCore::RenderListMarker::updateMargins): (WebCore::RenderListMarker::suffix): * rendering/RenderMarquee.cpp: (WebCore::RenderMarquee::computePosition): * rendering/RenderMeter.cpp: (WebCore::RenderMeter::valuePartRect): * rendering/RenderProgress.cpp: (WebCore::RenderProgress::valuePartRect): * rendering/RenderTable.cpp: (WebCore::RenderTable::calcBorderLeft): (WebCore::RenderTable::calcBorderRight): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::clippedOverflowRectForRepaint): (WebCore::RenderTableCell::borderHalfLeft): (WebCore::RenderTableCell::borderHalfRight): (WebCore::RenderTableCell::collectBorderStyles): (WebCore::RenderTableCell::paintCollapsedBorder): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::recalcOuterBorder): (WebCore::RenderTableSection::paintObject): (WebCore::RenderTableSection::nodeAtPoint): * rendering/RenderText.cpp: (WebCore::RenderText::localCaretRect): (WebCore::RenderText::positionLineBox): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::forwardEvent): * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::levelIndicatorFor): (WebCore::RenderThemeMac::paintProgressBar): * rendering/RenderTreeAsText.cpp: (WebCore::writeTextRun): * rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::measureCharacter): (WebCore::SVGInlineTextBox::buildLayoutInformation): * rendering/SVGRenderTreeAsText.cpp: (WebCore::writeSVGInlineTextBox): * rendering/SVGTextLayoutUtilities.cpp: (WebCore::svgTextRunForInlineTextBox): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::borderStartWidth): (WebCore::RenderStyle::borderEndWidth): (WebCore::RenderStyle::marginStart): (WebCore::RenderStyle::marginEnd): (WebCore::RenderStyle::marginStartUsing): (WebCore::RenderStyle::marginEndUsing): (WebCore::RenderStyle::paddingStart): (WebCore::RenderStyle::paddingEnd): * rendering/style/RenderStyle.h: (WebCore::InheritedFlags::isLeftToRightDirection): * wml/WMLTableElement.cpp: (WebCore::WMLTableElement::alignCells): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68817 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 21 Sep, 2010 1 commit
-
-
https://bugs.webkit.org/show_bug.cgi?id=46125hyatt@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=46125, convert table cell intrinsic padding from top/bottom-based to before/after-based. A vertical text table can have intrinsic padding built into the left/right direction (and this allows the base class logical padding methods on RenderBoxModelObject to be safe to use). Reviewed by Dan Bernstein. * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): (WebCore::RenderTableCell::paddingTop): (WebCore::RenderTableCell::paddingBottom): (WebCore::RenderTableCell::paddingLeft): (WebCore::RenderTableCell::paddingRight): (WebCore::RenderTableCell::paddingBefore): (WebCore::RenderTableCell::paddingAfter): * rendering/RenderTableCell.h: (WebCore::RenderTableCell::setIntrinsicPaddingBefore): (WebCore::RenderTableCell::setIntrinsicPaddingAfter): (WebCore::RenderTableCell::setIntrinsicPadding): (WebCore::RenderTableCell::intrinsicPaddingBefore): (WebCore::RenderTableCell::intrinsicPaddingAfter): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): * rendering/RenderTreeAsText.cpp: (WebCore::RenderTreeAsText::writeRenderObject): (WebCore::writeTextRun): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Sep, 2010 2 commits
-
-
https://bugs.webkit.org/show_bug.cgi?id=46114hyatt@apple.com authored
Reviewed by Beth Dakin. Patch layoutRows to apply the layout delta when setting a new cell location prior to laying out the cell. The layout delta is then removed after layout has happened when the repaint check is done. This change makes cell layout match block child layout, and now the cells have the correct new location up front when laying out (a necessity for pagination). * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
https://bugs.webkit.org/show_bug.cgi?id=46030hyatt@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=46030, aintitcool.com doesn't paginate correctly when printed. Reviewed by Sam Weinig. This happens because the site always has a document width that will exceed the page width. We incorrectly apply a double scale instead of clipping after the first scale still doesn't fit. The fix for the issue is to cap the right layout overflow to the page width and to just clip out any additional excess. This is the code in FrameView.cpp. This patch also cleans up table cell invalidation to reduce the # of relayouts. This change is not a correctness fix. It's just performance. I'm not sure how to write a test for this, since the double scale is an artifact of how WebKit mac calls back in when really printing. * page/FrameView.cpp: (WebCore::FrameView::forceLayoutForPagination): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlockChild): (WebCore::RenderBlock::layoutPositionedObjects): (WebCore::RenderBlock::positionNewFloats): * rendering/RenderBlock.h: (WebCore::RenderBlock::markForPaginationRelayout): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67853 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Sep, 2010 1 commit
-
-
https://bugs.webkit.org/show_bug.cgi?id=38402hyatt@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=38402, paginate columns at layout time rather than at paint time. Reviewed by Darin Adler. WebCore: This patch adds support for column breaking at layout time rather than at paint time. New variables have been added to LayoutState and to ColumnInfo to track column information while laying out. The basic idea behind this patch is to retain the columns' paint-time hackery of transforming one long vertical strip into multiple columns. Now, however, layout is aware of the columns and will move objects up and down vertically in order to ensure they don't intersect a break. Many new tests added in fast/multicol and new results added for existing fast/multicol tests. * rendering/ColumnInfo.h: (WebCore::ColumnInfo::ColumnInfo): (WebCore::ColumnInfo::columnCount): (WebCore::ColumnInfo::columnHeight): (WebCore::ColumnInfo::setColumnCountAndHeight): (WebCore::ColumnInfo::setColumnHeight): (WebCore::ColumnInfo::updateMinimumColumnHeight): (WebCore::ColumnInfo::minimumColumnHeight): (WebCore::ColumnInfo::forcedBreaks): (WebCore::ColumnInfo::forcedBreakOffset): (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks): (WebCore::ColumnInfo::clearForcedBreaks): (WebCore::ColumnInfo::addForcedBreak): * rendering/LayoutState.cpp: (WebCore::LayoutState::LayoutState): (WebCore::LayoutState::clearPaginationInformation): (WebCore::LayoutState::pageY): (WebCore::LayoutState::addForcedColumnBreak): * rendering/LayoutState.h: (WebCore::LayoutState::LayoutState): (WebCore::LayoutState::paginatingColumns): (WebCore::LayoutState::paginated): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): (WebCore::RenderBlock::~RenderBlock): (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::estimateVerticalPosition): (WebCore::RenderBlock::layoutBlockChild): (WebCore::RenderBlock::layoutPositionedObjects): (WebCore::RenderBlock::paintColumnRules): (WebCore::RenderBlock::paintColumnContents): (WebCore::RenderBlock::paintChildren): (WebCore::RenderBlock::insertFloatingObject): (WebCore::RenderBlock::removeFloatingObjects): (WebCore::RenderBlock::positionNewFloats): (WebCore::RenderBlock::positionNewFloatOnLine): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): (WebCore::RenderBlock::markDescendantBlocksAndLinesForLayout): (WebCore::RenderBlock::hitTestColumns): (WebCore::RenderBlock::setDesiredColumnCountAndWidth): (WebCore::RenderBlock::columnCount): (WebCore::RenderBlock::columnRectAt): (WebCore::RenderBlock::layoutColumns): (WebCore::RenderBlock::adjustPointToColumnContents): (WebCore::RenderBlock::adjustRectForColumns): (WebCore::RenderBlock::adjustForColumns): (WebCore::RenderBlock::setMaxTopMargins): (WebCore::RenderBlock::setMaxBottomMargins): (WebCore::RenderBlock::setPaginationStrut): (WebCore::RenderBlock::setPageY): (WebCore::RenderBlock::nextPageTop): (WebCore::inNormalFlow): (WebCore::RenderBlock::applyBeforeBreak): (WebCore::RenderBlock::applyAfterBreak): (WebCore::RenderBlock::adjustForUnsplittableChild): (WebCore::RenderBlock::adjustLinePositionForPagination): * rendering/RenderBlock.h: (WebCore::RenderBlock::paginationStrut): (WebCore::RenderBlock::pageY): (WebCore::RenderBlock::maxTopPosMargin): (WebCore::RenderBlock::maxTopNegMargin): (WebCore::RenderBlock::maxBottomPosMargin): (WebCore::RenderBlock::maxBottomNegMargin): (WebCore::RenderBlock::initMaxMarginValues): (WebCore::RenderBlock::FloatingObject::FloatingObject): (WebCore::RenderBlock::FloatingObject::type): (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData): * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::determineStartPosition): (WebCore::RenderBlock::skipLeadingWhitespace): (WebCore::RenderBlock::findNextLineBreak): * rendering/RenderBox.cpp: (WebCore::RenderBox::mapLocalToContainer): (WebCore::RenderBox::computeRectForRepaint): (WebCore::RenderBox::markDescendantBlocksAndLinesForLayout): * rendering/RenderBox.h: * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderFlexibleBox.h: * rendering/RenderInline.cpp: (WebCore::RenderInline::computeRectForRepaint): (WebCore::RenderInline::mapLocalToContainer): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updatePagination): (WebCore::RenderLayer::paintChildLayerIntoColumns): (WebCore::RenderLayer::hitTestChildLayerColumns): * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::paint): * rendering/RenderTable.cpp: (WebCore::RenderTable::RenderTable): (WebCore::RenderTable::layout): * rendering/RenderTable.h: * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): (WebCore::RenderView::pushLayoutState): * rendering/RenderView.h: (WebCore::RenderView::setTruncatedAt): (WebCore::RenderView::pushLayoutState): (WebCore::RenderView::popLayoutState): (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): (WebCore::LayoutStateMaintainer::push): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::RootInlineBox): (WebCore::RootInlineBox::paginationStrut): (WebCore::RootInlineBox::setPaginationStrut): LayoutTests: Add many new multicol layout tests that demonstrate new pagination features. * fast/multicol/border-padding-pagination.html: Added. * fast/multicol/client-rects-expected.checksum: * fast/multicol/client-rects-expected.png: * fast/multicol/client-rects-expected.txt: * fast/multicol/column-break-with-balancing.html: Added. * fast/multicol/float-paginate-complex.html: Added. * fast/multicol/float-paginate.html: * fast/multicol/float-truncation.html: * fast/multicol/margin-collapse.html: Added. * fast/multicol/max-height-columns-block.html: Added. * fast/multicol/positioned-split.html: Added. * fast/multicol/shadow-breaking.html: Added. * fast/multicol/single-line-expected.checksum: * fast/multicol/single-line-expected.png: * fast/multicol/table-margin-collapse.html: Added. * fast/multicol/table-vertical-align.html: Added. * fast/multicol/unsplittable-inline-block.html: Added. * platform/mac/fast/multicol/border-padding-pagination-expected.checksum: Added. * platform/mac/fast/multicol/border-padding-pagination-expected.png: Added. * platform/mac/fast/multicol/border-padding-pagination-expected.txt: Added. * platform/mac/fast/multicol/column-break-with-balancing-expected.checksum: Added. * platform/mac/fast/multicol/column-break-with-balancing-expected.png: Added. * platform/mac/fast/multicol/column-break-with-balancing-expected.txt: Added. * platform/mac/fast/multicol/column-count-with-rules-expected.checksum: Added. * platform/mac/fast/multicol/column-count-with-rules-expected.png: Added. * platform/mac/fast/multicol/column-count-with-rules-expected.txt: * platform/mac/fast/multicol/column-rules-expected.checksum: * platform/mac/fast/multicol/column-rules-expected.png: * platform/mac/fast/multicol/column-rules-expected.txt: * platform/mac/fast/multicol/column-rules-stacking-expected.checksum: * platform/mac/fast/multicol/column-rules-stacking-expected.png: * platform/mac/fast/multicol/columns-shorthand-parsing-expected.checksum: * platform/mac/fast/multicol/columns-shorthand-parsing-expected.png: * platform/mac/fast/multicol/float-avoidance-expected.checksum: * platform/mac/fast/multicol/float-avoidance-expected.png: * platform/mac/fast/multicol/float-avoidance-expected.txt: * platform/mac/fast/multicol/float-multicol-expected.checksum: * platform/mac/fast/multicol/float-multicol-expected.png: * platform/mac/fast/multicol/float-multicol-expected.txt: * platform/mac/fast/multicol/float-paginate-complex-expected.checksum: Added. * platform/mac/fast/multicol/float-paginate-complex-expected.png: Added. * platform/mac/fast/multicol/float-paginate-complex-expected.txt: Added. * platform/mac/fast/multicol/float-paginate-expected.txt: * platform/mac/fast/multicol/layers-in-multicol-expected.checksum: * platform/mac/fast/multicol/layers-in-multicol-expected.png: * platform/mac/fast/multicol/layers-in-multicol-expected.txt: * platform/mac/fast/multicol/margin-collapse-expected.checksum: Added. * platform/mac/fast/multicol/margin-collapse-expected.png: Added. * platform/mac/fast/multicol/margin-collapse-expected.txt: Added. * platform/mac/fast/multicol/max-height-columns-block-expected.checksum: Added. * platform/mac/fast/multicol/max-height-columns-block-expected.png: Added. * platform/mac/fast/multicol/max-height-columns-block-expected.txt: Added. * platform/mac/fast/multicol/nested-columns-expected.checksum: * platform/mac/fast/multicol/nested-columns-expected.png: * platform/mac/fast/multicol/nested-columns-expected.txt: * platform/mac/fast/multicol/paginate-block-replaced-expected.txt: * platform/mac/fast/multicol/positioned-split-expected.checksum: Added. * platform/mac/fast/multicol/positioned-split-expected.png: Added. * platform/mac/fast/multicol/positioned-split-expected.txt: Added. * platform/mac/fast/multicol/positioned-with-constrained-height-expected.checksum: * platform/mac/fast/multicol/positioned-with-constrained-height-expected.png: * platform/mac/fast/multicol/positioned-with-constrained-height-expected.txt: * platform/mac/fast/multicol/shadow-breaking-expected.checksum: Added. * platform/mac/fast/multicol/shadow-breaking-expected.png: Added. * platform/mac/fast/multicol/shadow-breaking-expected.txt: Added. * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.checksum: * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.png: * platform/mac/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt: * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.checksum: * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.png: * platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt: * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.checksum: * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.png: * platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt: * platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt: * platform/mac/fast/multicol/span/span-as-immediate-columns-child-removal-expected.txt: * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.checksum: * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.png: * platform/mac/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt: * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.checksum: * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.png: * platform/mac/fast/multicol/span/span-as-nested-columns-child-expected.txt: * platform/mac/fast/multicol/table-margin-collapse-expected.checksum: Added. * platform/mac/fast/multicol/table-margin-collapse-expected.png: Added. * platform/mac/fast/multicol/table-margin-collapse-expected.txt: Added. * platform/mac/fast/multicol/table-vertical-align-expected.checksum: Added. * platform/mac/fast/multicol/table-vertical-align-expected.png: Added. * platform/mac/fast/multicol/table-vertical-align-expected.txt: Added. * platform/mac/fast/multicol/unsplittable-inline-block-expected.checksum: Added. * platform/mac/fast/multicol/unsplittable-inline-block-expected.png: Added. * platform/mac/fast/multicol/unsplittable-inline-block-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 27 Aug, 2010 1 commit
-
-
https://bugs.webkit.org/show_bug.cgi?id=44788hyatt@apple.com authored
Reviewed by Simon Fraser. WebCore: Rename the various modes to match the HTML5 specification: ParseMode -> CompatibilityMode CompatMode -> QuirksMode AlmostStrictMode -> LimitedQuirksMode StrictMode -> NoQuirksMode Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document instead. This makes switching modes avoid forcing all RenderStyles to detect as changed. Clean up user stylesheets to minimize style recalculation when the mode is switched. Fix bugs with the propagation of correct modes in the HTML5 parser. Make sure the dummy document created for fragment parsing properly inherits the real document's CompatibilityMode. Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling a doctype token. determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm precisely. * WebCore.exp.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::styleForDocument): (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::fontSizeForKeyword): * dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): * dom/DecodedDataDocumentParser.cpp: (WebCore::DecodedDataDocumentParser::appendBytes): * dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::setCompatibilityMode): (WebCore::Document::setDocType): (WebCore::Document::unscheduleStyleRecalc): (WebCore::Document::recalcStyle): (WebCore::Document::updateStyleIfNeeded): (WebCore::Document::createStyleSelector): (WebCore::Document::implicitOpen): (WebCore::Document::pageUserSheet): (WebCore::Document::clearPageUserSheet): (WebCore::Document::updatePageUserSheet): (WebCore::Document::pageGroupUserSheets): (WebCore::Document::clearPageGroupUserSheets): (WebCore::Document::updatePageGroupUserSheets): (WebCore::Document::findAnchor): * dom/Document.h: (WebCore::Document::): (WebCore::Document::setCompatibilityModeFromDoctype): (WebCore::Document::lockCompatibilityMode): (WebCore::Document::compatibilityMode): (WebCore::Document::inQuirksMode): (WebCore::Document::inLimitedQuirksMode): (WebCore::Document::inNoQuirksMode): * dom/Element.cpp: (WebCore::Element::clientWidth): (WebCore::Element::clientHeight): (WebCore::Element::webkitMatchesSelector): * dom/NamedNodeMap.cpp: (WebCore::NamedNodeMap::setClass): * dom/Node.cpp: (WebCore::Node::querySelector): (WebCore::Node::querySelectorAll): * dom/OptionElement.cpp: (WebCore::OptionElement::collectOptionLabelOrText): * dom/SelectorNodeList.cpp: (WebCore::createSelectorNodeList): * dom/StyleElement.cpp: (WebCore::StyleElement::createSheet): * dom/StyledElement.cpp: (WebCore::StyledElement::createInlineStyleDecl): (WebCore::StyledElement::parseMappedAttribute): * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::createLinkDecl): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertDoctype): * html/HTMLDocument.cpp: (WebCore::HTMLDocument::HTMLDocument): (WebCore::HTMLDocument::compatMode): (WebCore::HTMLDocument::setCompatibilityModeFromDoctype): * html/HTMLDocument.h: * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::setCSSStyleSheet): * html/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): (WebCore::HTMLTreeBuilder::processDoctypeToken): (WebCore::HTMLTreeBuilder::processStartTagForInBody): (WebCore::HTMLTreeBuilder::defaultForInitial): * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): * loader/DocumentWriter.cpp: (WebCore::DocumentWriter::replaceDocument): (WebCore::DocumentWriter::reportDataReceived): * loader/DocumentWriter.h: * loader/ImageDocument.cpp: (WebCore::ImageDocument::ImageDocument): * loader/MediaDocument.cpp: (WebCore::MediaDocument::MediaDocument): * loader/PluginDocument.cpp: (WebCore::PluginDocument::PluginDocument): * loader/SinkDocument.cpp: (WebCore::SinkDocument::SinkDocument): * loader/TextDocument.cpp: (WebCore::TextDocument::TextDocument): * page/Page.cpp: (WebCore::Page::userStyleSheetLocationChanged): * page/PageGroup.cpp: (WebCore::PageGroup::resetUserStyleCacheInAllFrames): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setEnforceCSSMIMETypeInNoQuirksMode): * page/Settings.h: (WebCore::Settings::enforceCSSMIMETypeInNoQuirksMode): * rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): * rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::calcPrefWidths): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): (WebCore::InlineFlowBox::paintTextDecorations): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::isSelfCollapsingBlock): (WebCore::RenderBlock::collapseMargins): (WebCore::RenderBlock::handleBottomOfBlock): (WebCore::RenderBlock::calcInlinePrefWidths): (WebCore::RenderBlock::calcBlockPrefWidths): * rendering/RenderBlockLineLayout.cpp: (WebCore::createInlineBoxForRenderer): (WebCore::RenderBlock::findNextLineBreak): * rendering/RenderBox.cpp: (WebCore::RenderBox::calcPercentageHeight): (WebCore::RenderBox::calcAbsoluteHorizontal): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): * rendering/RenderBox.h: (WebCore::RenderBox::stretchesToViewHeight): * rendering/RenderListItem.cpp: (WebCore::getParentOfFirstLineBox): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcRowHeight): * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::verticallyAlignBoxes): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::diff): * rendering/style/RenderStyle.h: (WebCore::): (WebCore::InheritedFlags::setBitDefaults): WebKit/mac: Rename the various modes to match the HTML5 specification: ParseMode -> CompatibilityMode CompatMode -> QuirksMode AlmostStrictMode -> LimitedQuirksMode StrictMode -> NoQuirksMode Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document instead. This makes switching modes avoid forcing all RenderStyles to detect as changed. Clean up user stylesheets to minimize style recalculation when the mode is switched. Fix bugs with the propagation of correct modes in the HTML5 parser. Make sure the dummy document created for fragment parsing properly inherits the real document's CompatibilityMode. Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling a doctype token. determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm precisely. * WebView/WebView.mm: (-[WebView _preferencesChangedNotification:]): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 17 Aug, 2010 1 commit
-
-
jamesr@google.com authored
Reviewed by David Hyatt. Updated table cell hit testing and painting to use binary search instead of linear scan. Improved Table Hit Testing and Painting Performance https://bugs.webkit.org/show_bug.cgi?id=43933 Tests: fast/table/simple_paint.html tables/hittesting/filltable-emptycells.html tables/hittesting/filltable-levels.html tables/hittesting/filltable-outline.html tables/hittesting/filltable-rtl.html tables/hittesting/filltable-stress.html * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paintObject): Dirty rect determined using binary search. (WebCore::RenderTableSection::nodeAtPoint): Cell hit determined using binary search 2010-08-17 Fady Samuel <fsamuel@chromium.org> Reviewed by David Hyatt. Updated table cell hit testing and painting to use binary search instead of a linear scan. Layout tests check that hit testing of empty cells, overlapping cells, cells with outlines, right-to-left tables, and large tables all work as expected. Improved Table Hit Testing and Painting Performance https://bugs.webkit.org/show_bug.cgi?id=43933 * fast/table/simple_paint.html: Added. * platform/chromium-linux/fast/table/simple_paint-expected.checksum: Added. * platform/chromium-linux/fast/table/simple_paint-expected.png: Added. * platform/chromium-linux/fast/table/simple_paint-expected.txt: Added. * platform/chromium-linux/tables/hittesting/filltable-emptycells-expected.txt: Added. * platform/chromium-linux/tables/hittesting/filltable-levels-expected.txt: Added. * platform/chromium-linux/tables/hittesting/filltable-outline-expected.txt: Added. * platform/chromium-linux/tables/hittesting/filltable-rtl-expected.txt: Added. * platform/chromium-linux/tables/hittesting/filltable-stress-expected.txt: Added. * platform/chromium/test_expectations.txt: * platform/gtk/tables/hittesting/filltable-emptycells-expected.txt: Added. * platform/gtk/tables/hittesting/filltable-levels-expected.txt: Added. * platform/gtk/tables/hittesting/filltable-outline-expected.txt: Added. * platform/gtk/tables/hittesting/filltable-rtl-expected.txt: Added. * platform/gtk/tables/hittesting/filltable-stress-expected.txt: Added. * tables/hittesting/filltable-emptycells.html: Added. * tables/hittesting/filltable-levels.html: Added. * tables/hittesting/filltable-outline.html: Added. * tables/hittesting/filltable-rtl.html: Added. * tables/hittesting/filltable-stress.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65539 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 29 Jul, 2010 1 commit
-
-
tonikitoo@webkit.org authored
Reviewed by David Hyatt. Enhance the hit testing to take a rectangle instead of a point https://bugs.webkit.org/show_bug.cgi?id=40197 The primary goal of this change is to provide mechanisms for more precise tap actions by the users on mobile devices. Patch extends the hit testing system to work considering a rectangular area as input instead of a point, when applicable. For that, the HitTestResult class was modified to take a padding (IntSize). The padding specifies a fuzzy range for accepting input events in pixels coordinates for both vertical and horizontal orientations. In other words, it tells how much to expand the search rect around a supposed touch point. If it non-positive, hit testing will behavior as the current point based hit testing, and methods are no-op'ed to not regress this common behavior performance-wise. When positive IntSize is provided, the hit test result will keep record of all nodes that intersect the built up test area. The logic will continue searching when it finds a candidate until the rectangle is fully enclosed by the boundaries of a candidate. The result will be a list of nodes in the z-order they are hit-tested. Caller will decide how to process them. In order to expose the functionality, the patch: - Adds a nodesFromRect method to the Document class, exposing the funcionality to the DOM. Method returns a NodeList with all nodes that intersect the given hit-tested area. - Extends hitTestResultAtPoint method of the EventHandler with an extra 'padding' parameter, defaulting to IntSize(0, 0). The rect-based hit test is performed when a positive padding is passed in. Test: fast/dom/nodesFromRect-basic.html * WebCore.base.exp: * dom/Document.cpp: (WebCore::Document::nodesFromRect): This method exposes the rect based funcionality to the DOM. It works similarly to elementFromPoint, however receiving a rectangular area as input instead of a point, and returning a z-index ordered list of nodes (not elements) whose area intersect the hit test rect. * dom/Document.h: Ditto. * dom/Document.idl: Ditto. * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint): The funcionality is also exposed through this method. Patch adds a additional IntSize parameter to work as the padding area, building up the hit test rect. * page/EventHandler.h: Ditto. * rendering/HitTestResult.cpp: (WebCore::HitTestResult::HitTestResult): Rect based hit test constructor. Receives a padding IntSize as parameter. It can be (0,0). (WebCore::HitTestResult::operator=): Modified to assign the m_rectBasedTestResult as well. (WebCore::HitTestResult::append): Merge to HitTestResult objects in a way that the list node's of both objects get amended. (WebCore::HitTestResult::addNodeToRectBasedTestResult): Adds a given Node to the list of hit nodes. * rendering/HitTestResult.h: (WebCore::HitTestResult::padding): Returns the padding as an IntSize. (WebCore::HitTestResult::isRectBasedTest): Returns if the HitTestResult is rect based or not. (WebCore::HitTestResult::.rectBasedTestResult): Returns the list nodes hit. (WebCore::HitTestResult::rectFromPoint): Returns the hit test rect given the hit test point and padding. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::hitTestList): (WebCore::RenderLayer::hitTestChildLayerColumns): * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::nodeAtPoint): Method is modified to support rect based hit test extension. Now it not just checks if the boundary of the node being hit-tested contains a hit test point, but instead it checks if the boundary of the node intersects a hit test rect. It is implemented so that the common case (point based hit test) works as previously. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::nodeAtPoint): Ditto. * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::nodeAtPoint): Ditto. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::nodeAtPoint): Ditto. (WebCore::RenderBlock::hitTestColumns): Ditto. * rendering/RenderBox.cpp: (WebCore::RenderBox::nodeAtPoint): Ditto. * rendering/RenderImage.cpp: (WebCore::RenderImage::nodeAtPoint): Ditto. * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::hitTest): * rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::nodeAtPoint): Ditto. * rendering/RenderTable.cpp: (WebCore::RenderTable::nodeAtPoint): Ditto. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::nodeAtPoint): Ditto. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::nodeAtPoint): Ditto. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 28 Jul, 2010 1 commit
-
-
jamesr@google.com authored
Reviewed by David Hyatt. REGRESSION (r63994): Bank of America's home page is horribly mis-rendered https://bugs.webkit.org/show_bug.cgi?id=42993 Fixed bug introduced by patch for bug 40775. The new table rendering code did not take into account table layouts starting during a partial construction of the table render tree. As such, multiple layouts on the same table resulted in more columns being generated. This patch solves this issue. * rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): * rendering/RenderTable.cpp: (WebCore::RenderTable::cellAbove): (WebCore::RenderTable::cellBelow): (WebCore::RenderTable::cellBefore): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::ensureRows): (WebCore::RenderTableSection::addCell): (WebCore::RenderTableSection::setCellWidths): (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::paintObject): (WebCore::RenderTableSection::appendColumn): (WebCore::RenderTableSection::splitColumn): * rendering/RenderTableSection.h: (WebCore::RenderTableSection::CellStruct::CellStruct): 2010-07-28 fsamuel@chromium.org <fsamuel@chromium.org> Reviewed by David Hyatt. REGRESSION (r63994): Bank of America's home page is horribly mis-rendered https://bugs.webkit.org/show_bug.cgi?id=42993 Restored the expectation for the slashdot logo table test. Added a new layout test to check for the correctness of early table layout. * fast/table/early-table-layout.html: Added. * platform/chromium/test_expectations.txt: * platform/gtk/fast/table/early-table-layout-expected.checksum: Added. * platform/gtk/fast/table/early-table-layout-expected.png: Added. * platform/gtk/fast/table/early-table-layout-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64225 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 23 Jul, 2010 1 commit
-
-
jamesr@google.com authored
Reviewed by David Hyatt. Updated table painting to draw cell layers in the correct order. Table Cell Layering https://bugs.webkit.org/show_bug.cgi?id=40775 Tests: tables/layering/paint-test-layering-1.html tables/layering/paint-test-layering-2.html * accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): (WebCore::AccessibilityTable::addChildren): (WebCore::AccessibilityTable::cellForColumnAndRow): * accessibility/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::titleUIElement): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): * rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): * rendering/RenderTable.cpp: (WebCore::RenderTable::splitColumn): (WebCore::RenderTable::calcBorderLeft): (WebCore::RenderTable::calcBorderRight): (WebCore::RenderTable::cellAbove): (WebCore::RenderTable::cellBelow): (WebCore::RenderTable::cellBefore): (WebCore::RenderTable::cellAfter): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): (WebCore::RenderTableSection::ensureRows): (WebCore::RenderTableSection::addCell): (WebCore::RenderTableSection::setCellWidths): (WebCore::RenderTableSection::calcRowHeight): (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::calcOuterBorderTop): (WebCore::RenderTableSection::calcOuterBorderBottom): (WebCore::RenderTableSection::calcOuterBorderLeft): (WebCore::RenderTableSection::calcOuterBorderRight): (WebCore::RenderTableSection::firstLineBoxBaseline): (WebCore::compareCellPositions): (WebCore::RenderTableSection::paintCell): (WebCore::RenderTableSection::paintObject): (WebCore::RenderTableSection::numColumns): (WebCore::RenderTableSection::appendColumn): (WebCore::RenderTableSection::splitColumn): (WebCore::RenderTableSection::nodeAtPoint): * rendering/RenderTableSection.h: (WebCore::RenderTableSection::CellStruct::CellStruct): (WebCore::RenderTableSection::CellStruct::primaryCell): (WebCore::RenderTableSection::CellStruct::hasCells): (WebCore::RenderTableSection::primaryCellAt): 2010-07-23 fsamuel@chromium.org <fsamuel@chromium.org> Reviewed by David Hyatt. Updated table painting to draw cell layers in the correct order. Table Cell Layering https://bugs.webkit.org/show_bug.cgi?id=40775 * platform/chromium-linux/tables/layering/paint-test-layering-1-expected.checksum: Added. * platform/chromium-linux/tables/layering/paint-test-layering-1-expected.png: Added. * platform/chromium-linux/tables/layering/paint-test-layering-1-expected.txt: Added. * platform/chromium-linux/tables/layering/paint-test-layering-2-expected.checksum: Added. * platform/chromium-linux/tables/layering/paint-test-layering-2-expected.png: Added. * platform/chromium-linux/tables/layering/paint-test-layering-2-expected.txt: Added. * platform/chromium-mac/tables/layering/paint-test-layering-1-expected.checksum: Added. * platform/chromium-mac/tables/layering/paint-test-layering-1-expected.png: Added. * platform/chromium-mac/tables/layering/paint-test-layering-1-expected.txt: Added. * platform/chromium-mac/tables/layering/paint-test-layering-2-expected.checksum: Added. * platform/chromium-mac/tables/layering/paint-test-layering-2-expected.png: Added. * platform/chromium-mac/tables/layering/paint-test-layering-2-expected.txt: Added. * platform/gtk/tables/layering/paint-test-layering-1-expected.checksum: Added. * platform/gtk/tables/layering/paint-test-layering-1-expected.png: Added. * platform/gtk/tables/layering/paint-test-layering-1-expected.txt: Added. * platform/gtk/tables/layering/paint-test-layering-2-expected.checksum: Added. * platform/gtk/tables/layering/paint-test-layering-2-expected.png: Added. * platform/gtk/tables/layering/paint-test-layering-2-expected.txt: Added. * platform/mac/tables/layering/paint-test-layering-1-expected.checksum: Added. * platform/mac/tables/layering/paint-test-layering-1-expected.png: Added. * platform/mac/tables/layering/paint-test-layering-1-expected.txt: Added. * platform/mac/tables/layering/paint-test-layering-2-expected.checksum: Added. * platform/mac/tables/layering/paint-test-layering-2-expected.png: Added. * platform/mac/tables/layering/paint-test-layering-2-expected.txt: Added. * tables/layering/paint-test-layering-1.html: Added. * tables/layering/paint-test-layering-2.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Jun, 2010 1 commit
-
-
levin@chromium.org authored
type. Fixes a divide-by-zero crash arising from using a zero colspan value coming from a narrow cast of an int to an unsigned short. https://bugs.webkit.org/show_bug.cgi?id=40812 Patch by Abhishek Arya <inferno@chromium.org> on 2010-06-18 Reviewed by Adam Barth. Test: fast/table/zero-colspan-crash.html * rendering/RenderTable.h: Change span from unsigned short to unsigned int. * rendering/RenderTableSection.cpp: Fix a compiler warning with comparing unsigned int with signed int. Value of an unsigned int here cannot be greater than maximum positive value of a signed int. (WebCore::RenderTableSection::addCell): LayoutTests: Tests that we do not crash while rendering a fixed table layout. https://bugs.webkit.org/show_bug.cgi?id=40812 Patch by Abhishek Arya <inferno@chromium.org> on 2010-06-18 Reviewed by Adam Barth. * fast/table/zero-colspan-crash-expected.txt: Added. * fast/table/zero-colspan-crash.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@61451 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Apr, 2010 1 commit
-
-
https://bugs.webkit.org/show_bug.cgi?id=37349hyatt@apple.com authored
bring some style consistency to RenderStyle and its associated classes. This patch cleans up the border and outline classes. Reviewed by Adam Roben. * rendering/RenderTable.cpp: (WebCore::RenderTable::calcBorderLeft): (WebCore::RenderTable::calcBorderRight): (WebCore::RenderTable::outerBorderTop): (WebCore::RenderTable::outerBorderBottom): (WebCore::RenderTable::outerBorderLeft): (WebCore::RenderTable::outerBorderRight): * rendering/RenderTableCell.cpp: (WebCore::compareBorders): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::calcOuterBorderTop): (WebCore::RenderTableSection::calcOuterBorderBottom): (WebCore::RenderTableSection::calcOuterBorderLeft): (WebCore::RenderTableSection::calcOuterBorderRight): * rendering/style/BorderData.h: (WebCore::BorderData::hasBorder): (WebCore::BorderData::hasBorderRadius): (WebCore::BorderData::borderLeftWidth): (WebCore::BorderData::borderRightWidth): (WebCore::BorderData::borderTopWidth): (WebCore::BorderData::borderBottomWidth): (WebCore::BorderData::operator==): (WebCore::BorderData::left): (WebCore::BorderData::right): (WebCore::BorderData::top): (WebCore::BorderData::bottom): (WebCore::BorderData::image): (WebCore::BorderData::topLeft): (WebCore::BorderData::topRight): (WebCore::BorderData::bottomLeft): (WebCore::BorderData::bottomRight): * rendering/style/BorderValue.h: (WebCore::BorderValue::BorderValue): (WebCore::BorderValue::nonZero): (WebCore::BorderValue::isTransparent): (WebCore::BorderValue::operator==): (WebCore::BorderValue::color): (WebCore::BorderValue::width): (WebCore::BorderValue::style): * rendering/style/CollapsedBorderValue.h: (WebCore::CollapsedBorderValue::CollapsedBorderValue): (WebCore::CollapsedBorderValue::width): (WebCore::CollapsedBorderValue::style): (WebCore::CollapsedBorderValue::exists): (WebCore::CollapsedBorderValue::color): (WebCore::CollapsedBorderValue::isTransparent): (WebCore::CollapsedBorderValue::precedence): (WebCore::CollapsedBorderValue::operator==): * rendering/style/OutlineValue.h: (WebCore::OutlineValue::OutlineValue): (WebCore::OutlineValue::operator==): (WebCore::OutlineValue::offset): (WebCore::OutlineValue::isAuto): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::getBorderRadiiForRect): * rendering/style/RenderStyle.h: (WebCore::InheritedFlags::borderLeft): (WebCore::InheritedFlags::borderRight): (WebCore::InheritedFlags::borderTop): (WebCore::InheritedFlags::borderBottom): (WebCore::InheritedFlags::borderImage): (WebCore::InheritedFlags::borderTopLeftRadius): (WebCore::InheritedFlags::borderTopRightRadius): (WebCore::InheritedFlags::borderBottomLeftRadius): (WebCore::InheritedFlags::borderBottomRightRadius): (WebCore::InheritedFlags::borderLeftStyle): (WebCore::InheritedFlags::borderLeftColor): (WebCore::InheritedFlags::borderLeftIsTransparent): (WebCore::InheritedFlags::borderRightStyle): (WebCore::InheritedFlags::borderRightColor): (WebCore::InheritedFlags::borderRightIsTransparent): (WebCore::InheritedFlags::borderTopStyle): (WebCore::InheritedFlags::borderTopColor): (WebCore::InheritedFlags::borderTopIsTransparent): (WebCore::InheritedFlags::borderBottomStyle): (WebCore::InheritedFlags::borderBottomColor): (WebCore::InheritedFlags::borderBottomIsTransparent): (WebCore::InheritedFlags::outlineWidth): (WebCore::InheritedFlags::outlineStyleIsAuto): (WebCore::InheritedFlags::outlineColor): (WebCore::InheritedFlags::outlineOffset): (WebCore::InheritedFlags::columnRuleColor): (WebCore::InheritedFlags::resetBorderTop): (WebCore::InheritedFlags::resetBorderRight): (WebCore::InheritedFlags::resetBorderBottom): (WebCore::InheritedFlags::resetBorderLeft): (WebCore::InheritedFlags::resetBorderImage): (WebCore::InheritedFlags::resetBorderTopLeftRadius): (WebCore::InheritedFlags::resetBorderTopRightRadius): (WebCore::InheritedFlags::resetBorderBottomLeftRadius): (WebCore::InheritedFlags::resetBorderBottomRightRadius): (WebCore::InheritedFlags::setBorderImage): (WebCore::InheritedFlags::setBorderTopLeftRadius): (WebCore::InheritedFlags::setBorderTopRightRadius): (WebCore::InheritedFlags::setBorderBottomLeftRadius): (WebCore::InheritedFlags::setBorderBottomRightRadius): (WebCore::InheritedFlags::setBorderLeftWidth): (WebCore::InheritedFlags::setBorderLeftStyle): (WebCore::InheritedFlags::setBorderLeftColor): (WebCore::InheritedFlags::setBorderRightWidth): (WebCore::InheritedFlags::setBorderRightStyle): (WebCore::InheritedFlags::setBorderRightColor): (WebCore::InheritedFlags::setBorderTopWidth): (WebCore::InheritedFlags::setBorderTopStyle): (WebCore::InheritedFlags::setBorderTopColor): (WebCore::InheritedFlags::setBorderBottomWidth): (WebCore::InheritedFlags::setBorderBottomStyle): (WebCore::InheritedFlags::setBorderBottomColor): (WebCore::InheritedFlags::setOutlineWidth): (WebCore::InheritedFlags::setOutlineStyle): (WebCore::InheritedFlags::setOutlineColor): (WebCore::InheritedFlags::setOutlineOffset): (WebCore::InheritedFlags::setColumnRuleColor): (WebCore::InheritedFlags::setColumnRuleWidth): * rendering/style/StyleMultiColData.h: (WebCore::StyleMultiColData::ruleWidth): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@57355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 31 Dec, 2009 1 commit
-
-
rdar://problem/7503279mitz@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=33067 Reviewed by Simon Fraser. WebCore: Test: fast/repaint/table-cell-overflow.html * rendering/RenderTableCell.h: (WebCore::RenderTableCell::hasVisibleOverflow): Added. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if any cell has visible overflow, like it was before r47440. LayoutTests: * fast/repaint/table-cell-overflow-expected.checksum: Added. * fast/repaint/table-cell-overflow-expected.png: Added. * fast/repaint/table-cell-overflow-expected.txt: Added. * fast/repaint/table-cell-overflow.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Nov, 2009 1 commit
-
-
dbates@webkit.org authored
Reviewed by Dave Hyatt. https://bugs.webkit.org/show_bug.cgi?id=24971 And <rdar://problem/7138265> Fixes an issue where setting the height of a table row programmatically (via JavaScript) causes the table to be improperly rendered because the height of each row in the table is not recalculated with respect to the CSS height property. In particular, programmatically setting the height of some table row causes the rows of that table to be rendered with a height equal to the minimum height required by the cells in that row, regardless of any specified cell heights. Instead, when RenderTableSection::recalcCells is called, the height of each row should be set to the CSS height property just as we do in RenderTableSection::addChild. Test: fast/table/row-height-recalc2.html * rendering/RenderTableSection.cpp: (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added. (WebCore::RenderTableSection::addChild): Moved code that set row height into method WebCore::setRowHeightToRowStyleHeightIfNotRelative. (WebCore::RenderTableSection::recalcCells): Modified to call WebCore::setRowHeightToRowStyleHeightIfNotRelative. 2009-11-18 Daniel Bates <dbates@webkit.org> Reviewed by Dave Hyatt. https://bugs.webkit.org/show_bug.cgi?id=24971 And <rdar://problem/7138265> Tests that setting the height of a table row programmatically (via JavaScript) recalculates the height of the rows in the table. * fast/table/row-height-recalc2.html: Added. * platform/mac/fast/table/row-height-recalc2-expected.checksum: Added. * platform/mac/fast/table/row-height-recalc2-expected.png: Added. * platform/mac/fast/table/row-height-recalc2-expected.txt: Added. * platform/qt/fast/table/row-height-recalc2-expected.checksum: Added. * platform/qt/fast/table/row-height-recalc2-expected.png: Added. * platform/qt/fast/table/row-height-recalc2-expected.txt: Added. * platform/win/fast/table/row-height-recalc2-expected.checksum: Added. * platform/win/fast/table/row-height-recalc2-expected.png: Added. * platform/win/fast/table/row-height-recalc2-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 19 Aug, 2009 1 commit
-
-
hyatt@apple.com authored
Cleanup from my patch thet rewrote overflow. Remove unused member variables from RenderTableSection and move the addition of overflow from children into a separate pass after the height of the section has been set. This prevents the RenderOverflow struct from being aggressively allocated for all table sections. (Not a a correctness issue, just a memory issue.) Reviewed by Dan Bernstein. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): (WebCore::RenderTableSection::layoutRows): * rendering/RenderTableSection.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47505 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Aug, 2009 1 commit
-
-
https://bugs.webkit.org/show_bug.cgi?id=20329hyatt@apple.com authored
considered part of scrollable overflow. Reviewed by Dan Bernstein. This patch takes the engine's concept of overflow and splits it into two types: layout overflow and visual overflow. Layout overflow is about other boxes that spill out of an enclosing box, For example, in the inline flow case a tall image could spill out of a line box. Examples of visual overflow are shadows, text stroke (and eventually outline and border-image). Three objects tracked overflow before this patch: RenderBlock had m_overflowLeft/Top/Width/Height variables. RootInlineBox had an Overflow* that also had four overflow values. Finally RenderReplaced elements tracked shadow/reflection overflow using a map that cached four values. This patch takes all of these different overflow models and unifies them into a single new class called RenderOverflow. This class is now a member variable in RenderBox and InlineFlowBoxes. It is only allocated if overflow actually exists. Instead of tracking four values, it tracks eight: left/top/right/bottom for layout overflow and left/top/right/bottom for visual overflow. Overflow computation is now done after layout is finished rather than during layout (when child objects can be churning and moving around). A number of layout tests progressed by deferring overflow computation to a separate pass. All inline flow boxes now track overflow (and not just the root line box). This allows repainting of line boxes to actually be tight and bail early if the overflow rect of a box doesn't intersect. The old code always visited all object on a line if the root line box intersected at all. Line box overflow no longer propagates across self-painting layers. This fixes a number of issues with incorrect scrollbars appearing when relative positioned inlines were used in a page. Layer bounds have been modified to exclude visual overflow. The width/height members only really have one reason for continued existence, and that is that they happen to be used in repaint() when an overflow clip object's height isn't accurate. In this case, the bounds should exclude visual overflow anyway, so this change tightens that repaint up. Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have been changed to use these instead of relying on overflow (which was totally wrong). Significant changes have been made to the "almost strict mode" line box quirk where objects with no text children have no effect on the height of a line. Instead of making the height() of the objects variable and dependent on overflow, the objects now have their full height and get placed on the baseline properly. They simply don't contribute to overflow above lineTop/Bottom. Reflections are no longer considered overflow of any kind. Because reflections have their own layers, it is not necessary to treat them as visual or layout overflow in the RenderObject tree. The end result of not incorporating them into RenderOverflow is that they have no effect on scrolling. transparencyClipBox has been extended to support fully reflecting the entire clip box when a reflection exists. This fixes numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting sublayers. * WebCore.xcodeproj/project.pbxproj: * dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner): * editing/visible_units.cpp: (WebCore::previousLinePosition): (WebCore::nextLinePosition): * page/FrameView.cpp: (WebCore::FrameView::adjustViewSize): (WebCore::FrameView::adjustPageHeight): * rendering/InlineBox.cpp: (WebCore::InlineBox::height): * rendering/InlineBox.h: * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::adjustPosition): (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::computeVerticalOverflow): (WebCore::InlineFlowBox::nodeAtPoint): (WebCore::InlineFlowBox::paint): * rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::InlineFlowBox): (WebCore::InlineFlowBox::topCombinedOverflow): (WebCore::InlineFlowBox::bottomCombinedOverflow): (WebCore::InlineFlowBox::leftCombinedOverflow): (WebCore::InlineFlowBox::rightCombinedOverflow): (WebCore::InlineFlowBox::combinedOverflowRect): (WebCore::InlineFlowBox::topLayoutOverflow): (WebCore::InlineFlowBox::bottomLayoutOverflow): (WebCore::InlineFlowBox::leftLayoutOverflow): (WebCore::InlineFlowBox::rightLayoutOverflow): (WebCore::InlineFlowBox::layoutOverflowRect): (WebCore::InlineFlowBox::topVisualOverflow): (WebCore::InlineFlowBox::bottomVisualOverflow): (WebCore::InlineFlowBox::leftVisualOverflow): (WebCore::InlineFlowBox::rightVisualOverflow): (WebCore::InlineFlowBox::visualOverflowRect): (WebCore::InlineFlowBox::setHorizontalOverflowPositions): (WebCore::InlineFlowBox::setVerticalOverflowPositions): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::RenderBlock): (WebCore::RenderBlock::layout): (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::addOverflowFromBlockChildren): (WebCore::RenderBlock::handleBottomOfBlock): (WebCore::RenderBlock::layoutBlockChildren): (WebCore::RenderBlock::paint): (WebCore::RenderBlock::fillInlineSelectionGaps): (WebCore::RenderBlock::floatRect): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::addOverhangingFloats): (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::positionForPointWithInlineChildren): (WebCore::RenderBlock::layoutColumns): (WebCore::getHeightForLineCount): * rendering/RenderBlock.h: * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::computeHorizontalPositionsForLine): (WebCore::RenderBlock::computeVerticalPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::matchedEndLine): (WebCore::RenderBlock::addOverflowFromInlineChildren): * rendering/RenderBox.cpp: (WebCore::RenderBox::destroy): (WebCore::RenderBox::clippedOverflowRectForRepaint): (WebCore::RenderBox::localCaretRect): (WebCore::RenderBox::addShadowAndReflectionOverflow): (WebCore::RenderBox::addOverflowFromChild): (WebCore::RenderBox::addLayoutOverflow): (WebCore::RenderBox::addVisualOverflow): (WebCore::RenderBox::clearLayoutOverflow): * rendering/RenderBox.h: (WebCore::RenderBox::combinedOverflowRect): (WebCore::RenderBox::topCombinedOverflow): (WebCore::RenderBox::bottomCombinedOverflow): (WebCore::RenderBox::leftCombinedOverflow): (WebCore::RenderBox::rightCombinedOverflow): (WebCore::RenderBox::layoutOverflowRect): (WebCore::RenderBox::topLayoutOverflow): (WebCore::RenderBox::bottomLayoutOverflow): (WebCore::RenderBox::leftLayoutOverflow): (WebCore::RenderBox::rightLayoutOverflow): (WebCore::RenderBox::visualOverflowRect): (WebCore::RenderBox::topVisualOverflow): (WebCore::RenderBox::bottomVisualOverflow): (WebCore::RenderBox::leftVisualOverflow): (WebCore::RenderBox::rightVisualOverflow): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::localBoundingBox): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateRootLayerPosition): (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): * rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::paint): (WebCore::RenderLineBoxList::hitTest): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::positionListMarker): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): * rendering/RenderObject.h: * rendering/RenderOverflow.h: Added. (WebCore::RenderOverflow::RenderOverflow): (WebCore::RenderOverflow::topLayoutOverflow): (WebCore::RenderOverflow::bottomLayoutOverflow): (WebCore::RenderOverflow::leftLayoutOverflow): (WebCore::RenderOverflow::rightLayoutOverflow): (WebCore::RenderOverflow::topVisualOverflow): (WebCore::RenderOverflow::bottomVisualOverflow): (WebCore::RenderOverflow::leftVisualOverflow): (WebCore::RenderOverflow::rightVisualOverflow): (WebCore::RenderOverflow::setTopLayoutOverflow): (WebCore::RenderOverflow::setBottomLayoutOverflow): (WebCore::RenderOverflow::setLeftLayoutOverflow): (WebCore::RenderOverflow::setRightLayoutOverflow): (WebCore::RenderOverflow::setTopVisualOverflow): (WebCore::RenderOverflow::setBottomVisualOverflow): (WebCore::RenderOverflow::setLeftVisualOverflow): (WebCore::RenderOverflow::setRightVisualOverflow): (WebCore::RenderOverflow::layoutOverflowRect): (WebCore::RenderOverflow::visualOverflowRect): (WebCore::RenderOverflow::combinedOverflowRect): (WebCore::RenderOverflow::move): (WebCore::RenderOverflow::addLayoutOverflow): (WebCore::RenderOverflow::addVisualOverflow): (WebCore::RenderOverflow::resetLayoutOverflow): * rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::layout): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::~RenderReplaced): (WebCore::RenderReplaced::layout): (WebCore::RenderReplaced::shouldPaint): (WebCore::RenderReplaced::positionForPoint): (WebCore::RenderReplaced::clippedOverflowRectForRepaint): * rendering/RenderReplaced.h: * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::layout): (WebCore::RenderScrollbarPart::paintIntoRect): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::layout): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): (WebCore::RenderTable::paint): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::clippedOverflowRectForRepaint): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): * rendering/RenderTableSection.h: * rendering/RenderText.cpp: (WebCore::RenderText::positionForPoint): (WebCore::RenderText::localCaretRect): * rendering/RenderView.cpp: (WebCore::RenderView::layout): * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::addHighlightOverflow): (WebCore::RootInlineBox::adjustPosition): (WebCore::RootInlineBox::verticallyAlignBoxes): (WebCore::RootInlineBox::selectionTop): * rendering/RootInlineBox.h: (WebCore::RootInlineBox::RootInlineBox): (WebCore::RootInlineBox::nextRootBox): (WebCore::RootInlineBox::prevRootBox): (WebCore::RootInlineBox::lineTop): (WebCore::RootInlineBox::lineBottom): (WebCore::RootInlineBox::selectionBottom): (WebCore::RootInlineBox::selectionHeight): (WebCore::RootInlineBox::floats): (WebCore::RootInlineBox::floatsPtr): (WebCore::RootInlineBox::setLineTopBottomPositions): * rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::layoutInlineBoxes): LayoutTests: https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly being included as part of scrollable overflow. Reviewed by Dan Bernstein. Update layout tests to account for all of the changes made to overflow to split it into two types. Remove the layout tests that were recently added that assumed that shadows and reflections should be part of scrollable overflow. * fast/box-shadow/box-shadow-overflow-scroll-expected.txt: Removed. * fast/box-shadow/box-shadow-overflow-scroll.html: Removed. * fast/reflections/reflection-overflow-scroll-expected.txt: Removed. * fast/reflections/reflection-overflow-scroll.html: Removed. * platform/mac/compositing/overflow/ancestor-overflow-expected.txt: * platform/mac/compositing/reflections/reflection-on-composited-expected.txt: * platform/mac/editing/deleting/delete-br-011-expected.txt: * platform/mac/editing/deleting/delete-br-012-expected.txt: * platform/mac/editing/pasteboard/select-element-1-expected.txt: * platform/mac/fast/block/positioning/relative-overflow-block-expected.txt: * platform/mac/fast/body-propagation/background-color/002-expected.txt: * platform/mac/fast/body-propagation/background-color/002-xhtml-expected.txt: * platform/mac/fast/body-propagation/background-image/002-expected.txt: * platform/mac/fast/body-propagation/background-image/002-xhtml-expected.txt: * platform/mac/fast/body-propagation/overflow/001-expected.txt: * platform/mac/fast/body-propagation/overflow/001-xhtml-expected.txt: * platform/mac/fast/body-propagation/overflow/005-declarative-expected.txt: * platform/mac/fast/body-propagation/overflow/005-expected.txt: * platform/mac/fast/body-propagation/overflow/005-xhtml-expected.txt: * platform/mac/fast/borders/fieldsetBorderRadius-expected.txt: * platform/mac/fast/box-shadow/transform-fringing-expected.txt: * platform/mac/fast/clip/008-expected.txt: * platform/mac/fast/clip/011-expected.txt: * platform/mac/fast/clip/012-expected.txt: * platform/mac/fast/dynamic/genContentDestroyChildren-expected.txt: * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: * platform/mac/fast/encoding/utf-16-big-endian-expected.txt: * platform/mac/fast/encoding/utf-16-little-endian-expected.txt: * platform/mac/fast/forms/form-element-geometry-expected.txt: * platform/mac/fast/images/image-in-map-expected.txt: * platform/mac/fast/inline-block/003-expected.txt: * platform/mac/fast/inline/inline-text-quirk-bpm-expected.txt: * platform/mac/fast/invalid/012-expected.txt: * platform/mac/fast/layers/normal-flow-hit-test-expected.txt: * platform/mac/fast/lists/inlineBoxWrapperNullCheck-expected.txt: * platform/mac/fast/overflow/scrollRevealButton-expected.txt: * platform/mac/fast/reflections/reflection-direction-expected.txt: * platform/mac/fast/reflections/reflection-masks-expected.checksum: * platform/mac/fast/reflections/reflection-masks-expected.png: * platform/mac/fast/reflections/reflection-masks-expected.txt: * platform/mac/fast/reflections/reflection-masks-opacity-expected.checksum: * platform/mac/fast/reflections/reflection-masks-opacity-expected.png: * platform/mac/fast/reflections/reflection-masks-opacity-expected.txt: * platform/mac/fast/reflections/reflection-nesting-expected.txt: * platform/mac/fast/reflections/reflection-overflow-hidden-expected.png: * platform/mac/fast/reflections/reflection-overflow-hidden-expected.txt: * platform/mac/fast/repaint/box-shadow-h-expected.txt: * platform/mac/fast/repaint/box-shadow-v-expected.txt: * platform/mac/fast/repaint/reflection-redraw-expected.txt: * platform/mac/fast/repaint/reflection-repaint-test-expected.txt: * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt: * platform/mac/fast/repaint/transform-replaced-shadows-expected.txt: * platform/mac/fast/replaced/border-radius-clip-expected.txt: * platform/mac/fast/transforms/shadows-expected.txt: * platform/mac/fast/transforms/transforms-with-opacity-expected.txt: * platform/mac/media/video-layer-crash-expected.txt: * platform/mac/tables/mozilla/bugs/adforce_imgis_com-expected.txt: * platform/mac/tables/mozilla/bugs/bug10565-expected.txt: * platform/mac/tables/mozilla/bugs/bug10633-expected.txt: * platform/mac/tables/mozilla/bugs/bug113424-expected.txt: * platform/mac/tables/mozilla/bugs/bug1188-expected.txt: * platform/mac/tables/mozilla/bugs/bug131020-expected.txt: * platform/mac/tables/mozilla/bugs/bug1318-expected.txt: * platform/mac/tables/mozilla/bugs/bug22513-expected.txt: * platform/mac/tables/mozilla/bugs/bug26553-expected.txt: * platform/mac/tables/mozilla/bugs/bug3309-1-expected.txt: * platform/mac/tables/mozilla/bugs/bug4427-expected.txt: * platform/mac/tables/mozilla/bugs/bug4527-expected.txt: * platform/mac/tables/mozilla/bugs/bug5538-expected.txt: * platform/mac/tables/mozilla/bugs/bug78162-expected.txt: * platform/mac/tables/mozilla/bugs/bug8381-expected.txt: * platform/mac/tables/mozilla/bugs/bug86708-expected.txt: * platform/mac/tables/mozilla/core/bloomberg-expected.txt: * platform/mac/tables/mozilla/other/ms-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug23847-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug72393-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug89315-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt: * platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_caption_bottom-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt: * platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@47440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 31 Jul, 2009 1 commit
-
-
darin@apple.com authored
2009-07-30 Darin Adler <darin@apple.com> Reviewed by David Levin. Use checked casts for render tree https://bugs.webkit.org/show_bug.cgi?id=23522 Next step: Add casts for all the RenderTable classes and use them everywhere. Also added a few uses in places that were still using static_cast. Also made some virtual member functions private. Also changed RenderTable::m_tableLayout to use OwnPtr. * accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): (WebCore::AccessibilityTable::addChildren): (WebCore::AccessibilityTable::cellForColumnAndRow): * accessibility/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::parentTable): (WebCore::AccessibilityTableCell::rowIndexRange): (WebCore::AccessibilityTableCell::columnIndexRange): (WebCore::AccessibilityTableCell::titleUIElement): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObject): * accessibility/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::parentTable): * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::removeNode): * editing/TextIterator.cpp: (WebCore::shouldEmitTabBeforeNode): (WebCore::shouldEmitNewlinesBeforeAndAfterNode): * html/HTMLTableCellElement.cpp: (WebCore::HTMLTableCellElement::parseMappedAttribute): * html/HTMLTableColElement.cpp: (WebCore::HTMLTableColElement::parseMappedAttribute): * page/Frame.cpp: (WebCore::Frame::searchForLabelsAboveCell): * page/mac/FrameMac.mm: (WebCore::Frame::searchForNSLabelsAboveCell): * rendering/AutoTableLayout.cpp: (WebCore::AutoTableLayout::recalcColumn): (WebCore::AutoTableLayout::fullRecalc): (WebCore::shouldScaleColumns): * rendering/FixedTableLayout.cpp: (WebCore::FixedTableLayout::calcWidthArray): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::calcPrefWidths): * rendering/RenderBox.cpp: (WebCore::RenderBox::calcPercentageHeight): * rendering/RenderObject.cpp: (WebCore::RenderObject::addChild): (WebCore::RenderObject::containingBlock): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::collapsedBottomBorder): * rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::table): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild): (WebCore::RenderTableRow::layout): (WebCore::RenderTableRow::paint): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild): (WebCore::RenderTableSection::layoutRows): (WebCore::RenderTableSection::lowestPosition): (WebCore::RenderTableSection::rightmostPosition): (WebCore::RenderTableSection::leftmostPosition): (WebCore::RenderTableSection::paintObject): (WebCore::RenderTableSection::recalcCells): * rendering/RenderTreeAsText.cpp: (WebCore::operator<<): (WebCore::writeTextRun): Use checked casts. * rendering/RenderTable.cpp: (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr. (WebCore::RenderTable::addChild): Use checked cast. (WebCore::RenderTable::layout): Ditto. (WebCore::RenderTable::setCellWidths): Ditto. (WebCore::RenderTable::paintObject): Ditto. (WebCore::RenderTable::splitColumn): Ditto. (WebCore::RenderTable::appendColumn): Ditto. (WebCore::RenderTable::colElement): Ditto. (WebCore::RenderTable::recalcSections): Ditto. (WebCore::RenderTable::outerBorderBottom): Ditto. (WebCore::RenderTable::outerBorderLeft): Ditto. (WebCore::RenderTable::outerBorderRight): Ditto. (WebCore::RenderTable::sectionAbove): Ditto. (WebCore::RenderTable::sectionBelow): Ditto. * rendering/RenderTable.h: Added checked cast. Made virtual functions private. Changed m_tableLayout to be a OwnPtr. * rendering/RenderTableCell.h: Added checked cast. * rendering/RenderTableCol.h: Ditto. Made virtual functions private. * rendering/RenderTableRow.h: Ditto. * rendering/RenderTableSection.h: Ditto. WebKit/mac: 2009-07-30 Darin Adler <darin@apple.com> Reviewed by David Levin. Use checked casts for render tree https://bugs.webkit.org/show_bug.cgi?id=23522 * Misc/WebNSAttributedStringExtras.mm: (fileWrapperForElement): * Misc/WebNSPasteboardExtras.mm: (imageFromElement): (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]): * WebView/WebFrame.mm: (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): (-[WebFrame _accessibilityTree]): * WebView/WebRenderNode.mm: (copyRenderNode): Use checked casts. WebKit/win: 2009-07-30 Darin Adler <darin@apple.com> Reviewed by David Levin. Use checked casts for render tree https://bugs.webkit.org/show_bug.cgi?id=23522 * DOMHTMLClasses.cpp: (DOMHTMLInputElement::isUserEdited): (DOMHTMLTextAreaElement::isUserEdited): Use checked casts. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@46647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Jun, 2009 1 commit
-
-
eric@webkit.org authored
Reviewed by Eric Seidel. Bug 26205: RenderTableSection::addChild : correct comment https://bugs.webkit.org/show_bug.cgi?id=26205 * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild): correct comment git-svn-id: http://svn.webkit.org/repository/webkit/trunk@44447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 May, 2009 1 commit
-
-
simon.fraser@apple.com authored
Rubber Stamped by Dave Hyatt Shuffle the data members to minimize padding. * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::RenderTableSection): * rendering/RenderTableSection.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@43380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Apr, 2009 1 commit
-
-
bdakin@apple.com authored
2009-04-16 Beth Dakin <bdakin@apple.com> Reviewed by Dave Hyatt. Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website crashes on load due to messy HTML in search form -and corresponding- <rdar://problem/6210633> Before this patch, <form>s were allowed to sit inside tables without being wrapped by anonymous table parts. There was also a concept that such a from could be "demoted" and would not be allowed to have any children. This patch has the HTML parser mark form elements that have been demoted as such, and then the demoted forms are not given renderers. I also removed the code that allowed forms to sit in tables without anonymous table sections. So now any forms that do manage to get a renderer inside a table will also be wrapped with appropriate table parts. * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::HTMLFormElement): (WebCore::HTMLFormElement::rendererIsNeeded): * html/HTMLFormElement.h: (WebCore::HTMLFormElement::setDemoted): (WebCore::HTMLFormElement::isDemoted): * html/HTMLParser.cpp: (WebCore::HTMLParser::insertNode): * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild): LayoutTests: 2009-04-16 Beth Dakin <bdakin@apple.com> Reviewed by Dave Hyatt. Tests for https://bugs.webkit.org/show_bug.cgi?id=20765 Website crashes on load due to messy HTML in search form -and corresponding- <rdar://problem/6210633> New tests: * fast/forms/form-added-to-table.html: Added. * fast/forms/form-in-malformed-markup.html: Added. * platform/mac/fast/forms/form-added-to-table-expected.checksum: Added. * platform/mac/fast/forms/form-added-to-table-expected.png: Added. * platform/mac/fast/forms/form-added-to-table-expected.txt: Added. * platform/mac/fast/forms/form-in-malformed-markup-expected.checksum: Added. * platform/mac/fast/forms/form-in-malformed-markup-expected.png: Added. * platform/mac/fast/forms/form-in-malformed-markup-expected.txt: Added. Tests with new results: * platform/mac/fast/forms/formmove3-expected.txt: * platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt: * platform/mac/fast/invalid/table-residual-style-crash-expected.txt: * platform/mac/fast/table/fixed-table-non-cell-in-row-expected.txt: * platform/mac/fast/table/inline-form-assert-expected.txt: * platform/mac/fast/table/insert-cell-before-form-expected.txt: * platform/mac/fast/table/insert-row-before-form-expected.txt: * platform/mac/tables/mozilla/bugs/bug1318-expected.txt: * platform/mac/tables/mozilla/bugs/bug2516-expected.txt: * platform/mac/tables/mozilla/bugs/bug30559-expected.txt: * platform/mac/tables/mozilla/bugs/bug32447-expected.txt: * platform/mac/tables/mozilla/bugs/bug34538-expected.txt: * platform/mac/tables/mozilla/bugs/bug4527-expected.txt: * platform/mac/tables/mozilla/bugs/bug78162-expected.txt: * platform/mac/tables/mozilla/bugs/bug96334-expected.txt: * platform/mac/tables/mozilla/bugs/bug96343-expected.txt: * platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@42586 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 25 Mar, 2009 1 commit
-
-
eric@webkit.org authored
Remove dead code and style cleanup https://bugs.webkit.org/show_bug.cgi?id=24684 * html/CanvasStyle.cpp: (WebCore::CanvasStyle::CanvasStyle): Coverty was annoyed that we didn't initialize all of our members. I agree, but I didn't want to paste all 8 members each time, so I just cleaned up the existing constructors and left them. * page/FocusController.cpp: (WebCore::FocusController::setFocusedNode): "node" was checked just above and is already known to be non-null * rendering/RenderLayer.cpp: (WebCore::RenderLayer::insertOnlyThisLayer): We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check (WebCore::RenderLayer::resize): element is already ASSERTed above, no need to null check it here * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addCell): currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41991 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Mar, 2009 1 commit
-
-
mitz@apple.com authored
Reviewed by Dave Hyatt. - fix https://bugs.webkit.org/show_bug.cgi?id=23739 <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load * rendering/RenderBlock.cpp: (WebCore::RenderBlock::percentHeightDescendants): Added this accessor. * rendering/RenderBlock.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layoutRows): Extended the check for children that flex to include other descendants with percent height which is relative to the cell. LayoutTests: Reviewed by Dave Hyatt. - test, updated test and results for https://bugs.webkit.org/show_bug.cgi?id=23739 <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load * fast/replaced/percent-height-in-anonymous-block-in-table.html: Added. * fast/replaced/table-percent-height-expected.txt: * fast/replaced/table-percent-height.html: * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.checksum: Added. * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png: Added. * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 24 Feb, 2009 1 commit
-
-
hyatt@apple.com authored
2009-02-23 David Hyatt <hyatt@apple.com> Reviewed by Eric Seidel https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have reflections or masks). If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object. The only difference is that the clip has to be pushed and popped when painting the object's children. The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to use the new functions. Hit testing has also been patched to check the overflow clip rect first before recurring into children. Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical. Masks are now treated like normal flow layers (just like reflections). A couple of test cases have been added to fast/overflow to test the stacking order. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::nodeAtPoint): (WebCore::InlineFlowBox::paint): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::repaintOverhangingFloats): (WebCore::RenderBlock::paint): (WebCore::RenderBlock::paintChildren): (WebCore::RenderBlock::paintObject): (WebCore::RenderBlock::paintFloats): (WebCore::RenderBlock::insertFloatingObject): (WebCore::RenderBlock::floatRect): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::addOverhangingFloats): (WebCore::RenderBlock::nodeAtPoint): (WebCore::RenderBlock::hitTestContents): * rendering/RenderBox.cpp: (WebCore::RenderBox::nodeAtPoint): (WebCore::RenderBox::pushContentsClip): (WebCore::RenderBox::popContentsClip): * rendering/RenderBox.h: (WebCore::RenderBox::paintObject): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::hasSelfPaintingLayer): * rendering/RenderBoxModelObject.h: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintLayer): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::shouldBeNormalFlowOnly): (WebCore::RenderLayer::isSelfPaintingLayer): * rendering/RenderLayer.h: * rendering/RenderTable.cpp: (WebCore::RenderTable::paint): (WebCore::RenderTable::paintObject): (WebCore::RenderTable::nodeAtPoint): * rendering/RenderTable.h: * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paint): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::nodeAtPoint): (WebCore::RenderTableRow::paint): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::paint): (WebCore::RenderTableSection::paintObject): (WebCore::RenderTableSection::nodeAtPoint): * rendering/RenderTableSection.h: * rendering/RenderTreeAsText.cpp: (WebCore::write): (WebCore::writeLayers): LayoutTests: 2009-02-24 David Hyatt <hyatt@apple.com> Reviewed by Eric Seidel https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have reflections or masks). If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object. The only difference is that the clip has to be pushed and popped when painting the object's children. The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to use the new functions. Hit testing has also been patched to check the overflow clip rect first before recurring into children. Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical. Masks are now treated like normal flow layers (just like reflections). A couple of test cases have been added to fast/overflow to test the stacking order. * fast/overflow/overflow-float-stacking.html: Added. * fast/overflow/overflow-stacking.html: Added. * platform/mac/fast/overflow/overflow-float-stacking-expected.checksum: Added. * platform/mac/fast/overflow/overflow-float-stacking-expected.png: Added. * platform/mac/fast/overflow/overflow-float-stacking-expected.txt: Added. * platform/mac/fast/overflow/overflow-stacking-expected.checksum: Added. * platform/mac/fast/overflow/overflow-stacking-expected.png: Added. * platform/mac/fast/overflow/overflow-stacking-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41203 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-