Changeset 90791 in webkit
- Timestamp:
- Jul 11, 2011 4:31:19 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r90788 r90791 1 2011-07-11 Levi Weintraub <leviw@chromium.org> 2 3 Switch lineTop and lineBottom to new layout types 4 https://bugs.webkit.org/show_bug.cgi?id=64317 5 6 Reviewed by Eric Seidel. 7 8 Changing lineTop and lineBottom to LayoutUnits and preparing all uses 9 of them for the upcoming conversion. 10 11 No new tests, no new functionality. 12 13 * rendering/EllipsisBox.cpp: 14 (WebCore::EllipsisBox::nodeAtPoint): 15 * rendering/EllipsisBox.h: 16 * rendering/GapRects.h: 17 (WebCore::GapRects::left): 18 (WebCore::GapRects::center): 19 (WebCore::GapRects::right): 20 (WebCore::GapRects::uniteLeft): 21 (WebCore::GapRects::uniteCenter): 22 (WebCore::GapRects::uniteRight): 23 (WebCore::GapRects::operator LayoutRect): 24 * rendering/InlineBox.cpp: 25 (WebCore::InlineBox::nodeAtPoint): 26 * rendering/InlineBox.h: 27 * rendering/InlineFlowBox.cpp: 28 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): 29 (WebCore::InlineFlowBox::flipLinesInBlockDirection): 30 (WebCore::InlineFlowBox::computeOverflow): 31 (WebCore::InlineFlowBox::setLayoutOverflow): 32 (WebCore::InlineFlowBox::setVisualOverflow): 33 (WebCore::InlineFlowBox::setOverflowFromLogicalRects): 34 (WebCore::InlineFlowBox::nodeAtPoint): 35 * rendering/InlineFlowBox.h: 36 (WebCore::InlineFlowBox::layoutOverflowRect): 37 (WebCore::InlineFlowBox::visualOverflowRect): 38 * rendering/InlineTextBox.cpp: 39 (WebCore::InlineTextBox::nodeAtPoint): 40 * rendering/RenderLineBoxList.cpp: 41 (WebCore::RenderLineBoxList::anyLineIntersectsRect): 42 * rendering/RenderLineBoxList.h: 43 * rendering/RenderListItem.cpp: 44 (WebCore::RenderListItem::positionListMarker): 45 * rendering/RenderTextControl.h: 46 * rendering/RenderTextControlMultiLine.cpp: 47 (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight): 48 * rendering/RenderTextControlSingleLine.cpp: 49 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): 50 * rendering/RenderTextControlSingleLine.h: 51 * rendering/RootInlineBox.cpp: 52 (WebCore::RootInlineBox::nodeAtPoint): 53 * rendering/RootInlineBox.h: 54 (WebCore::RootInlineBox::lineTop): 55 (WebCore::RootInlineBox::lineBottom): 56 (WebCore::RootInlineBox::setLineTopBottomPositions): 57 (WebCore::RootInlineBox::logicalTopVisualOverflow): 58 (WebCore::RootInlineBox::logicalBottomVisualOverflow): 59 (WebCore::RootInlineBox::logicalTopLayoutOverflow): 60 (WebCore::RootInlineBox::logicalBottomLayoutOverflow): 61 * rendering/svg/SVGInlineFlowBox.h: 62 * rendering/svg/SVGInlineTextBox.cpp: 63 (WebCore::SVGInlineTextBox::nodeAtPoint): 64 * rendering/svg/SVGInlineTextBox.h: 65 * rendering/svg/SVGRootInlineBox.h: 66 1 67 2011-07-11 Martin Robinson <mrobinson@igalia.com> 2 68 -
trunk/Source/WebCore/rendering/EllipsisBox.cpp
r90698 r90791 103 103 } 104 104 105 bool EllipsisBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom)105 bool EllipsisBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) 106 106 { 107 107 LayoutPoint adjustedLocation = accumulatedOffset + roundedLayoutPoint(topLeft()); -
trunk/Source/WebCore/rendering/EllipsisBox.h
r90600 r90791 41 41 42 42 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom); 43 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom);43 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom); 44 44 void setSelectionState(RenderObject::SelectionState s) { m_selectionState = s; } 45 45 IntRect selectionRect(); -
trunk/Source/WebCore/rendering/GapRects.h
r39556 r90791 24 24 #define GapRects_h 25 25 26 #include " IntRect.h"26 #include "LayoutTypes.h" 27 27 28 28 namespace WebCore { 29 29 30 30 struct GapRects { 31 const IntRect& left() const { return m_left; }32 const IntRect& center() const { return m_center; }33 const IntRect& right() const { return m_right; }31 const LayoutRect& left() const { return m_left; } 32 const LayoutRect& center() const { return m_center; } 33 const LayoutRect& right() const { return m_right; } 34 34 35 void uniteLeft(const IntRect& r) { m_left.unite(r); }36 void uniteCenter(const IntRect& r) { m_center.unite(r); }37 void uniteRight(const IntRect& r) { m_right.unite(r); }35 void uniteLeft(const LayoutRect& r) { m_left.unite(r); } 36 void uniteCenter(const LayoutRect& r) { m_center.unite(r); } 37 void uniteRight(const LayoutRect& r) { m_right.unite(r); } 38 38 void unite(const GapRects& o) { uniteLeft(o.left()); uniteCenter(o.center()); uniteRight(o.right()); } 39 39 40 operator IntRect() const40 operator LayoutRect() const 41 41 { 42 IntRect result = m_left;42 LayoutRect result = m_left; 43 43 result.unite(m_center); 44 44 result.unite(m_right); … … 53 53 54 54 private: 55 IntRect m_left;56 IntRect m_center;57 IntRect m_right;55 LayoutRect m_left; 56 LayoutRect m_center; 57 LayoutRect m_right; 58 58 }; 59 59 -
trunk/Source/WebCore/rendering/InlineBox.cpp
r90600 r90791 225 225 } 226 226 227 bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int /* lineTop */, int /*lineBottom*/)227 bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/) 228 228 { 229 229 // Hit test all phases of replaced elements atomically, as though the replaced element established its -
trunk/Source/WebCore/rendering/InlineBox.h
r90600 r90791 128 128 129 129 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom); 130 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom);130 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom); 131 131 132 132 InlineBox* next() const { return m_next; } -
trunk/Source/WebCore/rendering/InlineFlowBox.cpp
r90600 r90791 573 573 } 574 574 575 void InlineFlowBox::placeBoxesInBlockDirection(int top, int maxHeight, int maxAscent, bool strictMode, int& lineTop, int& lineBottom, bool& setLineTop,576 int& lineTopIncludingMargins, int& lineBottomIncludingMargins, bool& hasAnnotationsBefore, bool& hasAnnotationsAfter, FontBaseline baselineType)575 void InlineFlowBox::placeBoxesInBlockDirection(int top, int maxHeight, int maxAscent, bool strictMode, LayoutUnit& lineTop, LayoutUnit& lineBottom, bool& setLineTop, 576 LayoutUnit& lineTopIncludingMargins, LayoutUnit& lineBottomIncludingMargins, bool& hasAnnotationsBefore, bool& hasAnnotationsAfter, FontBaseline baselineType) 577 577 { 578 578 bool isRootBox = isRootInlineBox(); … … 582 582 } 583 583 584 int adjustmentForChildrenWithSameLineHeightAndBaseline = 0;584 LayoutUnit adjustmentForChildrenWithSameLineHeightAndBaseline = 0; 585 585 if (descendantsHaveSameLineHeightAndBaseline()) { 586 586 adjustmentForChildrenWithSameLineHeightAndBaseline = logicalTop(); … … 608 608 && !(inlineFlowBox->descendantsHaveSameLineHeightAndBaseline() && inlineFlowBox->hasTextDescendants())) 609 609 childAffectsTopBottomPos = false; 610 int posAdjust = maxAscent - curr->baselinePosition(baselineType);610 LayoutUnit posAdjust = maxAscent - curr->baselinePosition(baselineType); 611 611 curr->setLogicalTop(curr->logicalTop() + top + posAdjust); 612 612 } 613 613 614 int newLogicalTop = curr->logicalTop();615 int newLogicalTopIncludingMargins = newLogicalTop;616 int boxHeight = curr->logicalHeight();617 int boxHeightIncludingMargins = boxHeight;614 LayoutUnit newLogicalTop = curr->logicalTop(); 615 LayoutUnit newLogicalTopIncludingMargins = newLogicalTop; 616 LayoutUnit boxHeight = curr->logicalHeight(); 617 LayoutUnit boxHeightIncludingMargins = boxHeight; 618 618 619 619 if (curr->isText() || curr->isInlineFlowBox()) { … … 629 629 RenderBox* box = toRenderBox(curr->renderer()); 630 630 newLogicalTopIncludingMargins = newLogicalTop; 631 int overSideMargin = curr->isHorizontal() ? box->marginTop() : box->marginRight();632 int underSideMargin = curr->isHorizontal() ? box->marginBottom() : box->marginLeft();631 LayoutUnit overSideMargin = curr->isHorizontal() ? box->marginTop() : box->marginRight(); 632 LayoutUnit underSideMargin = curr->isHorizontal() ? box->marginBottom() : box->marginLeft(); 633 633 newLogicalTop += overSideMargin; 634 634 boxHeightIncludingMargins += overSideMargin + underSideMargin; … … 649 649 RenderRubyRun* rubyRun = toRenderRubyRun(curr->renderer()); 650 650 if (RenderRubyBase* rubyBase = rubyRun->rubyBase()) { 651 int bottomRubyBaseLeading = (curr->logicalHeight() - rubyBase->logicalBottom()) + rubyBase->logicalHeight() - (rubyBase->lastRootBox() ? rubyBase->lastRootBox()->lineBottom() : 0);652 int topRubyBaseLeading = rubyBase->logicalTop() + (rubyBase->firstRootBox() ? rubyBase->firstRootBox()->lineTop() : 0);651 LayoutUnit bottomRubyBaseLeading = (curr->logicalHeight() - rubyBase->logicalBottom()) + rubyBase->logicalHeight() - (rubyBase->lastRootBox() ? rubyBase->lastRootBox()->lineBottom() : 0); 652 LayoutUnit topRubyBaseLeading = rubyBase->logicalTop() + (rubyBase->firstRootBox() ? rubyBase->firstRootBox()->lineTop() : 0); 653 653 newLogicalTop += !renderer()->style()->isFlippedLinesWritingMode() ? topRubyBaseLeading : bottomRubyBaseLeading; 654 654 boxHeight -= (topRubyBaseLeading + bottomRubyBaseLeading); … … 704 704 } 705 705 706 void InlineFlowBox::flipLinesInBlockDirection( int lineTop, int lineBottom)706 void InlineFlowBox::flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lineBottom) 707 707 { 708 708 // Flip the box on the line such that the top is now relative to the lineBottom instead of the lineTop. … … 824 824 } 825 825 826 void InlineFlowBox::computeOverflow( int lineTop, int lineBottom, GlyphOverflowAndFallbackFontsMap& textBoxDataMap)826 void InlineFlowBox::computeOverflow(LayoutUnit lineTop, LayoutUnit lineBottom, GlyphOverflowAndFallbackFontsMap& textBoxDataMap) 827 827 { 828 828 // If we know we have no overflow, we can just bail. … … 833 833 // Layout overflow is used to determine scrolling extent, so it still includes child layers and also factors in 834 834 // transforms, relative positioning, etc. 835 IntRect logicalLayoutOverflow(enclosingIntRect(logicalFrameRectIncludingLineHeight(lineTop, lineBottom)));836 IntRect logicalVisualOverflow(logicalLayoutOverflow);835 LayoutRect logicalLayoutOverflow(enclosingLayoutRect(logicalFrameRectIncludingLineHeight(lineTop, lineBottom))); 836 LayoutRect logicalVisualOverflow(logicalLayoutOverflow); 837 837 838 838 // box-shadow on root line boxes is applying to the block and not to the lines. … … 848 848 if (rt->isBR()) 849 849 continue; 850 IntRect textBoxOverflow(enclosingIntRect(text->logicalFrameRect()));850 LayoutRect textBoxOverflow(enclosingLayoutRect(text->logicalFrameRect())); 851 851 addTextBoxVisualOverflow(text, textBoxDataMap, textBoxOverflow); 852 852 logicalVisualOverflow.unite(textBoxOverflow); … … 856 856 if (!flow->boxModelObject()->hasSelfPaintingLayer()) 857 857 logicalVisualOverflow.unite(flow->logicalVisualOverflowRect(lineTop, lineBottom)); 858 IntRect childLayoutOverflow = flow->logicalLayoutOverflowRect(lineTop, lineBottom);858 LayoutRect childLayoutOverflow = flow->logicalLayoutOverflowRect(lineTop, lineBottom); 859 859 childLayoutOverflow.move(flow->boxModelObject()->relativePositionLogicalOffset()); 860 860 logicalLayoutOverflow.unite(childLayoutOverflow); … … 866 866 } 867 867 868 void InlineFlowBox::setLayoutOverflow(const IntRect& rect, int lineTop, int lineBottom)869 { 870 IntRect frameBox = enclosingIntRect(frameRectIncludingLineHeight(lineTop, lineBottom));868 void InlineFlowBox::setLayoutOverflow(const LayoutRect& rect, LayoutUnit lineTop, LayoutUnit lineBottom) 869 { 870 LayoutRect frameBox = enclosingLayoutRect(frameRectIncludingLineHeight(lineTop, lineBottom)); 871 871 if (frameBox.contains(rect) || rect.isEmpty()) 872 872 return; … … 878 878 } 879 879 880 void InlineFlowBox::setVisualOverflow(const IntRect& rect, int lineTop, int lineBottom)881 { 882 IntRect frameBox = enclosingIntRect(frameRectIncludingLineHeight(lineTop, lineBottom));880 void InlineFlowBox::setVisualOverflow(const LayoutRect& rect, LayoutUnit lineTop, LayoutUnit lineBottom) 881 { 882 LayoutRect frameBox = enclosingLayoutRect(frameRectIncludingLineHeight(lineTop, lineBottom)); 883 883 if (frameBox.contains(rect) || rect.isEmpty()) 884 884 return; … … 890 890 } 891 891 892 void InlineFlowBox::setOverflowFromLogicalRects(const IntRect& logicalLayoutOverflow, const IntRect& logicalVisualOverflow, int lineTop, int lineBottom)893 { 894 IntRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLayoutOverflow.transposedRect());892 void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineBottom) 893 { 894 LayoutRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLayoutOverflow.transposedRect()); 895 895 setLayoutOverflow(layoutOverflow, lineTop, lineBottom); 896 896 897 IntRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVisualOverflow.transposedRect());897 LayoutRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVisualOverflow.transposedRect()); 898 898 setVisualOverflow(visualOverflow, lineTop, lineBottom); 899 899 } 900 900 901 bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom)901 bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) 902 902 { 903 903 LayoutRect overflowRect(visualOverflowRect(lineTop, lineBottom)); -
trunk/Source/WebCore/rendering/InlineFlowBox.h
r90600 r90791 110 110 void paintBoxShadow(GraphicsContext*, RenderStyle*, ShadowStyle, const LayoutRect&); 111 111 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom); 112 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom);112 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom); 113 113 114 114 virtual RenderLineBoxList* rendererLineBoxes() const; … … 171 171 void adjustMaxAscentAndDescent(int& maxAscent, int& maxDescent, 172 172 int maxPositionTop, int maxPositionBottom); 173 void placeBoxesInBlockDirection( int logicalTop, int maxHeight, int maxAscent, bool strictMode, int& lineTop, int& lineBottom, bool& setLineTop,174 int& lineTopIncludingMargins, int& lineBottomIncludingMargins, bool& hasAnnotationsBefore, bool& hasAnnotationsAfter, FontBaseline);175 void flipLinesInBlockDirection( int lineTop, int lineBottom);173 void placeBoxesInBlockDirection(LayoutUnit logicalTop, LayoutUnit maxHeight, LayoutUnit maxAscent, bool strictMode, LayoutUnit& lineTop, LayoutUnit& lineBottom, bool& setLineTop, 174 LayoutUnit& lineTopIncludingMargins, LayoutUnit& lineBottomIncludingMargins, bool& hasAnnotationsBefore, bool& hasAnnotationsAfter, FontBaseline); 175 void flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lineBottom); 176 176 bool requiresIdeographicBaseline(const GlyphOverflowAndFallbackFontsMap&) const; 177 177 … … 179 179 int computeUnderAnnotationAdjustment(int allowedPosition) const; 180 180 181 void computeOverflow( int lineTop, int lineBottom, GlyphOverflowAndFallbackFontsMap&);181 void computeOverflow(LayoutUnit lineTop, LayoutUnit lineBottom, GlyphOverflowAndFallbackFontsMap&); 182 182 183 183 void removeChild(InlineBox* child); … … 199 199 LayoutRect layoutOverflowRect(LayoutUnit lineTop, LayoutUnit lineBottom) const 200 200 { 201 return m_overflow ? m_overflow->layoutOverflowRect() : enclosing IntRect(frameRectIncludingLineHeight(lineTop, lineBottom));201 return m_overflow ? m_overflow->layoutOverflowRect() : enclosingLayoutRect(frameRectIncludingLineHeight(lineTop, lineBottom)); 202 202 } 203 203 LayoutUnit logicalLeftLayoutOverflow() const { return m_overflow ? (isHorizontal() ? m_overflow->minXLayoutOverflow() : m_overflow->minYLayoutOverflow()) : logicalLeft(); } … … 225 225 LayoutRect visualOverflowRect(LayoutUnit lineTop, LayoutUnit lineBottom) const 226 226 { 227 return m_overflow ? m_overflow->visualOverflowRect() : enclosing IntRect(frameRectIncludingLineHeight(lineTop, lineBottom));227 return m_overflow ? m_overflow->visualOverflowRect() : enclosingLayoutRect(frameRectIncludingLineHeight(lineTop, lineBottom)); 228 228 } 229 229 LayoutUnit logicalLeftVisualOverflow() const { return m_overflow ? (isHorizontal() ? m_overflow->minXVisualOverflow() : m_overflow->minYVisualOverflow()) : logicalLeft(); } -
trunk/Source/WebCore/rendering/InlineTextBox.cpp
r90600 r90791 346 346 } 347 347 348 bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int /* lineTop */, int /*lineBottom*/)348 bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/) 349 349 { 350 350 if (isLineBreak()) -
trunk/Source/WebCore/rendering/RenderLineBoxList.cpp
r90698 r90791 172 172 } 173 173 174 bool RenderLineBoxList::anyLineIntersectsRect(RenderBoxModelObject* renderer, const IntRect& rect, const IntPoint& offset, bool usePrintRect, int outlineSize) const174 bool RenderLineBoxList::anyLineIntersectsRect(RenderBoxModelObject* renderer, const LayoutRect& rect, const LayoutPoint& offset, bool usePrintRect, LayoutUnit outlineSize) const 175 175 { 176 176 // We can check the first box and last box and avoid painting/hit testing if we don't … … 180 180 RootInlineBox* firstRootBox = firstLineBox()->root(); 181 181 RootInlineBox* lastRootBox = lastLineBox()->root(); 182 int firstLineTop = firstLineBox()->logicalTopVisualOverflow(firstRootBox->lineTop());182 LayoutUnit firstLineTop = firstLineBox()->logicalTopVisualOverflow(firstRootBox->lineTop()); 183 183 if (usePrintRect && !firstLineBox()->parent()) 184 184 firstLineTop = min(firstLineTop, firstLineBox()->root()->lineTop()); 185 int lastLineBottom = lastLineBox()->logicalBottomVisualOverflow(lastRootBox->lineBottom());185 LayoutUnit lastLineBottom = lastLineBox()->logicalBottomVisualOverflow(lastRootBox->lineBottom()); 186 186 if (usePrintRect && !lastLineBox()->parent()) 187 187 lastLineBottom = max(lastLineBottom, lastLineBox()->root()->lineBottom()); 188 int logicalTop = firstLineTop - outlineSize;189 int logicalBottom = outlineSize + lastLineBottom;188 LayoutUnit logicalTop = firstLineTop - outlineSize; 189 LayoutUnit logicalBottom = outlineSize + lastLineBottom; 190 190 191 191 return rangeIntersectsRect(renderer, logicalTop, logicalBottom, rect, offset); -
trunk/Source/WebCore/rendering/RenderLineBoxList.h
r90667 r90791 68 68 69 69 private: 70 bool anyLineIntersectsRect(RenderBoxModelObject*, const IntRect&, const IntPoint&, bool usePrintRect = false, int outlineSize = 0) const;71 bool lineIntersectsDirtyRect(RenderBoxModelObject*, InlineFlowBox*, const PaintInfo&, const IntPoint&) const;72 bool rangeIntersectsRect(RenderBoxModelObject*, int logicalTop, int logicalBottom, const IntRect&, const IntPoint&) const;70 bool anyLineIntersectsRect(RenderBoxModelObject*, const LayoutRect&, const LayoutPoint&, bool usePrintRect = false, LayoutUnit outlineSize = 0) const; 71 bool lineIntersectsDirtyRect(RenderBoxModelObject*, InlineFlowBox*, const PaintInfo&, const LayoutPoint&) const; 72 bool rangeIntersectsRect(RenderBoxModelObject*, LayoutUnit logicalTop, LayoutUnit logicalBottom, const LayoutRect&, const LayoutPoint&) const; 73 73 74 74 // For block flows, each box represents the root inline box for a line in the -
trunk/Source/WebCore/rendering/RenderListItem.cpp
r90675 r90791 252 252 { 253 253 if (m_marker && m_marker->parent()->isBox() && !m_marker->isInside() && m_marker->inlineBoxWrapper()) { 254 int markerOldLogicalLeft = m_marker->logicalLeft();255 int blockOffset = 0;256 int lineOffset = 0;254 LayoutUnit markerOldLogicalLeft = m_marker->logicalLeft(); 255 LayoutUnit blockOffset = 0; 256 LayoutUnit lineOffset = 0; 257 257 for (RenderBox* o = m_marker->parentBox(); o != this; o = o->parentBox()) { 258 258 blockOffset += o->logicalTop(); … … 261 261 262 262 bool adjustOverflow = false; 263 int markerLogicalLeft;263 LayoutUnit markerLogicalLeft; 264 264 RootInlineBox* root = m_marker->inlineBoxWrapper()->root(); 265 265 bool hitSelfPaintingLayer = false; 266 266 267 267 RootInlineBox* rootBox = m_marker->inlineBoxWrapper()->root(); 268 int lineTop = rootBox->lineTop();269 int lineBottom = rootBox->lineBottom();268 LayoutUnit lineTop = rootBox->lineTop(); 269 LayoutUnit lineBottom = rootBox->lineBottom(); 270 270 271 271 // FIXME: Need to account for relative positioning in the layout overflow. 272 272 if (style()->isLeftToRightDirection()) { 273 int leftLineOffset = logicalLeftOffsetForLine(blockOffset, logicalLeftOffsetForLine(blockOffset, false), false);273 LayoutUnit leftLineOffset = logicalLeftOffsetForLine(blockOffset, logicalLeftOffsetForLine(blockOffset, false), false); 274 274 markerLogicalLeft = leftLineOffset - lineOffset - paddingStart() - borderStart() + m_marker->marginStart(); 275 275 m_marker->inlineBoxWrapper()->adjustLineDirectionPosition(markerLogicalLeft - markerOldLogicalLeft); 276 276 for (InlineFlowBox* box = m_marker->inlineBoxWrapper()->parent(); box; box = box->parent()) { 277 IntRect newLogicalVisualOverflowRect = box->logicalVisualOverflowRect(lineTop, lineBottom);278 IntRect newLogicalLayoutOverflowRect = box->logicalLayoutOverflowRect(lineTop, lineBottom);277 LayoutRect newLogicalVisualOverflowRect = box->logicalVisualOverflowRect(lineTop, lineBottom); 278 LayoutRect newLogicalLayoutOverflowRect = box->logicalLayoutOverflowRect(lineTop, lineBottom); 279 279 if (markerLogicalLeft < newLogicalVisualOverflowRect.x() && !hitSelfPaintingLayer) { 280 280 newLogicalVisualOverflowRect.setWidth(newLogicalVisualOverflowRect.maxX() - markerLogicalLeft); … … 295 295 } else { 296 296 markerLogicalLeft = m_marker->logicalLeft() + paddingStart() + borderStart() + m_marker->marginEnd(); 297 int rightLineOffset = logicalRightOffsetForLine(blockOffset, logicalRightOffsetForLine(blockOffset, false), false);297 LayoutUnit rightLineOffset = logicalRightOffsetForLine(blockOffset, logicalRightOffsetForLine(blockOffset, false), false); 298 298 markerLogicalLeft = rightLineOffset - lineOffset + paddingStart() + borderStart() + m_marker->marginEnd(); 299 299 m_marker->inlineBoxWrapper()->adjustLineDirectionPosition(markerLogicalLeft - markerOldLogicalLeft); 300 300 for (InlineFlowBox* box = m_marker->inlineBoxWrapper()->parent(); box; box = box->parent()) { 301 IntRect newLogicalVisualOverflowRect = box->logicalVisualOverflowRect(lineTop, lineBottom);302 IntRect newLogicalLayoutOverflowRect = box->logicalLayoutOverflowRect(lineTop, lineBottom);301 LayoutRect newLogicalVisualOverflowRect = box->logicalVisualOverflowRect(lineTop, lineBottom); 302 LayoutRect newLogicalLayoutOverflowRect = box->logicalLayoutOverflowRect(lineTop, lineBottom); 303 303 if (markerLogicalLeft + m_marker->logicalWidth() > newLogicalVisualOverflowRect.maxX() && !hitSelfPaintingLayer) { 304 304 newLogicalVisualOverflowRect.setWidth(markerLogicalLeft + m_marker->logicalWidth() - newLogicalVisualOverflowRect.x()); … … 319 319 320 320 if (adjustOverflow) { 321 IntRect markerRect(markerLogicalLeft + lineOffset, blockOffset, m_marker->width(), m_marker->height());321 LayoutRect markerRect(markerLogicalLeft + lineOffset, blockOffset, m_marker->width(), m_marker->height()); 322 322 if (!style()->isHorizontalWritingMode()) 323 323 markerRect = markerRect.transposedRect(); -
trunk/Source/WebCore/rendering/RenderTextControl.h
r90775 r90791 74 74 virtual float getAvgCharWidth(AtomicString family); 75 75 virtual int preferredContentWidth(float charWidth) const = 0; 76 virtual void adjustControlHeightBasedOnLineHeight( int lineHeight) = 0;76 virtual void adjustControlHeightBasedOnLineHeight(LayoutUnit lineHeight) = 0; 77 77 virtual RenderStyle* textBaseStyle() const = 0; 78 78 -
trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp
r90775 r90791 93 93 } 94 94 95 void RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight( int lineHeight)95 void RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight(LayoutUnit lineHeight) 96 96 { 97 97 setHeight(height() + lineHeight * static_cast<HTMLTextAreaElement*>(node())->rows()); -
trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp
r90775 r90791 481 481 } 482 482 483 void RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight( int lineHeight)483 void RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight(LayoutUnit lineHeight) 484 484 { 485 485 HTMLElement* resultsButton = resultsButtonElement(); -
trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h
r90775 r90791 82 82 virtual float getAvgCharWidth(AtomicString family); 83 83 virtual int preferredContentWidth(float charWidth) const; 84 virtual void adjustControlHeightBasedOnLineHeight( int lineHeight);84 virtual void adjustControlHeightBasedOnLineHeight(LayoutUnit lineHeight); 85 85 86 86 virtual void updateFromElement(); -
trunk/Source/WebCore/rendering/RootInlineBox.cpp
r90600 r90791 190 190 } 191 191 192 bool RootInlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom)192 bool RootInlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) 193 193 { 194 194 if (hasEllipsisBox() && visibleToHitTesting()) { -
trunk/Source/WebCore/rendering/RootInlineBox.h
r90600 r90791 48 48 virtual void adjustPosition(float dx, float dy); 49 49 50 int lineTop() const { return m_lineTop; }51 int lineBottom() const { return m_lineBottom; }50 LayoutUnit lineTop() const { return m_lineTop; } 51 LayoutUnit lineBottom() const { return m_lineBottom; } 52 52 53 53 int paginationStrut() const { return m_paginationStrut; } … … 61 61 62 62 int alignBoxesInBlockDirection(int heightOfBlock, GlyphOverflowAndFallbackFontsMap&, VerticalPositionCache&); 63 void setLineTopBottomPositions(int top, int bottom); 63 void setLineTopBottomPositions(LayoutUnit top, LayoutUnit bottom) 64 { 65 m_lineTop = top; 66 m_lineBottom = bottom; 67 } 64 68 65 69 virtual RenderLineBoxList* rendererLineBoxes() const; … … 99 103 100 104 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom); 101 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom);105 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom); 102 106 103 107 bool hasSelectedChildren() const { return m_hasSelectedChildrenOrCanHaveLeadingExpansion; } … … 146 150 bool includesRootLineBoxFontOrLeading() const; 147 151 148 int logicalTopVisualOverflow() const152 LayoutUnit logicalTopVisualOverflow() const 149 153 { 150 154 return InlineFlowBox::logicalTopVisualOverflow(lineTop()); 151 155 } 152 int logicalBottomVisualOverflow() const156 LayoutUnit logicalBottomVisualOverflow() const 153 157 { 154 158 return InlineFlowBox::logicalBottomVisualOverflow(lineBottom()); 155 159 } 156 int logicalTopLayoutOverflow() const160 LayoutUnit logicalTopLayoutOverflow() const 157 161 { 158 162 return InlineFlowBox::logicalTopLayoutOverflow(lineTop()); 159 163 } 160 int logicalBottomLayoutOverflow() const164 LayoutUnit logicalBottomLayoutOverflow() const 161 165 { 162 166 return InlineFlowBox::logicalBottomLayoutOverflow(lineBottom()); … … 180 184 RefPtr<BidiContext> m_lineBreakContext; 181 185 182 int m_lineTop;183 int m_lineBottom;186 LayoutUnit m_lineTop; 187 LayoutUnit m_lineBottom; 184 188 185 189 int m_paginationStrut; … … 204 208 }; 205 209 206 inline void RootInlineBox::setLineTopBottomPositions(int top, int bottom)207 {208 m_lineTop = top;209 m_lineBottom = bottom;210 }211 212 210 } // namespace WebCore 213 211 -
trunk/Source/WebCore/rendering/svg/SVGInlineFlowBox.h
r87753 r90791 42 42 43 43 void paintSelectionBackground(PaintInfo&); 44 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom);44 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom); 45 45 46 46 virtual IntRect calculateBoundaries() const; -
trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
r90515 r90791 729 729 } 730 730 731 bool SVGInlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int, int)731 bool SVGInlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit, LayoutUnit) 732 732 { 733 733 // FIXME: integrate with InlineTextBox::nodeAtPoint better. -
trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.h
r90515 r90791 47 47 48 48 void paintSelectionBackground(PaintInfo&); 49 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom);49 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom); 50 50 virtual IntRect selectionRect(int startPosition, int endPosition); 51 51 … … 78 78 void paintText(GraphicsContext*, RenderStyle*, RenderStyle* selectionStyle, const SVGTextFragment&, bool hasSelection, bool paintSelectedTextOnly); 79 79 80 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom);80 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom); 81 81 82 82 private: -
trunk/Source/WebCore/rendering/svg/SVGRootInlineBox.h
r87753 r90791 46 46 void setLogicalHeight(int height) { m_logicalHeight = height; } 47 47 48 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom);48 virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom); 49 49 50 50 void computePerCharacterLayoutInformation();
Note: See TracChangeset
for help on using the changeset viewer.