Changeset 90515 in webkit
- Timestamp:
- Jul 6, 2011 4:38:32 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 48 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r90505 r90515 1 2011-07-06 Emil A Eklund <eae@chromium.org> 2 3 Reviewed by Eric Seidel. 4 5 Switch nodeAtPoint to to new layout types 6 https://bugs.webkit.org/show_bug.cgi?id=63663 7 8 No new tests, no functionality changes. 9 10 * rendering/EllipsisBox.cpp: 11 (WebCore::EllipsisBox::nodeAtPoint): 12 * rendering/EllipsisBox.h: 13 * rendering/InlineBox.cpp: 14 (WebCore::InlineBox::nodeAtPoint): 15 * rendering/InlineBox.h: 16 * rendering/InlineFlowBox.cpp: 17 (WebCore::InlineFlowBox::nodeAtPoint): 18 * rendering/InlineFlowBox.h: 19 * rendering/InlineTextBox.cpp: 20 (WebCore::InlineTextBox::nodeAtPoint): 21 * rendering/InlineTextBox.h: 22 * rendering/LayoutTypes.h: 23 (WebCore::toLayoutSize): 24 (WebCore::toLayoutPoint): 25 (WebCore::roundedLayoutPoint): 26 (WebCore::roundedLayoutUnit): 27 * rendering/RenderBlock.cpp: 28 (WebCore::RenderBlock::nodeAtPoint): 29 * rendering/RenderBlock.h: 30 * rendering/RenderBox.cpp: 31 (WebCore::RenderBox::nodeAtPoint): 32 * rendering/RenderBox.h: 33 * rendering/RenderFrameSet.cpp: 34 (WebCore::RenderFrameSet::nodeAtPoint): 35 * rendering/RenderFrameSet.h: 36 * rendering/RenderImage.cpp: 37 (WebCore::RenderImage::nodeAtPoint): 38 * rendering/RenderImage.h: 39 * rendering/RenderInline.cpp: 40 (WebCore::RenderInline::nodeAtPoint): 41 * rendering/RenderInline.h: 42 * rendering/RenderListBox.cpp: 43 (WebCore::RenderListBox::nodeAtPoint): 44 * rendering/RenderListBox.h: 45 * rendering/RenderObject.cpp: 46 (WebCore::RenderObject::nodeAtPoint): 47 * rendering/RenderObject.h: 48 * rendering/RenderTable.cpp: 49 (WebCore::RenderTable::nodeAtPoint): 50 * rendering/RenderTable.h: 51 * rendering/RenderTableRow.cpp: 52 (WebCore::RenderTableRow::nodeAtPoint): 53 * rendering/RenderTableRow.h: 54 * rendering/RenderTableSection.cpp: 55 (WebCore::RenderTableSection::nodeAtPoint): 56 * rendering/RenderTableSection.h: 57 * rendering/RenderText.h: 58 (WebCore::RenderText::nodeAtPoint): 59 * rendering/RenderTextControlMultiLine.cpp: 60 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 61 * rendering/RenderTextControlMultiLine.h: 62 * rendering/RenderTextControlSingleLine.cpp: 63 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 64 * rendering/RenderTextControlSingleLine.h: 65 * rendering/RenderWidget.cpp: 66 (WebCore::RenderWidget::nodeAtPoint): 67 * rendering/RenderWidget.h: 68 * rendering/RootInlineBox.cpp: 69 (WebCore::RootInlineBox::nodeAtPoint): 70 * rendering/RootInlineBox.h: 71 * rendering/svg/RenderSVGForeignObject.cpp: 72 (WebCore::RenderSVGForeignObject::nodeAtFloatPoint): 73 (WebCore::RenderSVGForeignObject::nodeAtPoint): 74 * rendering/svg/RenderSVGForeignObject.h: 75 * rendering/svg/RenderSVGModelObject.cpp: 76 (WebCore::RenderSVGModelObject::nodeAtPoint): 77 * rendering/svg/RenderSVGModelObject.h: 78 * rendering/svg/RenderSVGRoot.cpp: 79 (WebCore::RenderSVGRoot::nodeAtPoint): 80 * rendering/svg/RenderSVGRoot.h: 81 * rendering/svg/RenderSVGText.cpp: 82 (WebCore::RenderSVGText::nodeAtPoint): 83 * rendering/svg/RenderSVGText.h: 84 * rendering/svg/SVGInlineTextBox.cpp: 85 (WebCore::SVGInlineTextBox::nodeAtPoint): 86 * rendering/svg/SVGInlineTextBox.h: 87 1 88 2011-07-06 Adrienne Walker <enne@google.com> 2 89 -
trunk/Source/WebCore/rendering/EllipsisBox.cpp
r88319 r90515 102 102 } 103 103 104 bool EllipsisBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom)104 bool EllipsisBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom) 105 105 { 106 IntPoint adjustedLocation = accumulatedOffset + roundedIntPoint(topLeft());106 LayoutPoint adjustedLocation = accumulatedOffset + roundedIntPoint(topLeft()); 107 107 108 108 // Hit test the markup box. 109 109 if (m_markupBox) { 110 110 RenderStyle* style = m_renderer->style(m_firstLine); 111 int mtx = adjustedLocation.x() + m_logicalWidth - m_markupBox->x();112 int mty = adjustedLocation.y() + style->fontMetrics().ascent() - (m_markupBox->y() + m_markupBox->renderer()->style(m_firstLine)->fontMetrics().ascent());111 LayoutUnit mtx = adjustedLocation.x() + m_logicalWidth - m_markupBox->x(); 112 LayoutUnit mty = adjustedLocation.y() + style->fontMetrics().ascent() - (m_markupBox->y() + m_markupBox->renderer()->style(m_firstLine)->fontMetrics().ascent()); 113 113 if (m_markupBox->nodeAtPoint(request, result, pointInContainer, IntPoint(mtx, mty), lineTop, lineBottom)) { 114 114 renderer()->updateHitTestResult(result, pointInContainer - IntSize(mtx, mty)); … … 117 117 } 118 118 119 IntRect boundsRect = IntRect(adjustedLocation, IntSize(m_logicalWidth, m_height));119 LayoutRect boundsRect(adjustedLocation, LayoutSize(m_logicalWidth, m_height)); 120 120 if (visibleToHitTesting() && boundsRect.intersects(result.rectForPoint(pointInContainer))) { 121 renderer()->updateHitTestResult(result, pointInContainer - to Size(adjustedLocation));121 renderer()->updateHitTestResult(result, pointInContainer - toLayoutSize(adjustedLocation)); 122 122 if (!result.addNodeToRectBasedTestResult(renderer()->node(), pointInContainer, boundsRect)) 123 123 return true; -
trunk/Source/WebCore/rendering/EllipsisBox.h
r88319 r90515 41 41 42 42 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom); 43 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom);43 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom); 44 44 void setSelectionState(RenderObject::SelectionState s) { m_selectionState = s; } 45 45 IntRect selectionRect(); -
trunk/Source/WebCore/rendering/InlineBox.cpp
r89704 r90515 225 225 } 226 226 227 bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int /* lineTop */, int /*lineBottom*/)227 bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int /* lineTop */, int /*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
r88319 r90515 128 128 129 129 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom); 130 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom);130 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom); 131 131 132 132 InlineBox* next() const { return m_next; } -
trunk/Source/WebCore/rendering/InlineFlowBox.cpp
r89979 r90515 899 899 } 900 900 901 bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom)902 { 903 IntRect overflowRect(visualOverflowRect(lineTop, lineBottom));901 bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom) 902 { 903 LayoutRect overflowRect(visualOverflowRect(lineTop, lineBottom)); 904 904 flipForWritingMode(overflowRect); 905 905 overflowRect.moveBy(accumulatedOffset); … … 910 910 for (InlineBox* curr = lastChild(); curr; curr = curr->prevOnLine()) { 911 911 if ((curr->renderer()->isText() || !curr->boxModelObject()->hasSelfPaintingLayer()) && curr->nodeAtPoint(request, result, pointInContainer, accumulatedOffset, lineTop, lineBottom)) { 912 renderer()->updateHitTestResult(result, pointInContainer - to Size(accumulatedOffset));912 renderer()->updateHitTestResult(result, pointInContainer - toLayoutSize(accumulatedOffset)); 913 913 return true; 914 914 } … … 916 916 917 917 // Now check ourselves. Pixel snap hit testing. 918 IntRect frameRect = roundedFrameRect();919 int minX = frameRect.x();920 int minY = frameRect.y();921 int width = frameRect.width();922 int height = frameRect.height();918 LayoutRect frameRect = roundedFrameRect(); 919 LayoutUnit minX = frameRect.x(); 920 LayoutUnit minY = frameRect.y(); 921 LayoutUnit width = frameRect.width(); 922 LayoutUnit height = frameRect.height(); 923 923 924 924 // Constrain our hit testing to the line top and bottom if necessary. … … 926 926 if (!noQuirksMode && !hasTextChildren() && !(descendantsHaveSameLineHeightAndBaseline() && hasTextDescendants())) { 927 927 RootInlineBox* rootBox = root(); 928 int& top = isHorizontal() ? minY : minX;929 int& logicalHeight = isHorizontal() ? height : width;930 int bottom = min(rootBox->lineBottom(), top + logicalHeight);928 LayoutUnit& top = isHorizontal() ? minY : minX; 929 LayoutUnit& logicalHeight = isHorizontal() ? height : width; 930 LayoutUnit bottom = min(rootBox->lineBottom(), top + logicalHeight); 931 931 top = max(rootBox->lineTop(), top); 932 932 logicalHeight = bottom - top; … … 934 934 935 935 // Move x/y to our coordinates. 936 IntRect rect(minX, minY, width, height);936 LayoutRect rect(minX, minY, width, height); 937 937 flipForWritingMode(rect); 938 938 rect.moveBy(accumulatedOffset); 939 939 940 940 if (visibleToHitTesting() && rect.intersects(result.rectForPoint(pointInContainer))) { 941 renderer()->updateHitTestResult(result, flipForWritingMode(pointInContainer - to Size(accumulatedOffset))); // Don't add in m_x or m_y here, we want coords in the containing block's space.941 renderer()->updateHitTestResult(result, flipForWritingMode(pointInContainer - toLayoutSize(accumulatedOffset))); // Don't add in m_x or m_y here, we want coords in the containing block's space. 942 942 if (!result.addNodeToRectBasedTestResult(renderer()->node(), pointInContainer, rect)) 943 943 return true; -
trunk/Source/WebCore/rendering/InlineFlowBox.h
r90049 r90515 110 110 void paintBoxShadow(GraphicsContext*, RenderStyle*, ShadowStyle, const LayoutRect&); 111 111 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom); 112 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom);112 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom); 113 113 114 114 virtual RenderLineBoxList* rendererLineBoxes() const; -
trunk/Source/WebCore/rendering/InlineTextBox.cpp
r89452 r90515 346 346 } 347 347 348 bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int /* lineTop */, int /*lineBottom*/)348 bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int /* lineTop */, int /*lineBottom*/) 349 349 { 350 350 if (isLineBreak()) … … 353 353 FloatPoint boxOrigin = locationIncludingFlipping(); 354 354 boxOrigin.moveBy(accumulatedOffset); 355 FloatRect rect(boxOrigin, IntSize(width(), height()));355 FloatRect rect(boxOrigin, size()); 356 356 if (m_truncation != cFullTruncation && visibleToHitTesting() && rect.intersects(result.rectForPoint(pointInContainer))) { 357 renderer()->updateHitTestResult(result, flipForWritingMode(pointInContainer - to Size(accumulatedOffset)));357 renderer()->updateHitTestResult(result, flipForWritingMode(pointInContainer - toLayoutSize(accumulatedOffset))); 358 358 if (!result.addNodeToRectBasedTestResult(renderer()->node(), pointInContainer, rect)) 359 359 return true; -
trunk/Source/WebCore/rendering/InlineTextBox.h
r89704 r90515 112 112 protected: 113 113 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom); 114 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom);114 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom); 115 115 116 116 public: -
trunk/Source/WebCore/rendering/LayoutTypes.h
r90485 r90515 47 47 typedef IntRect LayoutRect; 48 48 49 inline LayoutPoint roundedLayoutPoint( FloatPoint point)49 inline LayoutPoint roundedLayoutPoint(const FloatPoint& p) 50 50 { 51 return roundedIntPoint(point); 51 return roundedIntPoint(p); 52 } 53 54 inline LayoutUnit roundedLayoutUnit(float value) 55 { 56 return lroundf(value); 57 } 58 59 inline LayoutSize toLayoutSize(const LayoutPoint& p) 60 { 61 return LayoutSize(p.x(), p.y()); 62 } 63 64 inline LayoutPoint toLayoutPoint(const LayoutSize& p) 65 { 66 return LayoutPoint(p.width(), p.height()); 52 67 } 53 68 -
trunk/Source/WebCore/rendering/RenderBlock.cpp
r90388 r90515 3945 3945 } 3946 3946 3947 bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction hitTestAction)3948 { 3949 IntPoint adjustedLocation(accumulatedOffset + location());3950 IntSize localOffset = toSize(adjustedLocation);3947 bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) 3948 { 3949 LayoutPoint adjustedLocation(accumulatedOffset + location()); 3950 LayoutSize localOffset = toLayoutSize(adjustedLocation); 3951 3951 3952 3952 if (!isRenderView()) { 3953 3953 // Check if we need to do anything at all. 3954 IntRect overflowBox = visualOverflowRect();3954 LayoutRect overflowBox = visualOverflowRect(); 3955 3955 overflowBox.moveBy(adjustedLocation); 3956 3956 if (!overflowBox.intersects(result.rectForPoint(pointInContainer))) … … 3968 3968 bool useOverflowClip = hasOverflowClip() && !hasSelfPaintingLayer(); 3969 3969 bool useClip = (hasControlClip() || useOverflowClip); 3970 IntRect hitTestArea(result.rectForPoint(pointInContainer));3970 LayoutRect hitTestArea(result.rectForPoint(pointInContainer)); 3971 3971 bool checkChildren = !useClip || (hasControlClip() ? controlClipRect(adjustedLocation).intersects(hitTestArea) : overflowClipRect(adjustedLocation, IncludeOverlayScrollbarSize).intersects(hitTestArea)); 3972 3972 if (checkChildren) { 3973 3973 // Hit test descendants first. 3974 IntSize scrolledOffset(localOffset);3974 LayoutSize scrolledOffset(localOffset); 3975 3975 if (hasOverflowClip()) { 3976 3976 scrolledOffset -= layer()->scrolledContentOffset(); … … 3979 3979 // Hit test contents if we don't have columns. 3980 3980 if (!hasColumns()) { 3981 if (hitTestContents(request, result, pointInContainer, to Point(scrolledOffset), hitTestAction)) {3981 if (hitTestContents(request, result, pointInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) { 3982 3982 updateHitTestResult(result, pointInContainer - localOffset); 3983 3983 return true; 3984 3984 } 3985 if (hitTestAction == HitTestFloat && hitTestFloats(request, result, pointInContainer, to Point(scrolledOffset)))3985 if (hitTestAction == HitTestFloat && hitTestFloats(request, result, pointInContainer, toLayoutPoint(scrolledOffset))) 3986 3986 return true; 3987 } else if (hitTestColumns(request, result, pointInContainer, to Point(scrolledOffset), hitTestAction)) {3987 } else if (hitTestColumns(request, result, pointInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) { 3988 3988 updateHitTestResult(result, pointInContainer - localOffset); 3989 3989 return true; … … 3993 3993 // Now hit test our background 3994 3994 if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) { 3995 IntRect boundsRect(adjustedLocation, size());3995 LayoutRect boundsRect(adjustedLocation, size()); 3996 3996 if (visibleToHitTesting() && boundsRect.intersects(result.rectForPoint(pointInContainer))) { 3997 3997 updateHitTestResult(result, flipForWritingMode(pointInContainer - localOffset)); -
trunk/Source/WebCore/rendering/RenderBlock.h
r90388 r90515 305 305 virtual void adjustInlineDirectionLineBounds(int /* expansionOpportunityCount */, float& /* logicalLeft */, float& /* logicalWidth */) const { } 306 306 307 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);307 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 308 308 309 309 virtual void computePreferredLogicalWidths(); -
trunk/Source/WebCore/rendering/RenderBox.cpp
r90388 r90515 750 750 751 751 // Hit Testing 752 bool RenderBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction action)753 { 754 IntPoint adjustedLocation = accumulatedOffset + location();752 bool RenderBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) 753 { 754 LayoutPoint adjustedLocation = accumulatedOffset + location(); 755 755 756 756 // Check kids first. 757 757 for (RenderObject* child = lastChild(); child; child = child->previousSibling()) { 758 758 if (!child->hasLayer() && child->nodeAtPoint(request, result, pointInContainer, adjustedLocation, action)) { 759 updateHitTestResult(result, pointInContainer - to Size(adjustedLocation));759 updateHitTestResult(result, pointInContainer - toLayoutSize(adjustedLocation)); 760 760 return true; 761 761 } … … 764 764 // Check our bounds next. For this purpose always assume that we can only be hit in the 765 765 // foreground phase (which is true for replaced elements like images). 766 IntRect boundsRect = IntRect(adjustedLocation, size());766 LayoutRect boundsRect(adjustedLocation, size()); 767 767 if (visibleToHitTesting() && action == HitTestForeground && boundsRect.intersects(result.rectForPoint(pointInContainer))) { 768 updateHitTestResult(result, pointInContainer - to Size(adjustedLocation));768 updateHitTestResult(result, pointInContainer - toLayoutSize(adjustedLocation)); 769 769 if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, boundsRect)) 770 770 return true; -
trunk/Source/WebCore/rendering/RenderBox.h
r90288 r90515 238 238 virtual void layout(); 239 239 virtual void paint(PaintInfo&, const LayoutPoint&); 240 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);240 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 241 241 242 242 virtual void destroy(); -
trunk/Source/WebCore/rendering/RenderFrameSet.cpp
r90302 r90515 157 157 158 158 bool RenderFrameSet::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, 159 const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction action)159 const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) 160 160 { 161 161 if (action != HitTestForeground) -
trunk/Source/WebCore/rendering/RenderFrameSet.h
r90048 r90515 97 97 98 98 virtual void layout(); 99 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);99 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 100 100 virtual void paint(PaintInfo&, const LayoutPoint&); 101 101 virtual bool isChildAllowed(RenderObject*, RenderStyle*) const; -
trunk/Source/WebCore/rendering/RenderImage.cpp
r90069 r90515 395 395 } 396 396 397 bool RenderImage::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction hitTestAction)397 bool RenderImage::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) 398 398 { 399 399 HitTestResult tempResult(result.point(), result.topPadding(), result.rightPadding(), result.bottomPadding(), result.leftPadding()); … … 404 404 IntRect contentBox = contentBoxRect(); 405 405 float zoom = style()->effectiveZoom(); 406 int mapX = lroundf((pointInContainer.x() - accumulatedOffset.x() - this->x() - contentBox.x()) / zoom);407 int mapY = lroundf((pointInContainer.y() - accumulatedOffset.y() - this->y() - contentBox.y()) / zoom);406 LayoutUnit mapX = roundedLayoutUnit((pointInContainer.x() - accumulatedOffset.x() - this->x() - contentBox.x()) / zoom); 407 LayoutUnit mapY = roundedLayoutUnit((pointInContainer.y() - accumulatedOffset.y() - this->y() - contentBox.y()) / zoom); 408 408 if (map->mapMouseEvent(mapX, mapY, contentBox.size(), tempResult)) 409 409 tempResult.setInnerNonSharedNode(node()); -
trunk/Source/WebCore/rendering/RenderImage.h
r90069 r90515 82 82 83 83 virtual void notifyFinished(CachedResource*); 84 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);84 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 85 85 86 86 virtual LayoutUnit computeReplacedLogicalWidth(bool includeMaxWidth = true) const; -
trunk/Source/WebCore/rendering/RenderInline.cpp
r90250 r90515 711 711 712 712 bool RenderInline::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, 713 const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction hitTestAction)713 const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) 714 714 { 715 715 return m_lineBoxes.hitTest(this, request, result, pointInContainer, accumulatedOffset, hitTestAction); -
trunk/Source/WebCore/rendering/RenderInline.h
r90250 r90515 118 118 virtual void paint(PaintInfo&, const LayoutPoint&); 119 119 120 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);120 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 121 121 122 122 virtual bool requiresLayer() const { return isRelPositioned() || isTransparent() || hasMask(); } -
trunk/Source/WebCore/rendering/RenderListBox.cpp
r90152 r90515 672 672 } 673 673 674 bool RenderListBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction hitTestAction)674 bool RenderListBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) 675 675 { 676 676 if (!RenderBlock::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, hitTestAction)) … … 678 678 const Vector<Element*>& listItems = toSelectElement(static_cast<Element*>(node()))->listItems(); 679 679 int size = numItems(); 680 IntPoint adjustedLocation = accumulatedOffset + location();680 LayoutPoint adjustedLocation = accumulatedOffset + location(); 681 681 682 682 for (int i = 0; i < size; ++i) { … … 686 686 if (!result.innerNonSharedNode()) 687 687 result.setInnerNonSharedNode(node); 688 result.setLocalPoint(pointInContainer - to Size(adjustedLocation));688 result.setLocalPoint(pointInContainer - toLayoutSize(adjustedLocation)); 689 689 break; 690 690 } -
trunk/Source/WebCore/rendering/RenderListBox.h
r90152 r90515 97 97 virtual void setScrollTop(int); 98 98 99 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);99 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 100 100 101 101 // ScrollableArea interface. -
trunk/Source/WebCore/rendering/RenderObject.cpp
r90250 r90515 2183 2183 } 2184 2184 2185 bool RenderObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& /*pointInContainer*/, const IntPoint& /*accumulatedOffset*/, HitTestAction)2185 bool RenderObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& /*pointInContainer*/, const LayoutPoint& /*accumulatedOffset*/, HitTestAction) 2186 2186 { 2187 2187 return false; -
trunk/Source/WebCore/rendering/RenderObject.h
r90186 r90515 550 550 551 551 bool hitTest(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestFilter = HitTestAll); 552 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);552 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 553 553 virtual void updateHitTestResult(HitTestResult&, const IntPoint&); 554 554 -
trunk/Source/WebCore/rendering/RenderTable.cpp
r90302 r90515 1194 1194 } 1195 1195 1196 bool RenderTable::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction action)1197 { 1198 IntPoint adjustedLocation = accumulatedOffset + location();1196 bool RenderTable::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) 1197 { 1198 LayoutPoint adjustedLocation = accumulatedOffset + location(); 1199 1199 1200 1200 // Check kids first. … … 1202 1202 for (RenderObject* child = lastChild(); child; child = child->previousSibling()) { 1203 1203 if (child->isBox() && !toRenderBox(child)->hasSelfPaintingLayer() && (child->isTableSection() || child == m_caption)) { 1204 IntPoint childPoint = flipForWritingMode(toRenderBox(child), adjustedLocation, ParentToChildFlippingAdjustment);1204 LayoutPoint childPoint = flipForWritingMode(toRenderBox(child), adjustedLocation, ParentToChildFlippingAdjustment); 1205 1205 if (child->nodeAtPoint(request, result, pointInContainer, childPoint, action)) { 1206 updateHitTestResult(result, to Point(pointInContainer - childPoint));1206 updateHitTestResult(result, toLayoutPoint(pointInContainer - childPoint)); 1207 1207 return true; 1208 1208 } … … 1212 1212 1213 1213 // Check our bounds next. 1214 IntRect boundsRect = IntRect(adjustedLocation, size());1214 LayoutRect boundsRect(adjustedLocation, size()); 1215 1215 if (visibleToHitTesting() && (action == HitTestBlockBackground || action == HitTestChildBlockBackground) && boundsRect.intersects(result.rectForPoint(pointInContainer))) { 1216 updateHitTestResult(result, flipForWritingMode(pointInContainer - to Size(adjustedLocation)));1216 updateHitTestResult(result, flipForWritingMode(pointInContainer - toLayoutSize(adjustedLocation))); 1217 1217 if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, boundsRect)) 1218 1218 return true; -
trunk/Source/WebCore/rendering/RenderTable.h
r90048 r90515 221 221 virtual void layout(); 222 222 virtual void computePreferredLogicalWidths(); 223 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);223 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 224 224 225 225 virtual int firstLineBoxBaseline() const; -
trunk/Source/WebCore/rendering/RenderTableRow.cpp
r90302 r90515 188 188 189 189 // Hit Testing 190 bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction action)190 bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) 191 191 { 192 192 // Table rows cannot ever be hit tested. Effectively they do not exist. … … 198 198 // then we can remove this check. 199 199 if (child->isTableCell() && !toRenderBox(child)->hasSelfPaintingLayer()) { 200 IntPoint cellPoint = flipForWritingMode(toRenderTableCell(child), accumulatedOffset, ParentToChildFlippingAdjustment);200 LayoutPoint cellPoint = flipForWritingMode(toRenderTableCell(child), accumulatedOffset, ParentToChildFlippingAdjustment); 201 201 if (child->nodeAtPoint(request, result, pointInContainer, cellPoint, action)) { 202 updateHitTestResult(result, pointInContainer - to Size(cellPoint));202 updateHitTestResult(result, pointInContainer - toLayoutSize(cellPoint)); 203 203 return true; 204 204 } -
trunk/Source/WebCore/rendering/RenderTableRow.h
r90048 r90515 55 55 virtual void layout(); 56 56 virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer); 57 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);57 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 58 58 59 59 // The only time rows get a layer is when they have transparency. -
trunk/Source/WebCore/rendering/RenderTableSection.cpp
r90302 r90515 1142 1142 1143 1143 // Hit Testing 1144 bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction action)1144 bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) 1145 1145 { 1146 1146 // If we have no children then we have nothing to do. … … 1150 1150 // Table sections cannot ever be hit tested. Effectively they do not exist. 1151 1151 // Just forward to our children always. 1152 IntPoint adjustedLocation = accumulatedOffset + location();1152 LayoutPoint adjustedLocation = accumulatedOffset + location(); 1153 1153 1154 1154 if (hasOverflowClip() && !overflowClipRect(adjustedLocation).intersects(result.rectForPoint(pointInContainer))) … … 1162 1162 // then we can remove this check. 1163 1163 if (child->isBox() && !toRenderBox(child)->hasSelfPaintingLayer()) { 1164 IntPoint childPoint = flipForWritingMode(toRenderBox(child), adjustedLocation, ParentToChildFlippingAdjustment);1164 LayoutPoint childPoint = flipForWritingMode(toRenderBox(child), adjustedLocation, ParentToChildFlippingAdjustment); 1165 1165 if (child->nodeAtPoint(request, result, pointInContainer, childPoint, action)) { 1166 updateHitTestResult(result, to Point(pointInContainer - childPoint));1166 updateHitTestResult(result, toLayoutPoint(pointInContainer - childPoint)); 1167 1167 return true; 1168 1168 } … … 1172 1172 } 1173 1173 1174 IntPoint location = pointInContainer - toSize(adjustedLocation);1174 LayoutPoint location = pointInContainer - toLayoutSize(adjustedLocation); 1175 1175 if (style()->isFlippedBlocksWritingMode()) { 1176 1176 if (style()->isHorizontalWritingMode()) … … 1180 1180 } 1181 1181 1182 int offsetInColumnDirection = style()->isHorizontalWritingMode() ? location.y() : location.x();1182 LayoutUnit offsetInColumnDirection = style()->isHorizontalWritingMode() ? location.y() : location.x(); 1183 1183 // Find the first row that starts after offsetInColumnDirection. 1184 1184 unsigned nextRow = std::upper_bound(m_rowPos.begin(), m_rowPos.end(), offsetInColumnDirection) - m_rowPos.begin(); … … 1188 1188 unsigned hitRow = nextRow > 0 ? nextRow - 1 : 0; 1189 1189 1190 Vector< int>& columnPos = table()->columnPositions();1190 Vector<LayoutUnit>& columnPos = table()->columnPositions(); 1191 1191 int offsetInRowDirection = style()->isHorizontalWritingMode() ? location.x() : location.y(); 1192 1192 if (!style()->isLeftToRightDirection()) … … 1206 1206 for (int i = current.cells.size() - 1; i >= 0; --i) { 1207 1207 RenderTableCell* cell = current.cells[i]; 1208 IntPoint cellPoint = flipForWritingMode(cell, adjustedLocation, ParentToChildFlippingAdjustment);1208 LayoutPoint cellPoint = flipForWritingMode(cell, adjustedLocation, ParentToChildFlippingAdjustment); 1209 1209 if (static_cast<RenderObject*>(cell)->nodeAtPoint(request, result, pointInContainer, cellPoint, action)) { 1210 updateHitTestResult(result, to Point(pointInContainer - cellPoint));1210 updateHitTestResult(result, toLayoutPoint(pointInContainer - cellPoint)); 1211 1211 return true; 1212 1212 } -
trunk/Source/WebCore/rendering/RenderTableSection.h
r90048 r90515 139 139 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); 140 140 141 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);141 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 142 142 143 143 bool ensureRows(int); -
trunk/Source/WebCore/rendering/RenderText.h
r90250 r90515 150 150 virtual void paint(PaintInfo&, const IntPoint&) { ASSERT_NOT_REACHED(); } 151 151 virtual void layout() { ASSERT_NOT_REACHED(); } 152 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint&, const IntPoint&, HitTestAction) { ASSERT_NOT_REACHED(); return false; }152 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint&, const LayoutPoint&, HitTestAction) { ASSERT_NOT_REACHED(); return false; } 153 153 154 154 void deleteTextBoxes(); -
trunk/Source/WebCore/rendering/RenderTextControlMultiLine.cpp
r88319 r90515 65 65 } 66 66 67 bool RenderTextControlMultiLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction hitTestAction)67 bool RenderTextControlMultiLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) 68 68 { 69 69 if (!RenderTextControl::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, hitTestAction)) -
trunk/Source/WebCore/rendering/RenderTextControlMultiLine.h
r88319 r90515 41 41 virtual void subtreeHasChanged(); 42 42 43 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);43 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 44 44 45 45 virtual float getAvgCharWidth(AtomicString family); -
trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h
r90379 r90515 65 65 virtual void layout(); 66 66 67 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);67 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 68 68 69 69 virtual void autoscroll(); -
trunk/Source/WebCore/rendering/RenderWidget.cpp
r90068 r90515 398 398 } 399 399 400 bool RenderWidget::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction action)400 bool RenderWidget::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action) 401 401 { 402 402 bool hadResult = result.innerNode(); -
trunk/Source/WebCore/rendering/RenderWidget.h
r90048 r90515 68 68 virtual void destroy(); 69 69 virtual void setSelectionState(SelectionState); 70 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);70 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 71 71 virtual void setOverlapTestResult(bool); 72 72 -
trunk/Source/WebCore/rendering/RootInlineBox.cpp
r89704 r90515 190 190 } 191 191 192 bool RootInlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom)192 bool RootInlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom) 193 193 { 194 194 if (hasEllipsisBox() && visibleToHitTesting()) { 195 195 if (ellipsisBox()->nodeAtPoint(request, result, pointInContainer, accumulatedOffset, lineTop, lineBottom)) { 196 renderer()->updateHitTestResult(result, pointInContainer - to Size(accumulatedOffset));196 renderer()->updateHitTestResult(result, pointInContainer - toLayoutSize(accumulatedOffset)); 197 197 return true; 198 198 } -
trunk/Source/WebCore/rendering/RootInlineBox.h
r89091 r90515 99 99 100 100 virtual void paint(PaintInfo&, const IntPoint&, int lineTop, int lineBottom); 101 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom);101 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom); 102 102 103 103 bool hasSelectedChildren() const { return m_hasSelectedChildrenOrCanHaveLeadingExpansion; } -
trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
r90069 r90515 151 151 return false; 152 152 153 IntPoint roundedLocalPoint = roundedIntPoint(localPoint); 154 return RenderBlock::nodeAtPoint(request, result, roundedLocalPoint, IntPoint(), hitTestAction); 153 return RenderBlock::nodeAtPoint(request, result, roundedLayoutPoint(localPoint), LayoutPoint(), hitTestAction); 155 154 } 156 155 157 bool RenderSVGForeignObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint&, const IntPoint&, HitTestAction)156 bool RenderSVGForeignObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint&, const LayoutPoint&, HitTestAction) 158 157 { 159 158 ASSERT_NOT_REACHED(); -
trunk/Source/WebCore/rendering/svg/RenderSVGForeignObject.h
r90048 r90515 51 51 52 52 virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction); 53 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);53 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 54 54 virtual bool isSVGForeignObject() const { return true; } 55 55 -
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
r89754 r90515 107 107 } 108 108 109 bool RenderSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint&, const IntPoint&, HitTestAction)109 bool RenderSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint&, const LayoutPoint&, HitTestAction) 110 110 { 111 111 ASSERT_NOT_REACHED(); -
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h
r89754 r90515 68 68 private: 69 69 // This method should never be called, SVG uses a different nodeAtPoint method 70 bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);70 bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 71 71 }; 72 72 -
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
r90069 r90515 437 437 } 438 438 439 bool RenderSVGRoot::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction hitTestAction)440 { 441 IntPoint pointInParent = pointInContainer - toSize(accumulatedOffset);442 IntPoint pointInBorderBox = pointInParent - parentOriginToBorderBox();439 bool RenderSVGRoot::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) 440 { 441 LayoutPoint pointInParent = pointInContainer - toLayoutSize(accumulatedOffset); 442 LayoutPoint pointInBorderBox = pointInParent - parentOriginToBorderBox(); 443 443 444 444 // Note: For now, we're ignoring hits to border and padding for <svg> 445 IntPoint pointInContentBox = pointInBorderBox - borderOriginToContentBox();445 LayoutPoint pointInContentBox = pointInBorderBox - borderOriginToContentBox(); 446 446 if (!contentBoxRect().contains(pointInContentBox)) 447 447 return false; 448 448 449 IntPoint localPoint = localToParentTransform().inverse().mapPoint(pointInParent);449 LayoutPoint localPoint = localToParentTransform().inverse().mapPoint(pointInParent); 450 450 451 451 for (RenderObject* child = lastChild(); child; child = child->previousSibling()) { -
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h
r90069 r90515 79 79 virtual FloatRect repaintRectInLocalCoordinates() const { return m_repaintBoundingBox; } 80 80 81 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);81 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 82 82 83 83 virtual IntRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer); -
trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp
r90250 r90515 202 202 } 203 203 204 bool RenderSVGText::nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint&, const IntPoint&, HitTestAction)204 bool RenderSVGText::nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint&, const LayoutPoint&, HitTestAction) 205 205 { 206 206 ASSERT_NOT_REACHED(); -
trunk/Source/WebCore/rendering/svg/RenderSVGText.h
r90250 r90515 54 54 55 55 virtual void paint(PaintInfo&, const LayoutPoint&); 56 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, HitTestAction);56 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction); 57 57 virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction); 58 58 virtual VisiblePosition positionForPoint(const LayoutPoint&); -
trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
r89733 r90515 729 729 } 730 730 731 bool SVGInlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int, int)731 bool SVGInlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int, int) 732 732 { 733 733 // FIXME: integrate with InlineTextBox::nodeAtPoint better. … … 741 741 FloatPoint boxOrigin(x(), y()); 742 742 boxOrigin.moveBy(accumulatedOffset); 743 FloatRect rect(boxOrigin, IntSize(width(), height()));743 FloatRect rect(boxOrigin, size()); 744 744 if (rect.intersects(result.rectForPoint(pointInContainer))) { 745 renderer()->updateHitTestResult(result, pointInContainer - to Size(accumulatedOffset));745 renderer()->updateHitTestResult(result, pointInContainer - toLayoutSize(accumulatedOffset)); 746 746 if (!result.addNodeToRectBasedTestResult(renderer()->node(), pointInContainer, rect)) 747 747 return true; -
trunk/Source/WebCore/rendering/svg/SVGInlineTextBox.h
r89381 r90515 78 78 void paintText(GraphicsContext*, RenderStyle*, RenderStyle* selectionStyle, const SVGTextFragment&, bool hasSelection, bool paintSelectedTextOnly); 79 79 80 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const IntPoint& pointInContainer, const IntPoint& accumulatedOffset, int lineTop, int lineBottom);80 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset, int lineTop, int lineBottom); 81 81 82 82 private:
Note: See TracChangeset
for help on using the changeset viewer.