Title: [159912] trunk/Source/WebCore
- Revision
- 159912
- Author
- [email protected]
- Date
- 2013-12-01 21:44:16 -0800 (Sun, 01 Dec 2013)
Log Message
SVG: Intersection/enclosure checks should use RenderElement.
<https://webkit.org/b/125058>
Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
take RenderElement* instead of RenderObject*. They are only ever
called with SVGElement's renderers.
Reviewed by Sam Weinig.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (159911 => 159912)
--- trunk/Source/WebCore/ChangeLog 2013-12-02 05:43:03 UTC (rev 159911)
+++ trunk/Source/WebCore/ChangeLog 2013-12-02 05:44:16 UTC (rev 159912)
@@ -1,5 +1,16 @@
2013-12-01 Andreas Kling <[email protected]>
+ SVG: Intersection/enclosure checks should use RenderElement.
+ <https://webkit.org/b/125058>
+
+ Make RenderSVGModelObject's checkIntersection() and checkEnclosure()
+ take RenderElement* instead of RenderObject*. They are only ever
+ called with SVGElement's renderers.
+
+ Reviewed by Sam Weinig.
+
+2013-12-01 Andreas Kling <[email protected]>
+
Remove unreachable labels for -webkit-margin-*-collapse properties.
<https://webkit.org/b/125057>
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp (159911 => 159912)
--- trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp 2013-12-02 05:43:03 UTC (rev 159911)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp 2013-12-02 05:44:16 UTC (rev 159912)
@@ -155,9 +155,9 @@
// One of the element types that can cause graphics to be drawn onto the target canvas. Specifically: circle, ellipse,
// image, line, path, polygon, polyline, rect, text and use.
-static bool isGraphicsElement(RenderObject* renderer)
+static bool isGraphicsElement(const RenderElement& renderer)
{
- return renderer->isSVGShape() || renderer->isSVGText() || renderer->isSVGImage() || renderer->node()->hasTagName(SVGNames::useTag);
+ return renderer.isSVGShape() || renderer.isSVGText() || renderer.isSVGImage() || renderer.element()->hasTagName(SVGNames::useTag);
}
// The SVG addFocusRingRects() method adds rects in local coordinates so the default absoluteFocusRingQuads
@@ -167,27 +167,27 @@
quads.append(localToAbsoluteQuad(FloatQuad(repaintRectInLocalCoordinates())));
}
-bool RenderSVGModelObject::checkIntersection(RenderObject* renderer, const FloatRect& rect)
+bool RenderSVGModelObject::checkIntersection(RenderElement* renderer, const FloatRect& rect)
{
if (!renderer || renderer->style().pointerEvents() == PE_NONE)
return false;
- if (!isGraphicsElement(renderer))
+ if (!isGraphicsElement(*renderer))
return false;
AffineTransform ctm;
- SVGElement* svgElement = toSVGElement(renderer->node());
+ SVGElement* svgElement = toSVGElement(renderer->element());
getElementCTM(svgElement, ctm);
ASSERT(svgElement->renderer());
return intersectsAllowingEmpty(rect, ctm.mapRect(svgElement->renderer()->repaintRectInLocalCoordinates()));
}
-bool RenderSVGModelObject::checkEnclosure(RenderObject* renderer, const FloatRect& rect)
+bool RenderSVGModelObject::checkEnclosure(RenderElement* renderer, const FloatRect& rect)
{
if (!renderer || renderer->style().pointerEvents() == PE_NONE)
return false;
- if (!isGraphicsElement(renderer))
+ if (!isGraphicsElement(*renderer))
return false;
AffineTransform ctm;
- SVGElement* svgElement = toSVGElement(renderer->node());
+ SVGElement* svgElement = toSVGElement(renderer->element());
getElementCTM(svgElement, ctm);
ASSERT(svgElement->renderer());
return rect.contains(ctm.mapRect(svgElement->renderer()->repaintRectInLocalCoordinates()));
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h (159911 => 159912)
--- trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h 2013-12-02 05:43:03 UTC (rev 159911)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h 2013-12-02 05:44:16 UTC (rev 159912)
@@ -59,8 +59,8 @@
virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObject* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE FINAL;
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE;
- static bool checkIntersection(RenderObject*, const FloatRect&);
- static bool checkEnclosure(RenderObject*, const FloatRect&);
+ static bool checkIntersection(RenderElement*, const FloatRect&);
+ static bool checkEnclosure(RenderElement*, const FloatRect&);
virtual FloatRect repaintRectInLocalCoordinatesExcludingSVGShadow() const { return repaintRectInLocalCoordinates(); }
bool hasSVGShadow() const { return m_hasSVGShadow; }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes