Changeset 159912 in webkit
- Timestamp:
- Dec 1, 2013 9:44:16 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r159911 r159912 1 2013-12-01 Andreas Kling <akling@apple.com> 2 3 SVG: Intersection/enclosure checks should use RenderElement. 4 <https://webkit.org/b/125058> 5 6 Make RenderSVGModelObject's checkIntersection() and checkEnclosure() 7 take RenderElement* instead of RenderObject*. They are only ever 8 called with SVGElement's renderers. 9 10 Reviewed by Sam Weinig. 11 1 12 2013-12-01 Andreas Kling <akling@apple.com> 2 13 -
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
r158999 r159912 156 156 // One of the element types that can cause graphics to be drawn onto the target canvas. Specifically: circle, ellipse, 157 157 // image, line, path, polygon, polyline, rect, text and use. 158 static bool isGraphicsElement( RenderObject*renderer)158 static bool isGraphicsElement(const RenderElement& renderer) 159 159 { 160 return renderer ->isSVGShape() || renderer->isSVGText() || renderer->isSVGImage() || renderer->node()->hasTagName(SVGNames::useTag);160 return renderer.isSVGShape() || renderer.isSVGText() || renderer.isSVGImage() || renderer.element()->hasTagName(SVGNames::useTag); 161 161 } 162 162 … … 168 168 } 169 169 170 bool RenderSVGModelObject::checkIntersection(Render Object* renderer, const FloatRect& rect)170 bool RenderSVGModelObject::checkIntersection(RenderElement* renderer, const FloatRect& rect) 171 171 { 172 172 if (!renderer || renderer->style().pointerEvents() == PE_NONE) 173 173 return false; 174 if (!isGraphicsElement( renderer))174 if (!isGraphicsElement(*renderer)) 175 175 return false; 176 176 AffineTransform ctm; 177 SVGElement* svgElement = toSVGElement(renderer-> node());177 SVGElement* svgElement = toSVGElement(renderer->element()); 178 178 getElementCTM(svgElement, ctm); 179 179 ASSERT(svgElement->renderer()); … … 181 181 } 182 182 183 bool RenderSVGModelObject::checkEnclosure(Render Object* renderer, const FloatRect& rect)183 bool RenderSVGModelObject::checkEnclosure(RenderElement* renderer, const FloatRect& rect) 184 184 { 185 185 if (!renderer || renderer->style().pointerEvents() == PE_NONE) 186 186 return false; 187 if (!isGraphicsElement( renderer))187 if (!isGraphicsElement(*renderer)) 188 188 return false; 189 189 AffineTransform ctm; 190 SVGElement* svgElement = toSVGElement(renderer-> node());190 SVGElement* svgElement = toSVGElement(renderer->element()); 191 191 getElementCTM(svgElement, ctm); 192 192 ASSERT(svgElement->renderer()); -
trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h
r158999 r159912 60 60 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE; 61 61 62 static bool checkIntersection(Render Object*, const FloatRect&);63 static bool checkEnclosure(Render Object*, const FloatRect&);62 static bool checkIntersection(RenderElement*, const FloatRect&); 63 static bool checkEnclosure(RenderElement*, const FloatRect&); 64 64 65 65 virtual FloatRect repaintRectInLocalCoordinatesExcludingSVGShadow() const { return repaintRectInLocalCoordinates(); }
Note: See TracChangeset
for help on using the changeset viewer.