https://bugs.webkit.org/show_bug.cgi?id=53614
authorhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Feb 2011 20:19:22 +0000 (20:19 +0000)
committerhyatt@apple.com <hyatt@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Feb 2011 20:19:22 +0000 (20:19 +0000)
Reviewed by Dan Bernstein.

Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.

* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
(WebCore::InlineFlowBox::addTextBoxVisualOverflow):
* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::minYLayoutOverflow):
(WebCore::InlineFlowBox::maxYLayoutOverflow):
(WebCore::InlineFlowBox::minXLayoutOverflow):
(WebCore::InlineFlowBox::maxXLayoutOverflow):
(WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
(WebCore::InlineFlowBox::logicalRightLayoutOverflow):
(WebCore::InlineFlowBox::logicalTopLayoutOverflow):
(WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
(WebCore::InlineFlowBox::minYVisualOverflow):
(WebCore::InlineFlowBox::maxYVisualOverflow):
(WebCore::InlineFlowBox::minXVisualOverflow):
(WebCore::InlineFlowBox::maxXVisualOverflow):
(WebCore::InlineFlowBox::logicalLeftVisualOverflow):
(WebCore::InlineFlowBox::logicalRightVisualOverflow):
(WebCore::InlineFlowBox::logicalminYVisualOverflow):
(WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::adjustLinePositionForPagination):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::beforeSideVisualOverflowForLine):
(WebCore::RenderBlock::afterSideVisualOverflowForLine):
(WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
(WebCore::RenderBlock::afterSideLayoutOverflowForLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):
* rendering/RenderBox.h:
(WebCore::RenderBox::minYLayoutOverflow):
(WebCore::RenderBox::maxYLayoutOverflow):
(WebCore::RenderBox::minXLayoutOverflow):
(WebCore::RenderBox::maxXLayoutOverflow):
(WebCore::RenderBox::logicalLeftLayoutOverflow):
(WebCore::RenderBox::logicalRightLayoutOverflow):
(WebCore::RenderBox::minYVisualOverflow):
(WebCore::RenderBox::maxYVisualOverflow):
(WebCore::RenderBox::minXVisualOverflow):
(WebCore::RenderBox::maxXVisualOverflow):
(WebCore::RenderBox::logicalLeftVisualOverflow):
(WebCore::RenderBox::logicalRightVisualOverflow):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::linesVisualOverflowBoundingBox):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::anyLineIntersectsRect):
(WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
(WebCore::RenderLineBoxList::paint):
(WebCore::RenderLineBoxList::hitTest):
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::computePosition):
* rendering/RenderOverflow.h:
(WebCore::RenderOverflow::RenderOverflow):
(WebCore::RenderOverflow::minYLayoutOverflow):
(WebCore::RenderOverflow::maxYLayoutOverflow):
(WebCore::RenderOverflow::minXLayoutOverflow):
(WebCore::RenderOverflow::maxXLayoutOverflow):
(WebCore::RenderOverflow::minYVisualOverflow):
(WebCore::RenderOverflow::maxYVisualOverflow):
(WebCore::RenderOverflow::minXVisualOverflow):
(WebCore::RenderOverflow::maxXVisualOverflow):
(WebCore::RenderOverflow::setminYVisualOverflow):
(WebCore::RenderOverflow::visualOverflowRect):
(WebCore::RenderOverflow::move):
(WebCore::RenderOverflow::addVisualOverflow):
(WebCore::RenderOverflow::setVisualOverflow):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
(WebCore::RenderTable::paint):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::clippedOverflowRectForRepaint):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeLayers):
* rendering/RenderView.cpp:
(WebCore::RenderView::docTop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@77397 268f45cc-cd09-0410-ab3c-d52691b4dbfc

15 files changed:
Source/WebCore/ChangeLog
Source/WebCore/rendering/InlineFlowBox.h
Source/WebCore/rendering/RenderBlockLineLayout.cpp
Source/WebCore/rendering/RenderBox.cpp
Source/WebCore/rendering/RenderBox.h
Source/WebCore/rendering/RenderInline.cpp
Source/WebCore/rendering/RenderLayerCompositor.cpp
Source/WebCore/rendering/RenderLineBoxList.cpp
Source/WebCore/rendering/RenderMarquee.cpp
Source/WebCore/rendering/RenderOverflow.h
Source/WebCore/rendering/RenderReplaced.cpp
Source/WebCore/rendering/RenderTable.cpp
Source/WebCore/rendering/RenderTableCell.cpp
Source/WebCore/rendering/RenderTreeAsText.cpp
Source/WebCore/rendering/RenderView.cpp

index a65d597..332db74 100644 (file)
@@ -1,3 +1,92 @@
+2011-02-02  David Hyatt  <hyatt@apple.com>
+
+        Reviewed by Dan Bernstein.
+
+        https://bugs.webkit.org/show_bug.cgi?id=53614
+
+        Remove physical terminology from overflow.  Replace with minX/maxX/minY/maxY.
+
+        * rendering/InlineFlowBox.cpp:
+        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
+        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+        * rendering/InlineFlowBox.h:
+        (WebCore::InlineFlowBox::minYLayoutOverflow):
+        (WebCore::InlineFlowBox::maxYLayoutOverflow):
+        (WebCore::InlineFlowBox::minXLayoutOverflow):
+        (WebCore::InlineFlowBox::maxXLayoutOverflow):
+        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
+        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
+        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
+        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
+        (WebCore::InlineFlowBox::minYVisualOverflow):
+        (WebCore::InlineFlowBox::maxYVisualOverflow):
+        (WebCore::InlineFlowBox::minXVisualOverflow):
+        (WebCore::InlineFlowBox::maxXVisualOverflow):
+        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
+        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
+        (WebCore::InlineFlowBox::logicalminYVisualOverflow):
+        (WebCore::InlineFlowBox::logicalmaxYVisualOverflow):
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::adjustLinePositionForPagination):
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
+        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
+        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
+        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::scrollWidth):
+        (WebCore::RenderBox::scrollHeight):
+        * rendering/RenderBox.h:
+        (WebCore::RenderBox::minYLayoutOverflow):
+        (WebCore::RenderBox::maxYLayoutOverflow):
+        (WebCore::RenderBox::minXLayoutOverflow):
+        (WebCore::RenderBox::maxXLayoutOverflow):
+        (WebCore::RenderBox::logicalLeftLayoutOverflow):
+        (WebCore::RenderBox::logicalRightLayoutOverflow):
+        (WebCore::RenderBox::minYVisualOverflow):
+        (WebCore::RenderBox::maxYVisualOverflow):
+        (WebCore::RenderBox::minXVisualOverflow):
+        (WebCore::RenderBox::maxXVisualOverflow):
+        (WebCore::RenderBox::logicalLeftVisualOverflow):
+        (WebCore::RenderBox::logicalRightVisualOverflow):
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
+        * rendering/RenderLineBoxList.cpp:
+        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
+        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
+        (WebCore::RenderLineBoxList::paint):
+        (WebCore::RenderLineBoxList::hitTest):
+        * rendering/RenderMarquee.cpp:
+        (WebCore::RenderMarquee::computePosition):
+        * rendering/RenderOverflow.h:
+        (WebCore::RenderOverflow::RenderOverflow):
+        (WebCore::RenderOverflow::minYLayoutOverflow):
+        (WebCore::RenderOverflow::maxYLayoutOverflow):
+        (WebCore::RenderOverflow::minXLayoutOverflow):
+        (WebCore::RenderOverflow::maxXLayoutOverflow):
+        (WebCore::RenderOverflow::minYVisualOverflow):
+        (WebCore::RenderOverflow::maxYVisualOverflow):
+        (WebCore::RenderOverflow::minXVisualOverflow):
+        (WebCore::RenderOverflow::maxXVisualOverflow):
+        (WebCore::RenderOverflow::setminYVisualOverflow):
+        (WebCore::RenderOverflow::visualOverflowRect):
+        (WebCore::RenderOverflow::move):
+        (WebCore::RenderOverflow::addVisualOverflow):
+        (WebCore::RenderOverflow::setVisualOverflow):
+        * rendering/RenderReplaced.cpp:
+        (WebCore::RenderReplaced::shouldPaint):
+        * rendering/RenderTable.cpp:
+        (WebCore::RenderTable::layout):
+        (WebCore::RenderTable::paint):
+        * rendering/RenderTableCell.cpp:
+        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
+        * rendering/RenderTreeAsText.cpp:
+        (WebCore::writeLayers):
+        * rendering/RenderView.cpp:
+        (WebCore::RenderView::docTop):
+
 2011-02-02  Steve Lacey  <sjl@chromium.org>
 
         Reviewed by Eric Carlson.
