/* * Copyright (c) 2022, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace Web::SVG { GC_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& old_value, Optional const& value, Optional const& namespace_) { Base::attribute_changed(name, old_value, value, namespace_); if (name == AttributeNames::clipPathUnits) m_clip_path_units = AttributeParser::parse_units(value.value_or(String {})); } GC::Ptr SVGClipPathElement::create_layout_node(CSS::StyleProperties) { // Clip paths are handled as a special case in the TreeBuilder. return nullptr; } }