ladybird/Libraries/LibWeb/SVG
Andreas Kling 34ec33d71c
Some checks are pending
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
LibWeb: Don't treat SVG "use clone" removals as "use source" removals
We were failing to discriminate between DOM removals happening to SVG
elements cloned as part of an SVG use element instantiation.

When a "use source" element is removed, all clones of that source must
be updated to reflect the change. But when a "use clone" element is
removed, that's fine.

This was causing the surprising disappearance of use element subtrees,
seen for example on https://cal.com/
2025-08-07 22:15:36 +02:00
..
AttributeNames.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
AttributeNames.h LibWeb: Implement SVGAnimatedNumber 2025-07-11 11:25:59 +01:00
AttributeParser.cpp LibWeb/SVG: Move path data into Path.{h,cpp} 2025-07-17 13:59:23 -04:00
AttributeParser.h LibWeb/SVG: Move path data into Path.{h,cpp} 2025-07-17 13:59:23 -04:00
Default.css LibWeb: Layout foreignObject as block-level element with hidden overflow 2025-07-09 14:36:08 +02:00
Path.cpp LibWeb/SVG: Add serialization of Paths 2025-07-17 13:59:23 -04:00
Path.h LibWeb/SVG: Add serialization of Paths 2025-07-17 13:59:23 -04:00
SVGAElement.cpp LibWeb/SVG: Implement the SVGAElement.target attribute 2025-07-12 11:05:48 +02:00
SVGAElement.h LibWeb/SVG: Implement the SVGAElement.target attribute 2025-07-12 11:05:48 +02:00
SVGAElement.idl LibWeb/SVG: Implement the SVGAElement.referrerPolicy attribute 2025-07-12 11:05:48 +02: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
SVGAnimatedNumber.cpp LibWeb: Implement SVGAnimatedNumber 2025-07-11 11:25:59 +01:00
SVGAnimatedNumber.h LibWeb: Implement SVGAnimatedNumber 2025-07-11 11:25:59 +01:00
SVGAnimatedNumber.idl
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
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
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
SVGAnimationElement.cpp LibWeb: Add barebones SVGAnimationElement class 2025-07-30 15:51:35 +01:00
SVGAnimationElement.h LibWeb: Add barebones SVGAnimationElement class 2025-07-30 15:51:35 +01:00
SVGAnimationElement.idl LibWeb: Add barebones SVGAnimationElement class 2025-07-30 15:51:35 +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
SVGClipPathElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGClipPathElement.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
SVGClipPathElement.idl
SVGDecodedImageData.cpp LibWeb: Rename PaintContext to DisplayListRecordingContext 2025-08-01 05:25:56 -04:00
SVGDecodedImageData.h LibWeb+WebContent+WebWorker: Move backing store allocation in Navigable 2025-07-04 16:12:47 +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
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
SVGElement.cpp LibWeb: Don't treat SVG "use clone" removals as "use source" removals 2025-08-07 22:15:36 +02:00
SVGElement.h LibWeb/SVG: Add FEFloodElement 2025-07-09 18:07:12 +01:00
SVGElement.idl LibWeb: Implement SVGElement.viewportElement 2025-05-16 20:36:07 +02: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
SVGFEBlendElement.cpp LibWeb/SVG: Apply SVGFeBlendElement blend mode 2025-08-06 15:21:03 +02:00
SVGFEBlendElement.h LibWeb/SVG: Apply SVGFeBlendElement blend mode 2025-08-06 15:21:03 +02:00
SVGFEBlendElement.idl LibWeb/SVG: Apply SVGFeBlendElement blend mode 2025-08-06 15:21:03 +02:00
SVGFEFloodElement.cpp LibWeb: Use correct colors for SVGFEFloodElement::flood_color 2025-08-04 11:29:05 +01:00
SVGFEFloodElement.h LibWeb: Use correct colors for SVGFEFloodElement::flood_color 2025-08-04 11:29:05 +01:00
SVGFEFloodElement.idl LibWeb/SVG: Add FEFloodElement 2025-07-09 18:07:12 +01:00
SVGFEGaussianBlurElement.cpp LibWeb: Implement SVGAnimatedNumber 2025-07-11 11:25:59 +01:00
SVGFEGaussianBlurElement.h LibWeb: Implement SVGAnimatedNumber 2025-07-11 11:25:59 +01:00
SVGFEGaussianBlurElement.idl LibWeb: Implement SVGAnimatedNumber 2025-07-11 11:25:59 +01:00
SVGFEMergeElement.cpp LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEMergeElement.h LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEMergeElement.idl LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEMergeNodeElement.cpp LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEMergeNodeElement.h LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEMergeNodeElement.idl LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEOffsetElement.cpp LibWeb: Implement <feOffset> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEOffsetElement.h LibWeb: Implement <feOffset> SVG filter 2025-08-07 16:41:12 +02:00
SVGFEOffsetElement.idl LibWeb: Implement <feOffset> SVG filter 2025-08-07 16:41:12 +02:00
SVGFilterElement.cpp LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
SVGFilterElement.h LibWeb/SVG: Don't crash when a filter has no valid effects 2025-07-10 00:18:25 +02:00
SVGFilterElement.idl LibWeb: Add SVGFilterElement 2025-02-22 10:14:29 +01:00
SVGFilterPrimitiveStandardAttributes.h LibWeb/SVG: Add FilterPrimitiveStandardAttributes 2025-07-09 18:07:12 +01:00
SVGFilterPrimitiveStandardAttributes.idl LibWeb/SVG: Add FilterPrimitiveStandardAttributes 2025-07-09 18:07:12 +01:00
SVGFitToViewBox.idl
SVGForeignObjectElement.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
SVGForeignObjectElement.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
SVGForeignObjectElement.idl
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
SVGGeometryElement.cpp LibWeb: Implement the SVGGeometryElement.pathLength attribute 2025-07-12 11:49:10 +12:00
SVGGeometryElement.h LibWeb: Implement the SVGGeometryElement.pathLength attribute 2025-07-12 11:49:10 +12:00
SVGGeometryElement.idl LibWeb: Implement the SVGGeometryElement.pathLength attribute 2025-07-12 11:49:10 +12:00
SVGGradientElement.cpp LibWeb: Implement SVGAnimatedNumber 2025-07-11 11:25:59 +01:00
SVGGradientElement.h LibWeb: Apply the paint transformation in SVGGradientElement 2024-11-15 23:21:13 +01:00
SVGGradientElement.idl
SVGGraphicsElement.cpp LibWeb: Stub out SVGGraphicsElement.getCTM() 2025-05-16 20:36:07 +02:00
SVGGraphicsElement.h LibWeb: Stub out SVGGraphicsElement.getCTM() 2025-05-16 20:36:07 +02:00
SVGGraphicsElement.idl LibWeb: Stub out SVGGraphicsElement.getCTM() 2025-05-16 20:36:07 +02:00
SVGImageElement.cpp LibWeb: Add a getter for the default image bitmap of SVGImageElement 2025-08-03 21:47:48 +02:00
SVGImageElement.h LibWeb: Add a getter for the default image bitmap of SVGImageElement 2025-08-03 21:47:48 +02:00
SVGImageElement.idl
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
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
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
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
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
SVGPathElement.cpp LibWeb/SVG: Move path data into Path.{h,cpp} 2025-07-17 13:59:23 -04:00
SVGPathElement.h LibWeb/SVG: Move path data into Path.{h,cpp} 2025-07-17 13:59:23 -04:00
SVGPathElement.idl
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
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
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
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
SVGScriptElement.cpp LibWeb: Port node text content to UTF-16 2025-07-28 18:30:50 +02:00
SVGScriptElement.h LibWeb/SVG: Process script element when href attribute changes 2025-02-26 16:08:35 +01:00
SVGScriptElement.idl
SVGStopElement.cpp LibWeb: Support relative lengths in stop-color calcs 2025-08-04 11:29:05 +01:00
SVGStopElement.h LibWeb: Support relative lengths in stop-color calcs 2025-08-04 11:29:05 +01:00
SVGStopElement.idl
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
SVGSVGElement.cpp LibWeb: Remove unnecessary debug logging from SVGSVGElement 2025-08-05 01:46:36 +02:00
SVGSVGElement.h LibWeb: Implement SVGViewElement 2025-07-22 00:52:24 +02: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
SVGTextContentElement.cpp LibWeb: Port SVGFormattingContext to UTF-16 2025-08-05 15:13:36 +02:00
SVGTextContentElement.h LibWeb: Port SVGFormattingContext to UTF-16 2025-08-05 15:13:36 +02:00
SVGTextContentElement.idl
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
SVGTextPathElement.cpp LibWeb/SVG: Remove remaining user of of old try_resolve_url_to() 2025-04-30 17:38:38 +01:00
SVGTextPathElement.h LibWeb: Make CSS::ComputedProperties GC-allocated 2024-12-22 10:12:49 +01:00
SVGTextPathElement.idl
SVGTextPositioningElement.cpp LibJS+LibWeb: Replace JS::Utf16String with AK::Utf16String 2025-07-18 12:45:38 -04:00
SVGTextPositioningElement.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGTextPositioningElement.idl
SVGTitleElement.cpp LibWeb+LibWebView+WebContent+UI: Port the document title to UTF-16 2025-08-02 10:10:14 -07:00
SVGTitleElement.h LibWeb: Add metadata to children update steps invocation 2025-01-30 13:55:40 -07:00
SVGTitleElement.idl
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
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
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
SVGUnitTypes.h LibWeb: Add SVGUnitTypes 2025-08-06 23:05:56 -04:00
SVGUnitTypes.idl LibWeb: Add SVGUnitTypes 2025-08-06 23:05:56 -04:00
SVGURIReference.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
SVGURIReference.idl
SVGUseElement.cpp LibWeb: SVG use element shadow roots should be closed, not open 2025-08-07 22:15:36 +02:00
SVGUseElement.h LibWeb: Fix typos - act II 2025-04-09 15:05:20 +01:00
SVGUseElement.idl
SVGViewElement.cpp LibWeb: Implement SVGViewElement 2025-07-22 00:52:24 +02:00
SVGViewElement.h LibWeb: Implement SVGViewElement 2025-07-22 00:52:24 +02:00
SVGViewElement.idl LibWeb: Implement SVGViewElement 2025-07-22 00:52:24 +02:00
SVGViewport.h
TagNames.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
TagNames.h LibWeb: Implement <feMerge> SVG filter 2025-08-07 16:41:12 +02:00
ViewBox.cpp LibWeb/SVG: Ignore view boxes with negative width or height 2025-07-22 00:52:24 +02:00
ViewBox.h