index 232c3b7..d47111f 100644 (file)
@@ -183,19 +183,18 @@ public:
     void checkConsistency() const;
     void setHasBadChildList();
 
-    // Line visual and layout overflow are in the coordinate space of the block.  This means that - unlike other unprefixed uses of the words
-    // top/right/bottom/left in the code - these aren't purely physical directions.  For horizontal-tb and vertical-lr they will match physical
-    // directions, but for horizontal-bt and vertical-rl, the top/bottom and left/right respectively are inverted when compared to
-    // their physical counterparts.
-    int topLayoutOverflow() const { return m_overflow ? m_overflow->topLayoutOverflow() : m_y; }
-    int bottomLayoutOverflow() const { return m_overflow ? m_overflow->bottomLayoutOverflow() : m_y + height(); }
-    int leftLayoutOverflow() const { return m_overflow ? m_overflow->leftLayoutOverflow() : m_x; }
-    int rightLayoutOverflow() const { return m_overflow ? m_overflow->rightLayoutOverflow() : m_x + width(); }
+    // Line visual and layout overflow are in the coordinate space of the block.  This means that they aren't purely physical directions.
+    // For horizontal-tb and vertical-lr they will match physical directions, but for horizontal-bt and vertical-rl, the top/bottom and left/right
+    // respectively are flipped when compared to their physical counterparts.  For example minX is on the left in vertical-lr, but it is on the right in vertical-rl.
+    int minYLayoutOverflow() const { return m_overflow ? m_overflow->minYLayoutOverflow() : m_y; }
+    int maxYLayoutOverflow() const { return m_overflow ? m_overflow->maxYLayoutOverflow() : m_y + height(); }
+    int minXLayoutOverflow() const { return m_overflow ? m_overflow->minXLayoutOverflow() : m_x; }
+    int maxXLayoutOverflow() const { return m_overflow ? m_overflow->maxXLayoutOverflow() : m_x + width(); }
     IntRect layoutOverflowRect() const { return m_overflow ? m_overflow->layoutOverflowRect() : IntRect(m_x, m_y, width(), height()); }
