mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-11 18:50:50 +00:00
LibWeb: Only set prototype once for object with IDL interface
Before this change, we were going through the chain of base classes for each IDL interface object and having them set the prototype to their prototype. Instead of doing that, reorder things so that we set the right prototype immediately in Foo::initialize(), and then don't bother in all the base class overrides. This knocks off a ~1% profile item on Speedometer 3.
This commit is contained in:
parent
7884e58b5c
commit
a6dfc74e93
Notes:
github-actions[bot]
2025-04-20 16:44:17 +00:00
Author: https://github.com/awesomekling
Commit: a6dfc74e93
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4408
417 changed files with 423 additions and 423 deletions
|
@ -23,8 +23,8 @@ SVGAElement::~SVGAElement() = default;
|
|||
|
||||
void SVGAElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGAElement::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -49,8 +49,8 @@ WebIDL::ExceptionOr<void> SVGAnimatedEnumeration::set_base_val(u16 base_val)
|
|||
|
||||
void SVGAnimatedEnumeration::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAnimatedEnumeration);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
// https://svgwg.org/svg2-draft/types.html#__svg__SVGAnimatedEnumeration__baseVal
|
||||
|
|
|
@ -30,8 +30,8 @@ SVGAnimatedLength::~SVGAnimatedLength() = default;
|
|||
|
||||
void SVGAnimatedLength::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAnimatedLength);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGAnimatedLength::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -28,8 +28,8 @@ SVGAnimatedNumber::~SVGAnimatedNumber() = default;
|
|||
|
||||
void SVGAnimatedNumber::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAnimatedNumber);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,8 +22,8 @@ SVGAnimatedRect::~SVGAnimatedRect() = default;
|
|||
|
||||
void SVGAnimatedRect::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAnimatedRect);
|
||||
Base::initialize(realm);
|
||||
m_base_val = Geometry::DOMRect::create(realm, { 0, 0, 0, 0 });
|
||||
m_anim_val = Geometry::DOMRect::create(realm, { 0, 0, 0, 0 });
|
||||
}
|
||||
|
|
|
@ -33,8 +33,8 @@ SVGAnimatedString::~SVGAnimatedString() = default;
|
|||
|
||||
void SVGAnimatedString::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAnimatedString);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGAnimatedString::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -28,8 +28,8 @@ SVGAnimatedTransformList::~SVGAnimatedTransformList() = default;
|
|||
|
||||
void SVGAnimatedTransformList::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGAnimatedTransformList);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGAnimatedTransformList::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -25,8 +25,8 @@ SVGCircleElement::SVGCircleElement(DOM::Document& document, DOM::QualifiedName q
|
|||
|
||||
void SVGCircleElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGCircleElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
bool SVGCircleElement::is_presentational_hint(FlyString const& name) const
|
||||
|
|
|
@ -24,8 +24,8 @@ SVGClipPathElement::~SVGClipPathElement()
|
|||
|
||||
void SVGClipPathElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGClipPathElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGClipPathElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -24,8 +24,8 @@ SVGDefsElement::~SVGDefsElement()
|
|||
|
||||
void SVGDefsElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGDefsElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,8 +21,8 @@ SVGDescElement::SVGDescElement(DOM::Document& document, DOM::QualifiedName quali
|
|||
|
||||
void SVGDescElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGDescElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGDescElement::create_layout_node(GC::Ref<CSS::ComputedProperties>)
|
||||
|
|
|
@ -26,8 +26,8 @@ SVGElement::SVGElement(DOM::Document& document, DOM::QualifiedName qualified_nam
|
|||
|
||||
void SVGElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
bool SVGElement::should_include_in_accessibility_tree() const
|
||||
|
|
|
@ -22,8 +22,8 @@ SVGEllipseElement::SVGEllipseElement(DOM::Document& document, DOM::QualifiedName
|
|||
|
||||
void SVGEllipseElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGEllipseElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGEllipseElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -19,8 +19,8 @@ SVGFilterElement::SVGFilterElement(DOM::Document& document, DOM::QualifiedName q
|
|||
|
||||
void SVGFilterElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGFilterElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGFilterElement::apply_presentational_hints(GC::Ref<CSS::CascadedProperties> cascaded_properties) const
|
||||
|
|
|
@ -28,8 +28,8 @@ SVGForeignObjectElement::~SVGForeignObjectElement() = default;
|
|||
|
||||
void SVGForeignObjectElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGForeignObjectElement);
|
||||
Base::initialize(realm);
|
||||
|
||||
// FIXME: These never actually get updated!
|
||||
m_x = SVGAnimatedLength::create(realm, SVGLength::create(realm, 0, 0), SVGLength::create(realm, 0, 0));
|
||||
|
|
|
@ -22,8 +22,8 @@ SVGGElement::SVGGElement(DOM::Document& document, DOM::QualifiedName qualified_n
|
|||
|
||||
void SVGGElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGGElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGGElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)
|
||||
|
|
|
@ -18,8 +18,8 @@ SVGGeometryElement::SVGGeometryElement(DOM::Document& document, DOM::QualifiedNa
|
|||
|
||||
void SVGGeometryElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGGeometryElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGGeometryElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)
|
||||
|
|
|
@ -150,8 +150,8 @@ GC::Ptr<SVGGradientElement const> SVGGradientElement::linked_gradient(HashTable<
|
|||
|
||||
void SVGGradientElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGGradientElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGGradientElement::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -33,8 +33,8 @@ SVGGraphicsElement::SVGGraphicsElement(DOM::Document& document, DOM::QualifiedNa
|
|||
|
||||
void SVGGraphicsElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGGraphicsElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGGraphicsElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -28,8 +28,8 @@ SVGImageElement::SVGImageElement(DOM::Document& document, DOM::QualifiedName qua
|
|||
|
||||
void SVGImageElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGImageElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGImageElement::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -61,8 +61,8 @@ SVGLength::SVGLength(JS::Realm& realm, u8 unit_type, float value)
|
|||
|
||||
void SVGLength::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGLength);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
SVGLength::~SVGLength() = default;
|
||||
|
|
|
@ -22,8 +22,8 @@ SVGLineElement::SVGLineElement(DOM::Document& document, DOM::QualifiedName quali
|
|||
|
||||
void SVGLineElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGLineElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGLineElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -24,8 +24,8 @@ SVGLinearGradientElement::SVGLinearGradientElement(DOM::Document& document, DOM:
|
|||
|
||||
void SVGLinearGradientElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGLinearGradientElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGLinearGradientElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -23,8 +23,8 @@ SVGMaskElement::~SVGMaskElement() = default;
|
|||
|
||||
void SVGMaskElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGMaskElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGMaskElement::create_layout_node(GC::Ref<CSS::ComputedProperties>)
|
||||
|
|
|
@ -21,8 +21,8 @@ SVGMetadataElement::SVGMetadataElement(DOM::Document& document, DOM::QualifiedNa
|
|||
|
||||
void SVGMetadataElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGMetadataElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGMetadataElement::create_layout_node(GC::Ref<CSS::ComputedProperties>)
|
||||
|
|
|
@ -92,8 +92,8 @@ SVGPathElement::SVGPathElement(DOM::Document& document, DOM::QualifiedName quali
|
|||
|
||||
void SVGPathElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGPathElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGPathElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -22,8 +22,8 @@ SVGPolygonElement::SVGPolygonElement(DOM::Document& document, DOM::QualifiedName
|
|||
|
||||
void SVGPolygonElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGPolygonElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGPolygonElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -22,8 +22,8 @@ SVGPolylineElement::SVGPolylineElement(DOM::Document& document, DOM::QualifiedNa
|
|||
|
||||
void SVGPolylineElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGPolylineElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGPolylineElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -21,8 +21,8 @@ SVGRadialGradientElement::SVGRadialGradientElement(DOM::Document& document, DOM:
|
|||
|
||||
void SVGRadialGradientElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGRadialGradientElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGRadialGradientElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -24,8 +24,8 @@ SVGRectElement::SVGRectElement(DOM::Document& document, DOM::QualifiedName quali
|
|||
|
||||
void SVGRectElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGRectElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGRectElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -31,8 +31,8 @@ SVGSVGElement::SVGSVGElement(DOM::Document& document, DOM::QualifiedName qualifi
|
|||
|
||||
void SVGSVGElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGSVGElement);
|
||||
Base::initialize(realm);
|
||||
m_view_box_for_bindings = realm.create<SVGAnimatedRect>(realm);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@ SVGScriptElement::SVGScriptElement(DOM::Document& document, DOM::QualifiedName q
|
|||
|
||||
void SVGScriptElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGScriptElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGScriptElement::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -79,8 +79,8 @@ GC::Ref<SVGAnimatedNumber> SVGStopElement::offset() const
|
|||
|
||||
void SVGStopElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGStopElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -20,8 +20,8 @@ SVGStyleElement::~SVGStyleElement() = default;
|
|||
|
||||
void SVGStyleElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGStyleElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGStyleElement::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -28,8 +28,8 @@ SVGSymbolElement::SVGSymbolElement(DOM::Document& document, DOM::QualifiedName q
|
|||
|
||||
void SVGSymbolElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGSymbolElement);
|
||||
Base::initialize(realm);
|
||||
m_view_box_for_bindings = realm.create<SVGAnimatedRect>(realm);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ SVGTSpanElement::SVGTSpanElement(DOM::Document& document, DOM::QualifiedName qua
|
|||
|
||||
void SVGTSpanElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTSpanElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGTSpanElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)
|
||||
|
|
|
@ -26,8 +26,8 @@ SVGTextContentElement::SVGTextContentElement(DOM::Document& document, DOM::Quali
|
|||
|
||||
void SVGTextContentElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTextContentElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
Optional<TextAnchor> SVGTextContentElement::text_anchor() const
|
||||
|
|
|
@ -19,8 +19,8 @@ SVGTextElement::SVGTextElement(DOM::Document& document, DOM::QualifiedName quali
|
|||
|
||||
void SVGTextElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTextElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGTextElement::create_layout_node(GC::Ref<CSS::ComputedProperties> style)
|
||||
|
|
|
@ -32,8 +32,8 @@ GC::Ptr<SVGGeometryElement const> SVGTextPathElement::path_or_shape() const
|
|||
|
||||
void SVGTextPathElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTextPathElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGTextPathElement::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -25,8 +25,8 @@ SVGTextPositioningElement::SVGTextPositioningElement(DOM::Document& document, DO
|
|||
|
||||
void SVGTextPositioningElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTextPositioningElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGTextPositioningElement::attribute_changed(FlyString const& name, Optional<String> const& old_value, Optional<String> const& value, Optional<FlyString> const& namespace_)
|
||||
|
|
|
@ -21,8 +21,8 @@ SVGTitleElement::SVGTitleElement(DOM::Document& document, DOM::QualifiedName qua
|
|||
|
||||
void SVGTitleElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTitleElement);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
GC::Ptr<Layout::Node> SVGTitleElement::create_layout_node(GC::Ref<CSS::ComputedProperties>)
|
||||
|
|
|
@ -27,8 +27,8 @@ SVGTransform::~SVGTransform() = default;
|
|||
|
||||
void SVGTransform::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTransform);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
// https://svgwg.org/svg2-draft/single-page.html#coords-__svg__SVGTransform__type
|
||||
|
|
|
@ -59,8 +59,8 @@ GC::Ref<SVGTransform> SVGTransformList::append_item(GC::Ref<SVGTransform> new_it
|
|||
|
||||
void SVGTransformList::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGTransformList);
|
||||
Base::initialize(realm);
|
||||
}
|
||||
|
||||
void SVGTransformList::visit_edges(Cell::Visitor& visitor)
|
||||
|
|
|
@ -33,8 +33,8 @@ SVGUseElement::SVGUseElement(DOM::Document& document, DOM::QualifiedName qualifi
|
|||
|
||||
void SVGUseElement::initialize(JS::Realm& realm)
|
||||
{
|
||||
Base::initialize(realm);
|
||||
WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGUseElement);
|
||||
Base::initialize(realm);
|
||||
|
||||
// The shadow tree is open (inspectable by script), but read-only.
|
||||
auto shadow_root = realm.create<DOM::ShadowRoot>(document(), *this, Bindings::ShadowRootMode::Open);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue