#include "core/frame/FrameView.h"
#include "core/frame/UseCounter.h"
#include "core/rendering/RenderObject.h"
-#include "core/rendering/RenderPart.h"
#include "core/rendering/svg/RenderSVGModelObject.h"
-#include "core/rendering/svg/RenderSVGResource.h"
#include "core/rendering/svg/RenderSVGRoot.h"
#include "core/rendering/svg/RenderSVGViewportContainer.h"
#include "core/svg/SVGAngleTearOff.h"
return adoptRef(new SVGCurrentTranslateTearOff(contextElement));
}
- virtual void commitChange() OVERRIDE
+ virtual void commitChange() override
{
ASSERT(contextElement());
toSVGSVGElement(contextElement())->updateCurrentTranslate();
void SVGSVGElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
- SVGParsingError parseError = NoError;
-
if (!nearestViewportElement()) {
bool setListener = true;
document().setWindowAttributeEventListener(EventTypeNames::abort, createAttributeEventListener(document().frame(), name, value, eventParameterName()));
} else if (name == HTMLNames::onerrorAttr) {
document().setWindowAttributeEventListener(EventTypeNames::error, createAttributeEventListener(document().frame(), name, value, eventParameterName()));
- } else if (name == SVGNames::xAttr) {
- m_x->setBaseValueAsString(value, parseError);
- } else if (name == SVGNames::yAttr) {
- m_y->setBaseValueAsString(value, parseError);
- } else if (name == SVGNames::widthAttr) {
- m_width->setBaseValueAsString(value, parseError);
- } else if (name == SVGNames::heightAttr) {
- m_height->setBaseValueAsString(value, parseError);
- } else if (SVGFitToViewBox::parseAttribute(name, value, document(), parseError)) {
} else if (SVGZoomAndPan::parseAttribute(name, value)) {
} else {
- SVGGraphicsElement::parseAttribute(name, value);
+ parseAttributeNew(name, value);
}
-
- reportAttributeParsingError(parseError, name, value);
}
bool SVGSVGElement::isPresentationAttribute(const QualifiedName& name) const
RenderObject* renderObject = renderer();
if (renderObject && renderObject->isSVGRoot()) {
invalidateSVGPresentationAttributeStyle();
- setNeedsStyleRecalc(LocalStyleChange);
+ setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracing::create(StyleChangeReason::SVGContainerSizeChange));
}
}
}
if (updateRelativeLengthsOrViewBox
|| SVGZoomAndPan::isKnownAttribute(attrName)) {
if (renderer())
- RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer());
+ markForLayoutAndParentResourceInvalidation(renderer());
return;
}
}
}
- for (SVGGraphicsElement* element = Traversal<SVGGraphicsElement>::firstWithin(*root); element;
- element = Traversal<SVGGraphicsElement>::next(*element, root)) {
- if (checkIntersectionOrEnclosure(*element, rect, mode))
- nodes.append(element);
+ for (SVGGraphicsElement& element : Traversal<SVGGraphicsElement>::descendantsOf(*root)) {
+ if (checkIntersectionOrEnclosure(element, rect, mode))
+ nodes.append(&element);
}
return StaticNodeList::adopt(nodes);
if (fragmentIdentifier.startsWith("xpointer(")) {
// FIXME: XPointer references are ignored (https://bugs.webkit.org/show_bug.cgi?id=17491)
if (renderer && hadUseCurrentView)
- RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);
+ markForLayoutAndParentResourceInvalidation(renderer);
return;
}
view->reset();
if (renderer && (hadUseCurrentView || m_useCurrentView))
- RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);
+ markForLayoutAndParentResourceInvalidation(renderer);
return;
}
svg->inheritViewAttributes(&viewElement);
if (RenderObject* renderer = svg->renderer())
- RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);
+ markForLayoutAndParentResourceInvalidation(renderer);
}
}