-    int logicalLeftLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? leftLayoutOverflow() : topLayoutOverflow(); }
-    int logicalRightLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? rightLayoutOverflow() : bottomLayoutOverflow(); }
-    int logicalTopLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? topVisualOverflow() : leftVisualOverflow(); }
-    int logicalBottomLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? bottomLayoutOverflow() : rightLayoutOverflow(); }
+    int logicalLeftLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? minXLayoutOverflow() : minYLayoutOverflow(); }
+    int logicalRightLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? maxXLayoutOverflow() : maxYLayoutOverflow(); }
+    int logicalTopLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? minYVisualOverflow() : minXVisualOverflow(); }
+    int logicalBottomLayoutOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? maxYLayoutOverflow() : maxXLayoutOverflow(); }
     IntRect logicalLayoutOverflowRect() const
     {
         IntRect result = layoutOverflowRect();
@@ -204,15 +203,15 @@ public:
         return result;
     }
 
-    int topVisualOverflow() const { return m_overflow ? m_overflow->topVisualOverflow() : m_y; }
-    int bottomVisualOverflow() const { return m_overflow ? m_overflow->bottomVisualOverflow() : m_y + height(); }
-    int leftVisualOverflow() const { return m_overflow ? m_overflow->leftVisualOverflow() : m_x; }
-    int rightVisualOverflow() const { return m_overflow ? m_overflow->rightVisualOverflow() : m_x + width(); }
+    int minYVisualOverflow() const { return m_overflow ? m_overflow->minYVisualOverflow() : m_y; }
+    int maxYVisualOverflow() const { return m_overflow ? m_overflow->maxYVisualOverflow() : m_y + height(); }
+    int minXVisualOverflow() const { return m_overflow ? m_overflow->minXVisualOverflow() : m_x; }
+    int maxXVisualOverflow() const { return m_overflow ? m_overflow->maxXVisualOverflow() : m_x + width(); }
     IntRect visualOverflowRect() const { return m_overflow ? m_overflow->visualOverflowRect() : IntRect(m_x, m_y, width(), height()); }
-    int logicalLeftVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? leftVisualOverflow() : topVisualOverflow(); }
-    int logicalRightVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? rightVisualOverflow() : bottomVisualOverflow(); }
-    int logicalTopVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? topVisualOverflow() : leftVisualOverflow(); }
-    int logicalBottomVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? bottomVisualOverflow() : rightVisualOverflow(); }
+    int logicalLeftVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? minXVisualOverflow() : minYVisualOverflow(); }
+    int logicalRightVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? maxXVisualOverflow() : maxYVisualOverflow(); }
+    int logicalTopVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? minYVisualOverflow() : minXVisualOverflow(); }
+    int logicalBottomVisualOverflow() const { return renderer()->style()->isHorizontalWritingMode() ? maxYVisualOverflow() : maxXVisualOverflow(); }
     IntRect logicalVisualOverflowRect() const
     {
         IntRect result = visualOverflowRect();
index 9909d98..830fc62 100644 (file)
@@ -2066,38 +2066,34 @@ void RenderBlock::addOverflowFromInlineChildren()
 
 int RenderBlock::beforeSideVisualOverflowForLine(RootInlineBox* line) const
 {
-    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
-    // we continue to use top and left overflow even though physically it's bottom and right.
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.
     if (style()->isHorizontalWritingMode())
-        return line->topVisualOverflow();
-    return line->leftVisualOverflow();
+        return line->minYVisualOverflow();
+    return line->minXVisualOverflow();
 }
 
 int RenderBlock::afterSideVisualOverflowForLine(RootInlineBox* line) const
 {
-    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
-    // we continue to use bottom and right overflow even though physically it's top and left.
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.
     if (style()->isHorizontalWritingMode())
-        return line->bottomVisualOverflow();
-    return line->rightVisualOverflow();
+        return line->maxYVisualOverflow();
+    return line->maxXVisualOverflow();
 }
 
 int RenderBlock::beforeSideLayoutOverflowForLine(RootInlineBox* line) const
 {
-    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
-    // we continue to use top and left overflow even though physically it's bottom and right.
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.
     if (style()->isHorizontalWritingMode())
-        return line->topLayoutOverflow();
-    return line->leftLayoutOverflow();
+        return line->minYLayoutOverflow();
+    return line->minXLayoutOverflow();
 }
 
 int RenderBlock::afterSideLayoutOverflowForLine(RootInlineBox* line) const
 {
-    // Overflow is in the block's coordinate space, which means it isn't purely physical.  For flipped blocks (rl and bt),
-    // we continue to use bottom and right overflow even though physically it's top and left.
+    // Overflow is in the block's coordinate space, which means it isn't purely physical.
     if (style()->isHorizontalWritingMode())
-        return line->bottomLayoutOverflow();
-    return line->rightLayoutOverflow();
+        return line->maxYLayoutOverflow();
+    return line->maxXLayoutOverflow();
 }
 
 void RenderBlock::deleteEllipsisLineBoxes()
index ccb8725..e11c5d8 100644 (file)
@@ -414,8 +414,8 @@ int RenderBox::scrollWidth() const
     // For objects with visible overflow, this matches IE.
     // FIXME: Need to work right with writing modes.
     if (style()->isLeftToRightDirection())
-        return max(clientWidth(), rightLayoutOverflow() - borderLeft());
-    return clientWidth() - min(0, leftLayoutOverflow() - borderLeft());
+        return max(clientWidth(), maxXLayoutOverflow() - borderLeft());
+    return clientWidth() - min(0, minXLayoutOverflow() - borderLeft());
 }
 
 int RenderBox::scrollHeight() const
