Title: [90250] trunk/Source/WebCore
Revision
90250
Author
[email protected]
Date
2011-07-01 11:33:25 -0700 (Fri, 01 Jul 2011)

Log Message

2011-07-01  Levi Weintraub  <[email protected]>

        Reviewed by Eric Seidel.

        Switch positionForPoint to new layout types
        https://bugs.webkit.org/show_bug.cgi?id=63774

        Switching positionForPoint functions to new layout unit abstraction.

        No new tests, no functionality changes.

        * rendering/RenderBR.cpp:
        (WebCore::RenderBR::positionForPoint):
        * rendering/RenderBR.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForPoint):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::positionForPoint):
        * rendering/RenderBox.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::positionForPoint):
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::positionForPoint):
        * rendering/RenderInline.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::positionForPoint):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::positionForPoint):
        * rendering/RenderReplaced.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForPoint):
        * rendering/RenderText.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlInnerBlock::positionForPoint):
        * rendering/RenderTextControlSingleLine.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::positionForPoint):
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGText.cpp:
        (WebCore::RenderSVGText::positionForPoint):
        * rendering/svg/RenderSVGText.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (90249 => 90250)


--- trunk/Source/WebCore/ChangeLog	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/ChangeLog	2011-07-01 18:33:25 UTC (rev 90250)
@@ -1,3 +1,47 @@
+2011-07-01  Levi Weintraub  <[email protected]>
+
+        Reviewed by Eric Seidel.
+
+        Switch positionForPoint to new layout types
+        https://bugs.webkit.org/show_bug.cgi?id=63774
+
+        Switching positionForPoint functions to new layout unit abstraction.
+
+        No new tests, no functionality changes.
+
+        * rendering/RenderBR.cpp:
+        (WebCore::RenderBR::positionForPoint):
+        * rendering/RenderBR.h:
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::positionForPoint):
+        * rendering/RenderBlock.h:
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::positionForPoint):
+        * rendering/RenderBox.h:
+        * rendering/RenderFileUploadControl.cpp:
+        (WebCore::RenderFileUploadControl::positionForPoint):
+        * rendering/RenderFileUploadControl.h:
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::positionForPoint):
+        * rendering/RenderInline.h:
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::positionForPoint):
+        * rendering/RenderReplaced.cpp:
+        (WebCore::RenderReplaced::positionForPoint):
+        * rendering/RenderReplaced.h:
+        * rendering/RenderText.cpp:
+        (WebCore::RenderText::positionForPoint):
+        * rendering/RenderText.h:
+        * rendering/RenderTextControlSingleLine.cpp:
+        (WebCore::RenderTextControlInnerBlock::positionForPoint):
+        * rendering/RenderTextControlSingleLine.h:
+        * rendering/svg/RenderSVGInlineText.cpp:
+        (WebCore::RenderSVGInlineText::positionForPoint):
+        * rendering/svg/RenderSVGInlineText.h:
+        * rendering/svg/RenderSVGText.cpp:
+        (WebCore::RenderSVGText::positionForPoint):
+        * rendering/svg/RenderSVGText.h:
+
 2011-07-01  Andrew Scherkus  <[email protected]>
 
         Reviewed by Darin Fisher.

Modified: trunk/Source/WebCore/rendering/RenderBR.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderBR.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderBR.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -73,7 +73,7 @@
     return 1;
 }
 
-VisiblePosition RenderBR::positionForPoint(const IntPoint&)
+VisiblePosition RenderBR::positionForPoint(const LayoutPoint&)
 {
     return createVisiblePosition(0, DOWNSTREAM);
 }

Modified: trunk/Source/WebCore/rendering/RenderBR.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderBR.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderBR.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -52,7 +52,7 @@
     virtual int caretMaxOffset() const;
     virtual unsigned caretMaxRenderedOffset() const;
 
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
 
 protected:
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);

Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderBlock.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -4202,15 +4202,15 @@
     return box->height() && box->style()->visibility() == VISIBLE && !box->isFloatingOrPositioned();
 }
 
-VisiblePosition RenderBlock::positionForPoint(const IntPoint& point)
+VisiblePosition RenderBlock::positionForPoint(const LayoutPoint& point)
 {
     if (isTable())
         return RenderBox::positionForPoint(point);
 
     if (isReplaced()) {
         // FIXME: This seems wrong when the object's writing-mode doesn't match the line's writing-mode.
-        int pointLogicalLeft = isHorizontalWritingMode() ? point.x() : point.y();
-        int pointLogicalTop = isHorizontalWritingMode() ? point.y() : point.x();
+        LayoutUnit pointLogicalLeft = isHorizontalWritingMode() ? point.x() : point.y();
+        LayoutUnit pointLogicalTop = isHorizontalWritingMode() ? point.y() : point.x();
 
         if (pointLogicalTop < 0 || (pointLogicalTop < logicalHeight() && pointLogicalLeft < 0))
             return createVisiblePosition(caretMinOffset(), DOWNSTREAM);
@@ -4218,9 +4218,9 @@
             return createVisiblePosition(caretMaxOffset(), DOWNSTREAM);
     } 
 
-    IntPoint pointInContents = point;
+    LayoutPoint pointInContents = point;
     offsetForContents(pointInContents);
-    IntPoint pointInLogicalContents(pointInContents);
+    LayoutPoint pointInLogicalContents(pointInContents);
     if (!isHorizontalWritingMode())
         pointInLogicalContents = pointInLogicalContents.transposedPoint();
 

Modified: trunk/Source/WebCore/rendering/RenderBlock.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderBlock.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderBlock.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -120,7 +120,7 @@
     LayoutUnit logicalLeftOffsetForLine(LayoutUnit position, bool firstLine) const { return logicalLeftOffsetForLine(position, logicalLeftOffsetForContent(), firstLine); }
     LayoutUnit startOffsetForLine(LayoutUnit position, bool firstLine) const { return style()->isLeftToRightDirection() ? logicalLeftOffsetForLine(position, firstLine) : logicalRightOffsetForLine(position, firstLine); }
 
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
     
     // Block flows subclass availableWidth to handle multi column layout (shrinking the width available to children when laying out.)
     virtual LayoutUnit availableLogicalWidth() const;

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -3095,18 +3095,15 @@
     return rect;
 }
 
-VisiblePosition RenderBox::positionForPoint(const IntPoint& point)
+VisiblePosition RenderBox::positionForPoint(const LayoutPoint& point)
 {
     // no children...return this render object's element, if there is one, and offset 0
     if (!firstChild())
         return createVisiblePosition(node() ? firstPositionInOrBeforeNode(node()) : Position());
 
-    int xPos = point.x();
-    int yPos = point.y();
-
     if (isTable() && node()) {
-        int right = contentWidth() + borderAndPaddingWidth();
-        int bottom = contentHeight() + borderAndPaddingHeight();
+        LayoutUnit right = contentWidth() + borderAndPaddingWidth();
+        LayoutUnit bottom = contentHeight() + borderAndPaddingHeight();
         
         if (point.x() < 0 || point.x() > right || point.y() < 0 || point.y() > bottom) {
             if (point.x() <= right / 2)
@@ -3116,9 +3113,9 @@
     }
 
     // Pass off to the closest child.
-    int minDist = INT_MAX;
+    LayoutUnit minDist = numeric_limits<LayoutUnit>::max();
     RenderBox* closestRenderer = 0;
-    IntPoint adjustedPoint = point;
+    LayoutPoint adjustedPoint = point;
     if (isTableRow())
         adjustedPoint.move(location());
 
@@ -3132,10 +3129,10 @@
         
         RenderBox* renderer = toRenderBox(renderObject);
 
-        int top = renderer->borderTop() + renderer->paddingTop() + (isTableRow() ? 0 : renderer->y());
-        int bottom = top + renderer->contentHeight();
-        int left = renderer->borderLeft() + renderer->paddingLeft() + (isTableRow() ? 0 : renderer->x());
-        int right = left + renderer->contentWidth();
+        LayoutUnit top = renderer->borderTop() + renderer->paddingTop() + (isTableRow() ? 0 : renderer->y());
+        LayoutUnit bottom = top + renderer->contentHeight();
+        LayoutUnit left = renderer->borderLeft() + renderer->paddingLeft() + (isTableRow() ? 0 : renderer->x());
+        LayoutUnit right = left + renderer->contentWidth();
         
         if (point.x() <= right && point.x() >= left && point.y() <= top && point.y() >= bottom) {
             if (renderer->isTableRow())
@@ -3145,31 +3142,31 @@
 
         // Find the distance from (x, y) to the box.  Split the space around the box into 8 pieces
         // and use a different compare depending on which piece (x, y) is in.
-        IntPoint cmp;
-        if (xPos > right) {
-            if (yPos < top)
-                cmp = IntPoint(right, top);
-            else if (yPos > bottom)
-                cmp = IntPoint(right, bottom);
+        LayoutPoint cmp;
+        if (point.x() > right) {
+            if (point.y() < top)
+                cmp = LayoutPoint(right, top);
+            else if (point.y() > bottom)
+                cmp = LayoutPoint(right, bottom);
             else
-                cmp = IntPoint(right, yPos);
-        } else if (xPos < left) {
-            if (yPos < top)
-                cmp = IntPoint(left, top);
-            else if (yPos > bottom)
-                cmp = IntPoint(left, bottom);
+                cmp = LayoutPoint(right, point.y());
+        } else if (point.x() < left) {
+            if (point.y() < top)
+                cmp = LayoutPoint(left, top);
+            else if (point.y() > bottom)
+                cmp = LayoutPoint(left, bottom);
             else
-                cmp = IntPoint(left, yPos);
+                cmp = LayoutPoint(left, point.y());
         } else {
-            if (yPos < top)
-                cmp = IntPoint(xPos, top);
+            if (point.y() < top)
+                cmp = LayoutPoint(point.x(), top);
             else
-                cmp = IntPoint(xPos, bottom);
+                cmp = LayoutPoint(point.x(), bottom);
         }
 
-        IntSize difference = cmp - point;
+        LayoutSize difference = cmp - point;
 
-        int dist = difference.width() * difference.width() + difference.height() * difference.height();
+        LayoutUnit dist = difference.width() * difference.width() + difference.height() * difference.height();
         if (dist < minDist) {
             closestRenderer = renderer;
             minDist = dist;

Modified: trunk/Source/WebCore/rendering/RenderBox.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderBox.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderBox.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -372,7 +372,7 @@
 
     IntRect maskClipRect();
 
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
 
     void removeFloatingOrPositionedChildFromBlockLists();
     

Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -184,7 +184,7 @@
     setPreferredLogicalWidthsDirty(false);
 }
 
-VisiblePosition RenderFileUploadControl::positionForPoint(const IntPoint&)
+VisiblePosition RenderFileUploadControl::positionForPoint(const LayoutPoint&)
 {
     return VisiblePosition();
 }

Modified: trunk/Source/WebCore/rendering/RenderFileUploadControl.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderFileUploadControl.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderFileUploadControl.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -52,7 +52,7 @@
 
     int maxFilenameWidth() const;
     
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
 
     HTMLInputElement* uploadButton() const;
 };

Modified: trunk/Source/WebCore/rendering/RenderInline.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderInline.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderInline.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -715,7 +715,7 @@
     return m_lineBoxes.hitTest(this, request, result, pointInContainer, accumulatedOffset, hitTestAction);
 }
 
-VisiblePosition RenderInline::positionForPoint(const IntPoint& point)
+VisiblePosition RenderInline::positionForPoint(const LayoutPoint& point)
 {
     // FIXME: Does not deal with relative positioned inlines (should it?)
     RenderBlock* cb = containingBlock();
@@ -726,7 +726,7 @@
     }
 
     // Translate the coords from the pre-anonymous block to the post-anonymous block.
-    IntPoint parentBlockPoint = cb->location() + point;  
+    LayoutPoint parentBlockPoint = cb->location() + point;  
     RenderBoxModelObject* c = continuation();
     while (c) {
         RenderBox* contBlock = c->isInline() ? c->containingBlock() : toRenderBlock(c);

Modified: trunk/Source/WebCore/rendering/RenderInline.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderInline.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderInline.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -133,7 +133,7 @@
     virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, bool fixed, bool useTransforms, TransformState&, bool* wasFixed = 0) const;
     virtual void mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState&) const;
 
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
 
     virtual LayoutRect borderBoundingBox() const
     {

Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderObject.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -2130,7 +2130,7 @@
     arena->free(*(size_t*)base, base);
 }
 
-VisiblePosition RenderObject::positionForPoint(const IntPoint&)
+VisiblePosition RenderObject::positionForPoint(const LayoutPoint&)
 {
     return createVisiblePosition(caretMinOffset(), DOWNSTREAM);
 }

Modified: trunk/Source/WebCore/rendering/RenderReplaced.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderReplaced.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderReplaced.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -400,7 +400,7 @@
     return 1; 
 }
 
-VisiblePosition RenderReplaced::positionForPoint(const IntPoint& point)
+VisiblePosition RenderReplaced::positionForPoint(const LayoutPoint& point)
 {
     InlineBox* box = inlineBoxWrapper();
     if (!box)
@@ -410,11 +410,11 @@
 
     RootInlineBox* root = box->root();
 
-    int top = root->selectionTop();
-    int bottom = root->selectionBottom();
+    LayoutUnit top = root->selectionTop();
+    LayoutUnit bottom = root->selectionBottom();
 
-    int blockDirectionPosition = box->isHorizontal() ? point.y() + y() : point.x() + x();
-    int lineDirectionPosition = box->isHorizontal() ? point.x() + x() : point.y() + y();
+    LayoutUnit blockDirectionPosition = box->isHorizontal() ? point.y() + y() : point.x() + x();
+    LayoutUnit lineDirectionPosition = box->isHorizontal() ? point.x() + x() : point.y() + y();
 
     if (blockDirectionPosition < top)
         return createVisiblePosition(caretMinOffset(), DOWNSTREAM); // coordinates are above

Modified: trunk/Source/WebCore/rendering/RenderReplaced.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderReplaced.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderReplaced.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -77,7 +77,7 @@
     virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer);
 
     virtual unsigned caretMaxRenderedOffset() const;
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
     
     virtual bool canBeSelectionLeaf() const { return true; }
 

Modified: trunk/Source/WebCore/rendering/RenderText.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderText.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderText.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -468,7 +468,7 @@
     return false;
 }
 
