Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(609)

Unified Diff: Source/core/rendering/svg/RenderSVGViewportContainer.cpp

Issue 191003007: Use isSVG*Element() helpers more in SVG code (Part 3) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/rendering/svg/RenderSVGViewportContainer.cpp
diff --git a/Source/core/rendering/svg/RenderSVGViewportContainer.cpp b/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
index 63fa495991abdd111d965f27c34508784736958b..0dae02cd718424da5147d953eda4df5349dfecab 100644
--- a/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
+++ b/Source/core/rendering/svg/RenderSVGViewportContainer.cpp
@@ -42,7 +42,8 @@ RenderSVGViewportContainer::RenderSVGViewportContainer(SVGElement* node)
void RenderSVGViewportContainer::determineIfLayoutSizeChanged()
{
- if (!element()->hasTagName(SVGNames::svgTag))
+ ASSERT(element());
+ if (!isSVGSVGElement(*element()))
return;
m_isLayoutSizeChanged = toSVGSVGElement(element())->hasRelativeLengths() && selfNeedsLayout();
@@ -57,7 +58,8 @@ void RenderSVGViewportContainer::applyViewportClip(PaintInfo& paintInfo)
void RenderSVGViewportContainer::calcViewport()
{
SVGElement* element = this->element();
- if (!element->hasTagName(SVGNames::svgTag))
+ ASSERT(element);
+ if (!isSVGSVGElement(*element))
return;
SVGSVGElement* svg = toSVGSVGElement(element);
FloatRect oldViewport = m_viewport;
@@ -74,7 +76,7 @@ void RenderSVGViewportContainer::calcViewport()
const HashSet<SVGElementInstance*>::const_iterator end = instances.end();
for (HashSet<SVGElementInstance*>::const_iterator it = instances.begin(); it != end; ++it) {
const SVGElementInstance* instance = (*it);
- ASSERT(instance->correspondingElement()->hasTagName(SVGNames::svgTag) || instance->correspondingElement()->hasTagName(SVGNames::symbolTag));
+ ASSERT(isSVGSVGElement(instance->correspondingElement()) || isSVGSymbolElement(instance->correspondingElement()));
if (instance->shadowTreeElement() == svg) {
ASSERT(correspondingElement == instance->correspondingElement());
useElement = instance->directUseElement();
@@ -85,7 +87,7 @@ void RenderSVGViewportContainer::calcViewport()
}
ASSERT(useElement);
- bool isSymbolElement = correspondingElement->hasTagName(SVGNames::symbolTag);
+ bool isSymbolElement = isSVGSymbolElement(*correspondingElement);
// Spec (<use> on <symbol>): This generated 'svg' will always have explicit values for attributes width and height.
// If attributes width and/or height are provided on the 'use' element, then these attributes
@@ -132,7 +134,8 @@ bool RenderSVGViewportContainer::calculateLocalTransform()
AffineTransform RenderSVGViewportContainer::viewportTransform() const
{
- if (element()->hasTagName(SVGNames::svgTag)) {
+ ASSERT(element());
+ if (isSVGSVGElement(*element())) {
SVGSVGElement* svg = toSVGSVGElement(element());
return svg->viewBoxToViewTransform(m_viewport.width(), m_viewport.height());
}
@@ -151,11 +154,10 @@ bool RenderSVGViewportContainer::pointIsInsideViewportClip(const FloatPoint& poi
void RenderSVGViewportContainer::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
{
+ ASSERT(element());
// An empty viewBox disables rendering.
- if (element()->hasTagName(SVGNames::svgTag)) {
- if (toSVGSVGElement(element())->hasEmptyViewBox())
- return;
- }
+ if (isSVGSVGElement(*element()) && toSVGSVGElement(*element()).hasEmptyViewBox())
+ return;
RenderSVGContainer::paint(paintInfo, paintOffset);
}
« no previous file with comments | « Source/core/rendering/svg/RenderSVGTransformableContainer.cpp ('k') | Source/core/rendering/svg/SVGRenderTreeAsText.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698