@@ -424,7 +424,7 @@ int RenderBox::scrollHeight() const
         return layer()->scrollHeight();
     // For objects with visible overflow, this matches IE.
     // FIXME: Need to work right with writing modes.
-    return max(clientHeight(), bottomLayoutOverflow() - borderTop());
+    return max(clientHeight(), maxYLayoutOverflow() - borderTop());
 }
 
 int RenderBox::scrollLeft() const
index 595947f..39bc2a4 100644 (file)
@@ -127,21 +127,25 @@ public:
     RenderBox* nextSiblingBox() const;
     RenderBox* parentBox() const;
 
+    // Visual and layout overflow are in the coordinate space of the box.  This means that they aren't purely physical directions.
+    // For horizontal-tb and vertical-lr they will match physical directions, but for horizontal-bt and vertical-rl, the top/bottom and left/right
+    // respectively are flipped when compared to their physical counterparts.  For example minX is on the left in vertical-lr,
+    // but it is on the right in vertical-rl.
     IntRect layoutOverflowRect() const { return m_overflow ? m_overflow->layoutOverflowRect() : clientBoxRect(); }
-    int topLayoutOverflow() const { return m_overflow? m_overflow->topLayoutOverflow() : borderTop(); }
-    int bottomLayoutOverflow() const { return m_overflow ? m_overflow->bottomLayoutOverflow() : borderTop() + clientHeight(); }
-    int leftLayoutOverflow() const { return m_overflow ? m_overflow->leftLayoutOverflow() : borderLeft(); }
-    int rightLayoutOverflow() const { return m_overflow ? m_overflow->rightLayoutOverflow() : borderLeft() + clientWidth(); }
-    int logicalLeftLayoutOverflow() const { return style()->isHorizontalWritingMode() ? leftLayoutOverflow() : topLayoutOverflow(); }
-    int logicalRightLayoutOverflow() const { return style()->isHorizontalWritingMode() ? rightLayoutOverflow() : bottomLayoutOverflow(); }
+    int minYLayoutOverflow() const { return m_overflow? m_overflow->minYLayoutOverflow() : borderTop(); }
+    int maxYLayoutOverflow() const { return m_overflow ? m_overflow->maxYLayoutOverflow() : borderTop() + clientHeight(); }
+    int minXLayoutOverflow() const { return m_overflow ? m_overflow->minXLayoutOverflow() : borderLeft(); }
+    int maxXLayoutOverflow() const { return m_overflow ? m_overflow->maxXLayoutOverflow() : borderLeft() + clientWidth(); }
+    int logicalLeftLayoutOverflow() const { return style()->isHorizontalWritingMode() ? minXLayoutOverflow() : minYLayoutOverflow(); }
+    int logicalRightLayoutOverflow() const { return style()->isHorizontalWritingMode() ? maxXLayoutOverflow() : maxYLayoutOverflow(); }
     
     IntRect visualOverflowRect() const { return m_overflow ? m_overflow->visualOverflowRect() : borderBoxRect(); }
-    int topVisualOverflow() const { return m_overflow? m_overflow->topVisualOverflow() : 0; }
-    int bottomVisualOverflow() const { return m_overflow ? m_overflow->bottomVisualOverflow() : height(); }
-    int leftVisualOverflow() const { return m_overflow ? m_overflow->leftVisualOverflow() : 0; }
-    int rightVisualOverflow() const { return m_overflow ? m_overflow->rightVisualOverflow() : width(); }
-    int logicalLeftVisualOverflow() const { return style()->isHorizontalWritingMode() ? leftVisualOverflow() : topVisualOverflow(); }
-    int logicalRightVisualOverflow() const { return style()->isHorizontalWritingMode() ? rightVisualOverflow() : bottomVisualOverflow(); }
+    int minYVisualOverflow() const { return m_overflow? m_overflow->minYVisualOverflow() : 0; }
+    int maxYVisualOverflow() const { return m_overflow ? m_overflow->maxYVisualOverflow() : height(); }
+    int minXVisualOverflow() const { return m_overflow ? m_overflow->minXVisualOverflow() : 0; }
+    int maxXVisualOverflow() const { return m_overflow ? m_overflow->maxXVisualOverflow() : width(); }
+    int logicalLeftVisualOverflow() const { return style()->isHorizontalWritingMode() ? minXVisualOverflow() : minYVisualOverflow(); }
+    int logicalRightVisualOverflow() const { return style()->isHorizontalWritingMode() ? maxXVisualOverflow() : maxYVisualOverflow(); }
     
     void addLayoutOverflow(const IntRect&);
     void addVisualOverflow(const IntRect&);
index 243ce2d..3768774 100644 (file)
@@ -595,10 +595,10 @@ IntRect RenderInline::linesVisualOverflowBoundingBox() const
 
     bool isHorizontal = style()->isHorizontalWritingMode();
         
-    int x = isHorizontal ? logicalLeftSide : firstLineBox()->leftVisualOverflow();
-    int y = isHorizontal ? firstLineBox()->topVisualOverflow() : logicalLeftSide;
-    int width = isHorizontal ? logicalRightSide - logicalLeftSide : lastLineBox()->rightVisualOverflow() - firstLineBox()->leftVisualOverflow();
-    int height = isHorizontal ? lastLineBox()->bottomVisualOverflow() - firstLineBox()->topVisualOverflow() : logicalRightSide - logicalLeftSide;
+    int x = isHorizontal ? logicalLeftSide : firstLineBox()->minXVisualOverflow();
+    int y = isHorizontal ? firstLineBox()->minYVisualOverflow() : logicalLeftSide;
+    int width = isHorizontal ? logicalRightSide - logicalLeftSide : lastLineBox()->maxXVisualOverflow() - firstLineBox()->minXVisualOverflow();
+    int height = isHorizontal ? lastLineBox()->maxYVisualOverflow() - firstLineBox()->minYVisualOverflow() : logicalRightSide - logicalLeftSide;
     return IntRect(x, y, width, height);
 }
 
index 4611fa4..d394a7e 100644 (file)
@@ -1394,7 +1394,7 @@ void RenderLayerCompositor::ensureRootPlatformLayer()
 #ifndef NDEBUG
         m_rootPlatformLayer->setName("Root platform");
 #endif
-        m_rootPlatformLayer->setSize(FloatSize(m_renderView->rightLayoutOverflow(), m_renderView->bottomLayoutOverflow()));
+        m_rootPlatformLayer->setSize(FloatSize(m_renderView->maxXLayoutOverflow(), m_renderView->maxYLayoutOverflow()));
         m_rootPlatformLayer->setPosition(FloatPoint());
 
         // Need to clip to prevent transformed content showing outside this frame
index 35ab7ba..274905e 100644 (file)
@@ -231,8 +231,8 @@ void RenderLineBoxList::paint(RenderBoxModelObject* renderer, PaintInfo& paintIn
             // FIXME: This is the deprecated pagination model that is still needed
             // for embedded views inside AppKit.  AppKit is incapable of paginating vertical
             // text pages, so we don't have to deal with vertical lines at all here.
-            int topForPaginationCheck = curr->topVisualOverflow();
-            int bottomForPaginationCheck = curr->bottomVisualOverflow();
+            int topForPaginationCheck = curr->minYVisualOverflow();
+            int bottomForPaginationCheck = curr->maxYVisualOverflow();
             if (!curr->parent()) {
                 // We're a root box.  Use lineTop and lineBottom as well here.
                 topForPaginationCheck = min(topForPaginationCheck, curr->root()->lineTop());
@@ -241,7 +241,7 @@ void RenderLineBoxList::paint(RenderBoxModelObject* renderer, PaintInfo& paintIn
             if (bottomForPaginationCheck - topForPaginationCheck <= v->printRect().height()) {
                 if (ty + bottomForPaginationCheck > v->printRect().maxY()) {
                     if (RootInlineBox* nextRootBox = curr->root()->nextRootBox())
-                        bottomForPaginationCheck = min(bottomForPaginationCheck, min(nextRootBox->topVisualOverflow(), nextRootBox->lineTop()));
+                        bottomForPaginationCheck = min(bottomForPaginationCheck, min(nextRootBox->minYVisualOverflow(), nextRootBox->lineTop()));
                 }
                 if (ty + bottomForPaginationCheck > v->printRect().maxY()) {
                     if (ty + topForPaginationCheck < v->truncatedAt())
index 9b58118..6f59340 100644 (file)
@@ -116,7 +116,7 @@ int RenderMarquee::computePosition(EMarqueeDirection dir, bool stopAtContentEdge
     if (isHorizontal()) {
         bool ltr = s->isLeftToRightDirection();
         int clientWidth = box->clientWidth();
-        int contentWidth = ltr ? box->rightLayoutOverflow() : box->leftLayoutOverflow();
+        int contentWidth = ltr ? box->maxXLayoutOverflow() : box->minXLayoutOverflow();
         if (ltr)
             contentWidth += (box->paddingRight() - box->borderLeft());
         else {
@@ -137,7 +137,7 @@ int RenderMarquee::computePosition(EMarqueeDirection dir, bool stopAtContentEdge
         }
     }
     else {
-        int contentHeight = box->bottomLayoutOverflow() - box->borderTop() + box->paddingBottom();
+        int contentHeight = box->maxYLayoutOverflow() - box->borderTop() + box->paddingBottom();
         int clientHeight = box->clientHeight();
         if (dir == MUP) {
             if (stopAtContentEdge)
index f9de789..48fe2bb 100644 (file)
@@ -41,38 +41,38 @@ class RenderOverflow {
     WTF_MAKE_NONCOPYABLE(RenderOverflow); WTF_MAKE_FAST_ALLOCATED;
 public:
     RenderOverflow(const IntRect& layoutRect, const IntRect& visualRect) 
-        : m_topLayoutOverflow(layoutRect.y())
-        , m_bottomLayoutOverflow(layoutRect.maxY())
-        , m_leftLayoutOverflow(layoutRect.x())
-        , m_rightLayoutOverflow(layoutRect.maxX())
-        , m_topVisualOverflow(visualRect.y())
-        , m_bottomVisualOverflow(visualRect.maxY())
-        , m_leftVisualOverflow(visualRect.x())
-        , m_rightVisualOverflow(visualRect.maxX())
+        : m_minYLayoutOverflow(layoutRect.y())
+        , m_maxYLayoutOverflow(layoutRect.maxY())
+        , m_minXLayoutOverflow(layoutRect.x())
+        , m_maxXLayoutOverflow(layoutRect.maxX())
+        , m_minYVisualOverflow(visualRect.y())
+        , m_maxYVisualOverflow(visualRect.maxY())
+        , m_minXVisualOverflow(visualRect.x())
+        , m_maxXVisualOverflow(visualRect.maxX())
     {
     }
    
-    int topLayoutOverflow() const { return m_topLayoutOverflow; }
-    int bottomLayoutOverflow() const { return m_bottomLayoutOverflow; }
-    int leftLayoutOverflow() const { return m_leftLayoutOverflow; }
-    int rightLayoutOverflow() const { return m_rightLayoutOverflow; }
+    int minYLayoutOverflow() const { return m_minYLayoutOverflow; }
+    int maxYLayoutOverflow() const { return m_maxYLayoutOverflow; }
+    int minXLayoutOverflow() const { return m_minXLayoutOverflow; }
+    int maxXLayoutOverflow() const { return m_maxXLayoutOverflow; }
     IntRect layoutOverflowRect() const;
 
-    int topVisualOverflow() const { return m_topVisualOverflow; }
-    int bottomVisualOverflow() const { return m_bottomVisualOverflow; }
-    int leftVisualOverflow() const { return m_leftVisualOverflow; }
-    int rightVisualOverflow() const { return m_rightVisualOverflow; }
+    int minYVisualOverflow() const { return m_minYVisualOverflow; }
+    int maxYVisualOverflow() const { return m_maxYVisualOverflow; }
+    int minXVisualOverflow() const { return m_minXVisualOverflow; }
+    int maxXVisualOverflow() const { return m_maxXVisualOverflow; }
     IntRect visualOverflowRect() const;
 
-    void setTopLayoutOverflow(int overflow) { m_topLayoutOverflow = overflow; }
-    void setBottomLayoutOverflow(int overflow) { m_bottomLayoutOverflow = overflow; }
-    void setLeftLayoutOverflow(int overflow) { m_leftLayoutOverflow = overflow; }
-    void setRightLayoutOverflow(int overflow) { m_rightLayoutOverflow = overflow; }
+    void setMinYLayoutOverflow(int overflow) { m_minYLayoutOverflow = overflow; }
+    void setMaxYLayoutOverflow(int overflow) { m_maxYLayoutOverflow = overflow; }
+    void setMinXLayoutOverflow(int overflow) { m_minXLayoutOverflow = overflow; }
+    void setMaxXLayoutOverflow(int overflow) { m_maxXLayoutOverflow = overflow; }
     
-    void setTopVisualOverflow(int overflow) { m_topVisualOverflow = overflow; }
-    void setBottomVisualOverflow(int overflow) { m_bottomVisualOverflow = overflow; }
-    void setLeftVisualOverflow(int overflow) { m_leftVisualOverflow = overflow; }
-    void setRightVisualOverflow(int overflow) { m_rightVisualOverflow = overflow; }
+    void setMinYVisualOverflow(int overflow) { m_minYVisualOverflow = overflow; }
+    void setMaxYVisualOverflow(int overflow) { m_maxYVisualOverflow = overflow; }
+    void setMinXVisualOverflow(int overflow) { m_minXVisualOverflow = overflow; }
+    void setMaxXVisualOverflow(int overflow) { m_maxXVisualOverflow = overflow; }
     
     void move(int dx, int dy);
     
@@ -85,78 +85,78 @@ public:
     void resetLayoutOverflow(const IntRect& defaultRect);
 
 private:
-    int m_topLayoutOverflow;
-    int m_bottomLayoutOverflow;
-    int m_leftLayoutOverflow;
-    int m_rightLayoutOverflow;
-
-    int m_topVisualOverflow;
-    int m_bottomVisualOverflow;
-    int m_leftVisualOverflow;
-    int m_rightVisualOverflow;
+    int m_minYLayoutOverflow;
+    int m_maxYLayoutOverflow;
+    int m_minXLayoutOverflow;
+    int m_maxXLayoutOverflow;
+
+    int m_minYVisualOverflow;
+    int m_maxYVisualOverflow;
+    int m_minXVisualOverflow;
+    int m_maxXVisualOverflow;
 };
 
 inline IntRect RenderOverflow::layoutOverflowRect() const
 {
-    return IntRect(m_leftLayoutOverflow, m_topLayoutOverflow, m_rightLayoutOverflow - m_leftLayoutOverflow, m_bottomLayoutOverflow - m_topLayoutOverflow);
+    return IntRect(m_minXLayoutOverflow, m_minYLayoutOverflow, m_maxXLayoutOverflow - m_minXLayoutOverflow, m_maxYLayoutOverflow - m_minYLayoutOverflow);
 }
 
 inline IntRect RenderOverflow::visualOverflowRect() const
 {
-    return IntRect(m_leftVisualOverflow, m_topVisualOverflow, m_rightVisualOverflow - m_leftVisualOverflow, m_bottomVisualOverflow - m_topVisualOverflow);
+    return IntRect(m_minXVisualOverflow, m_minYVisualOverflow, m_maxXVisualOverflow - m_minXVisualOverflow, m_maxYVisualOverflow - m_minYVisualOverflow);
 }
 
 inline void RenderOverflow::move(int dx, int dy)
 {
-    m_topLayoutOverflow += dy;
-    m_bottomLayoutOverflow += dy;
-    m_leftLayoutOverflow += dx;
-    m_rightLayoutOverflow += dx;
+    m_minYLayoutOverflow += dy;
+    m_maxYLayoutOverflow += dy;
+    m_minXLayoutOverflow += dx;
+    m_maxXLayoutOverflow += dx;
     
-    m_topVisualOverflow += dy;
-    m_bottomVisualOverflow += dy;
-    m_leftVisualOverflow += dx;
-    m_rightVisualOverflow += dx;
+    m_minYVisualOverflow += dy;
+    m_maxYVisualOverflow += dy;
+    m_minXVisualOverflow += dx;
+    m_maxXVisualOverflow += dx;
 }
 
 inline void RenderOverflow::addLayoutOverflow(const IntRect& rect)
 {
-    m_topLayoutOverflow = std::min(rect.y(), m_topLayoutOverflow);
-    m_bottomLayoutOverflow = std::max(rect.maxY(), m_bottomLayoutOverflow);
-    m_leftLayoutOverflow = std::min(rect.x(), m_leftLayoutOverflow);
-    m_rightLayoutOverflow = std::max(rect.maxX(), m_rightLayoutOverflow);
+    m_minYLayoutOverflow = std::min(rect.y(), m_minYLayoutOverflow);
+    m_maxYLayoutOverflow = std::max(rect.maxY(), m_maxYLayoutOverflow);
+    m_minXLayoutOverflow = std::min(rect.x(), m_minXLayoutOverflow);
+    m_maxXLayoutOverflow = std::max(rect.maxX(), m_maxXLayoutOverflow);
 }
 
 inline void RenderOverflow::addVisualOverflow(const IntRect& rect)
 {
-    m_topVisualOverflow = std::min(rect.y(), m_topVisualOverflow);
-    m_bottomVisualOverflow = std::max(rect.maxY(), m_bottomVisualOverflow);
-    m_leftVisualOverflow = std::min(rect.x(), m_leftVisualOverflow);
-    m_rightVisualOverflow = std::max(rect.maxX(), m_rightVisualOverflow);
+    m_minYVisualOverflow = std::min(rect.y(), m_minYVisualOverflow);
+    m_maxYVisualOverflow = std::max(rect.maxY(), m_maxYVisualOverflow);
+    m_minXVisualOverflow = std::min(rect.x(), m_minXVisualOverflow);
+    m_maxXVisualOverflow = std::max(rect.maxX(), m_maxXVisualOverflow);
 }
 
 inline void RenderOverflow::setLayoutOverflow(const IntRect& rect)
 {
-    m_topLayoutOverflow = rect.y();
-    m_bottomLayoutOverflow = rect.maxY();
-    m_leftLayoutOverflow = rect.x();
-    m_rightLayoutOverflow = rect.maxX();
+    m_minYLayoutOverflow = rect.y();
+    m_maxYLayoutOverflow = rect.maxY();
+    m_minXLayoutOverflow = rect.x();
+    m_maxXLayoutOverflow = rect.maxX();
 }
 
 inline void RenderOverflow::setVisualOverflow(const IntRect& rect)
 {
-    m_topVisualOverflow = rect.y();
-    m_bottomVisualOverflow = rect.maxY();
-    m_leftVisualOverflow = rect.x();
-    m_rightVisualOverflow = rect.maxX();
+    m_minYVisualOverflow = rect.y();
+    m_maxYVisualOverflow = rect.maxY();
+    m_minXVisualOverflow = rect.x();
+    m_maxXVisualOverflow = rect.maxX();
 }
 
 inline void RenderOverflow::resetLayoutOverflow(const IntRect& rect)
 {
-    m_topLayoutOverflow = rect.y();
-    m_bottomLayoutOverflow = rect.maxY();
-    m_leftLayoutOverflow = rect.x();
-    m_rightLayoutOverflow = rect.maxX();
+    m_minYLayoutOverflow = rect.y();
+    m_maxYLayoutOverflow = rect.maxY();
+    m_minXLayoutOverflow = rect.x();
+    m_maxXLayoutOverflow = rect.maxX();
 }
 
 } // namespace WebCore
index 2a83125..c27d336 100644 (file)
@@ -172,8 +172,8 @@ bool RenderReplaced::shouldPaint(PaintInfo& paintInfo, int& tx, int& ty)
     int currentTY = ty + y();
 
     // Early exit if the element touches the edges.
-    int top = currentTY + topVisualOverflow();
-    int bottom = currentTY + bottomVisualOverflow();
+    int top = currentTY + minYVisualOverflow();
+    int bottom = currentTY + maxYVisualOverflow();
     if (isSelected() && m_inlineBoxWrapper) {
         int selTop = ty + m_inlineBoxWrapper->root()->selectionTop();
         int selBottom = ty + selTop + m_inlineBoxWrapper->root()->selectionHeight();
@@ -182,7 +182,7 @@ bool RenderReplaced::shouldPaint(PaintInfo& paintInfo, int& tx, int& ty)
     }
     
     int os = 2 * maximalOutlineSize(paintInfo.phase);
-    if (currentTX + leftVisualOverflow() >= paintInfo.rect.maxX() + os || currentTX + rightVisualOverflow() <= paintInfo.rect.x() - os)
+    if (currentTX + minXVisualOverflow() >= paintInfo.rect.maxX() + os || currentTX + maxXVisualOverflow() <= paintInfo.rect.x() - os)
         return false;
     if (top >= paintInfo.rect.maxY() + os || bottom <= paintInfo.rect.y() - os)
         return false;
index d17b95d..06df1ed 100644 (file)
@@ -360,7 +360,7 @@ void RenderTable::layout()
     while (section) {
         if (!sectionMoved && section->logicalTop() != logicalHeight()) {
             sectionMoved = true;
-            movedSectionLogicalTop = min(logicalHeight(), section->logicalTop()) + (style()->isHorizontalWritingMode() ? section->topVisualOverflow() : section->leftVisualOverflow());
+            movedSectionLogicalTop = min(logicalHeight(), section->logicalTop()) + (style()->isHorizontalWritingMode() ? section->minYVisualOverflow() : section->minXVisualOverflow());
         }
         section->setLogicalLocation(sectionLogicalLeft, logicalHeight());
 
@@ -400,9 +400,9 @@ void RenderTable::layout()
     // Repaint with our new bounds if they are different from our old bounds.
     if (!didFullRepaint && sectionMoved) {
         if (style()->isHorizontalWritingMode())
-            repaintRectangle(IntRect(leftVisualOverflow(), movedSectionLogicalTop, rightVisualOverflow() - leftVisualOverflow(), bottomVisualOverflow() - movedSectionLogicalTop));
+            repaintRectangle(IntRect(minXVisualOverflow(), movedSectionLogicalTop, maxXVisualOverflow() - minXVisualOverflow(), maxYVisualOverflow() - movedSectionLogicalTop));
         else
-            repaintRectangle(IntRect(movedSectionLogicalTop, topVisualOverflow(), rightVisualOverflow() - movedSectionLogicalTop, bottomVisualOverflow() - topVisualOverflow()));
+            repaintRectangle(IntRect(movedSectionLogicalTop, minYVisualOverflow(), maxXVisualOverflow() - movedSectionLogicalTop, maxYVisualOverflow() - minYVisualOverflow()));
     }
 
     setNeedsLayout(false);
@@ -454,9 +454,9 @@ void RenderTable::paint(PaintInfo& paintInfo, int tx, int ty)
     PaintPhase paintPhase = paintInfo.phase;
 
     int os = 2 * maximalOutlineSize(paintPhase);
-    if (ty + topVisualOverflow() >= paintInfo.rect.maxY() + os || ty + bottomVisualOverflow() <= paintInfo.rect.y() - os)
+    if (ty + minYVisualOverflow() >= paintInfo.rect.maxY() + os || ty + maxYVisualOverflow() <= paintInfo.rect.y() - os)
         return;
-    if (tx + leftVisualOverflow() >= paintInfo.rect.maxX() + os || tx + rightVisualOverflow() <= paintInfo.rect.x() - os)
+    if (tx + minXVisualOverflow() >= paintInfo.rect.maxX() + os || tx + maxXVisualOverflow() <= paintInfo.rect.x() - os)
         return;
 
     bool pushedClip = pushContentsClip(paintInfo, tx, ty);    
index c5eae2d..c4caeac 100644 (file)
@@ -267,9 +267,9 @@ IntRect RenderTableCell::clippedOverflowRectForRepaint(RenderBoxModelObject* rep
             right = max(right, below->borderHalfRight(true));
         }
     }
-    left = max(left, -leftVisualOverflow());
-    top = max(top, -topVisualOverflow());
-    IntRect r(-left, - top, left + max(width() + right, rightVisualOverflow()), top + max(height() + bottom, bottomVisualOverflow()));
+    left = max(left, -minXVisualOverflow());
+    top = max(top, -minYVisualOverflow());
+    IntRect r(-left, - top, left + max(width() + right, maxXVisualOverflow()), top + max(height() + bottom, maxYVisualOverflow()));
 
     if (RenderView* v = view()) {
         // FIXME: layoutDelta needs to be applied in parts before/after transforms and
index 070eae8..a81163b 100644 (file)
@@ -621,10 +621,10 @@ static void writeLayers(TextStream& ts, const RenderLayer* rootLayer, RenderLaye
     // FIXME: Apply overflow to the root layer to not break every test.  Complete hack.  Sigh.
     IntRect paintDirtyRect(paintRect);
     if (rootLayer == l) {
-        paintDirtyRect.setWidth(max(paintDirtyRect.width(), rootLayer->renderBox()->rightLayoutOverflow()));
-        paintDirtyRect.setHeight(max(paintDirtyRect.height(), rootLayer->renderBox()->bottomLayoutOverflow()));
-        l->setWidth(max(l->width(), l->renderBox()->rightLayoutOverflow()));
-        l->setHeight(max(l->height(), l->renderBox()->bottomLayoutOverflow()));
+        paintDirtyRect.setWidth(max(paintDirtyRect.width(), rootLayer->renderBox()->maxXLayoutOverflow()));
+        paintDirtyRect.setHeight(max(paintDirtyRect.height(), rootLayer->renderBox()->maxYLayoutOverflow()));
+        l->setWidth(max(l->width(), l->renderBox()->maxXLayoutOverflow()));
+        l->setHeight(max(l->height(), l->renderBox()->maxYLayoutOverflow()));
     }
     
     // Calculate the clip rects we should use.
index 4d49f65..69227ae 100644 (file)
@@ -651,7 +651,7 @@ IntRect RenderView::viewRect() const
 
 int RenderView::docTop() const
 {
-    IntRect overflowRect(0, topLayoutOverflow(), 0, bottomLayoutOverflow() - topLayoutOverflow());
+    IntRect overflowRect(0, minYLayoutOverflow(), 0, maxYLayoutOverflow() - minYLayoutOverflow());
     flipForWritingMode(overflowRect);
     if (hasTransform())
         overflowRect = layer()->currentTransform().mapRect(overflowRect);