-VisiblePosition RenderText::positionForPoint(const IntPoint& point)
+VisiblePosition RenderText::positionForPoint(const LayoutPoint& point)
 {
     if (!firstTextBox() || textLength() == 0)
         return createVisiblePosition(0, DOWNSTREAM);
@@ -476,8 +476,8 @@
     // Get the offset for the position, since this will take rtl text into account.
     int offset;
 
-    int pointLineDirection = firstTextBox()->isHorizontal() ? point.x() : point.y();
-    int pointBlockDirection = firstTextBox()->isHorizontal() ? point.y() : point.x();
+    LayoutUnit pointLineDirection = firstTextBox()->isHorizontal() ? point.x() : point.y();
+    LayoutUnit pointBlockDirection = firstTextBox()->isHorizontal() ? point.y() : point.x();
     
     // FIXME: We should be able to roll these special cases into the general cases in the loop below.
     if (firstTextBox() && pointBlockDirection <  firstTextBox()->root()->selectionBottom() && pointLineDirection < firstTextBox()->logicalLeft()) {
@@ -497,7 +497,7 @@
     for (InlineTextBox* box = firstTextBox(); box; box = box->nextTextBox()) {
         RootInlineBox* rootBox = box->root();
         if (pointBlockDirection >= rootBox->selectionTop() || pointBlockDirection >= rootBox->lineTop()) {
-            int bottom = rootBox->selectionBottom();
+            LayoutUnit bottom = rootBox->selectionBottom();
             if (rootBox->nextRootBox())
                 bottom = min(bottom, rootBox->nextRootBox()->lineTop());
 

Modified: trunk/Source/WebCore/rendering/RenderText.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderText.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderText.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -65,7 +65,7 @@
     enum ClippingOption { NoClipping, ClipToEllipsis };
     void absoluteQuads(Vector<FloatQuad>&, ClippingOption option = NoClipping);
 
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
 
     const UChar* characters() const { return m_text.characters(); }
     unsigned textLength() const { return m_text.length(); } // non virtual implementation of length()

Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -52,9 +52,9 @@
 
 using namespace HTMLNames;
 
-VisiblePosition RenderTextControlInnerBlock::positionForPoint(const IntPoint& point)
+VisiblePosition RenderTextControlInnerBlock::positionForPoint(const LayoutPoint& point)
 {
-    IntPoint contentsPoint(point);
+    LayoutPoint contentsPoint(point);
 
     // Multiline text controls have the scroll on shadowAncestorNode, so we need to take that
     // into account here.

Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -166,7 +166,7 @@
 
 private:
     virtual bool hasLineIfEmpty() const { return true; }
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
 
     bool m_multiLine;
 };

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -169,7 +169,7 @@
     return false;
 }
 
-VisiblePosition RenderSVGInlineText::positionForPoint(const IntPoint& point)
+VisiblePosition RenderSVGInlineText::positionForPoint(const LayoutPoint& point)
 {
     if (!firstTextBox() || !textLength())
         return createVisiblePosition(0, DOWNSTREAM);
@@ -181,7 +181,7 @@
 
     // Map local point to absolute point, as the character origins stored in the text fragments use absolute coordinates.
     FloatPoint absolutePoint(point);
-    absolutePoint.move(containingBlock->x(), containingBlock->y());
+    absolutePoint.moveBy(containingBlock->location());
 
     float closestDistance = std::numeric_limits<float>::max();
     float closestDistancePosition = 0;

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGInlineText.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -58,7 +58,7 @@
     virtual bool requiresLayer() const { return false; }
     virtual bool isSVGInlineText() const { return true; }
 
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
     virtual IntRect localCaretRect(InlineBox*, int caretOffset, int* extraWidthToEndOfLine = 0);
     virtual IntRect linesBoundingBox() const;
     virtual InlineTextBox* createTextBox();

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp (90249 => 90250)


--- trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp	2011-07-01 18:33:25 UTC (rev 90250)
@@ -207,7 +207,7 @@
     return false;
 }
 
-VisiblePosition RenderSVGText::positionForPoint(const IntPoint& pointInContents)
+VisiblePosition RenderSVGText::positionForPoint(const LayoutPoint& pointInContents)
 {
     RootInlineBox* rootBox = firstRootBox();
     if (!rootBox)
@@ -221,7 +221,7 @@
     if (!closestBox)
         return createVisiblePosition(0, DOWNSTREAM);
 
-    return closestBox->renderer()->positionForPoint(IntPoint(pointInContents.x(), closestBox->y()));
+    return closestBox->renderer()->positionForPoint(LayoutPoint(pointInContents.x(), closestBox->y()));
 }
 
 void RenderSVGText::absoluteQuads(Vector<FloatQuad>& quads)

Modified: trunk/Source/WebCore/rendering/svg/RenderSVGText.h (90249 => 90250)


--- trunk/Source/WebCore/rendering/svg/RenderSVGText.h	2011-07-01 18:30:08 UTC (rev 90249)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGText.h	2011-07-01 18:33:25 UTC (rev 90250)
@@ -55,7 +55,7 @@
     virtual void paint(PaintInfo&, const LayoutPoint&);
     virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);
     virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
-    virtual VisiblePosition positionForPoint(const IntPoint&);
+    virtual VisiblePosition positionForPoint(const LayoutPoint&);
 
     virtual bool requiresLayer() const { return false; }
     virtual void layout();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to