ladybird/Libraries/LibWeb/SVG
Andreas Kling a6dfc74e93 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.
2025-04-20 18:43:11 +02:00
..
AttributeNames.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
AttributeNames.h LibWeb/SVG: Respect script element type attribute 2025-02-26 16:08:35 +01:00
AttributeParser.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AttributeParser.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Default.css LibWeb/SVG: Rename text-space-collapse to white-space-collapse 2025-02-04 12:25:08 +01:00
SVGAElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGAElement.h LibWeb: Add more fast_is<T> helpers for DOM::Node subclasses 2025-04-18 14:45:56 +02:00
SVGAElement.idl LibWeb/SVG: Remove SVGAElement.text attribute 2025-04-02 17:28:45 +01:00
SVGAnimatedEnumeration.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGAnimatedEnumeration.h LibWeb: Add SVGAnimatedEnumeration 2025-02-22 10:14:29 +01:00
SVGAnimatedEnumeration.idl LibWeb: Add SVGAnimatedEnumeration 2025-02-22 10:14:29 +01:00
SVGAnimatedLength.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGAnimatedLength.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGAnimatedLength.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGAnimatedNumber.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGAnimatedNumber.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGAnimatedNumber.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGAnimatedRect.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGAnimatedRect.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGAnimatedRect.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGAnimatedString.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGAnimatedString.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGAnimatedString.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGAnimatedTransformList.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGAnimatedTransformList.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGAnimatedTransformList.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGCircleElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGCircleElement.h LibWeb: Avoid many style invalidations on DOM attribute mutation 2024-12-24 17:17:09 +01:00
SVGCircleElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGClipPathElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGClipPathElement.h LibWeb/SVG: Make SVGClipPathElement inherit from SVGGraphicsElement 2025-02-01 13:38:56 +01:00
SVGClipPathElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGDecodedImageData.cpp LibWeb: Save ScrollState snapshot in DisplayList to avoid race condition 2025-04-12 02:55:18 +02:00
SVGDecodedImageData.h LibWeb: Avoid dynamic_cast in DOM::Document::is_decoded_svg() 2025-04-18 14:45:56 +02:00
SVGDefsElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGDefsElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGDefsElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGDescElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGDescElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGDescElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGElement.h LibWeb: Add metadata to children update steps invocation 2025-01-30 13:55:40 -07:00
SVGElement.idl LibWeb: Add CanvasImageSource to ImageBitmapSource typedef 2024-12-06 13:10:27 +00:00
SVGEllipseElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGEllipseElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGEllipseElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGFilterElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGFilterElement.h LibWeb: Add SVGFilterElement 2025-02-22 10:14:29 +01:00
SVGFilterElement.idl LibWeb: Add SVGFilterElement 2025-02-22 10:14:29 +01:00
SVGFitToViewBox.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGForeignObjectElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGForeignObjectElement.h LibWeb: Add more fast_is<T> helpers for DOM::Node subclasses 2025-04-18 14:45:56 +02:00
SVGForeignObjectElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGGElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGGElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGGeometryElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGGeometryElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGGeometryElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGGradientElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGGradientElement.h LibWeb: Apply the paint transformation in SVGGradientElement 2024-11-15 23:21:13 +01:00
SVGGradientElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGGraphicsElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGGraphicsElement.h LibWeb/SVG: Skip unwanted transformations on clip-path 2025-02-01 13:38:56 +01:00
SVGGraphicsElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGImageElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGImageElement.h LibWeb: Port Document encoding_parse_url and parse_url to Optional<URL> 2025-01-27 00:03:07 +00:00
SVGImageElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGLength.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGLength.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGLength.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGLinearGradientElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGLinearGradientElement.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGLinearGradientElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGLineElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGLineElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGLineElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGMaskElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGMaskElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGMaskElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGMetadataElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGMetadataElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGMetadataElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGPathElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGPathElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGPathElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGPolygonElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGPolygonElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGPolygonElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGPolylineElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGPolylineElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGPolylineElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGRadialGradientElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGRadialGradientElement.h AK+Everywhere: Rename verify_cast to as 2025-01-21 11:34:06 -05:00
SVGRadialGradientElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGRectElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGRectElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGRectElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGScriptElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGScriptElement.h LibWeb/SVG: Process script element when href attribute changes 2025-02-26 16:08:35 +01:00
SVGScriptElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGStopElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGStopElement.h LibWeb: Avoid many style invalidations on DOM attribute mutation 2024-12-24 17:17:09 +01:00
SVGStopElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGStyleElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGStyleElement.h LibWeb: Add metadata to children update steps invocation 2025-01-30 13:55:40 -07:00
SVGStyleElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGSVGElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGSVGElement.h LibWeb: Make storage of CSS::StyleValues const-correct 2025-04-16 10:41:44 -06:00
SVGSVGElement.idl LibWeb/SVG: Mark SVG factory functions as [NewObject] 2025-04-02 17:28:45 +01:00
SVGSymbolElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGSymbolElement.h LibWeb: Avoid many style invalidations on DOM attribute mutation 2024-12-24 17:17:09 +01:00
SVGSymbolElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTextContentElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTextContentElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGTextContentElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTextElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTextElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTextPathElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTextPathElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextPathElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTextPositioningElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTextPositioningElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGTextPositioningElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTitleElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTitleElement.h LibWeb: Add metadata to children update steps invocation 2025-01-30 13:55:40 -07:00
SVGTitleElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTransform.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTransform.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGTransform.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTransformList.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTransformList.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGTransformList.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGTSpanElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGTSpanElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTSpanElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGURIReference.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGURIReference.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGUseElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGUseElement.h LibWeb: Fix typos - act II 2025-04-09 15:05:20 +01:00
SVGUseElement.idl Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SVGViewport.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TagNames.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
TagNames.h LibWeb: Add SVGFilterElement 2025-02-22 10:14:29 +01:00
ViewBox.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ViewBox.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00