/* * Copyright (c) 2022, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace Web::SVG { JS_DEFINE_ALLOCATOR(SVGClipPathElement); SVGClipPathElement::SVGClipPathElement(DOM::Document& document, DOM::QualifiedName qualified_name) : SVGElement(document, move(qualified_name)) { } SVGClipPathElement::~SVGClipPathElement() { } void SVGClipPathElement::initialize(JS::Realm& realm) { Base::initialize(realm); WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGClipPathElement); } void SVGClipPathElement::attribute_changed(FlyString const& name, Optional const& value) { SVGElement::attribute_changed(name, value); if (name == AttributeNames::clipPathUnits) m_clip_path_units = AttributeParser::parse_units(value.value_or(String {})); } JS::GCPtr SVGClipPathElement::create_layout_node(NonnullRefPtr) { // Clip paths are handled as a special case in the TreeBuilder. return nullptr; } }