1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-20 14:25:08 +00:00
serenity/Userland/Libraries/LibWeb/SVG
Aliaksandr Kalenik a41f23a0fc LibWeb: Fix document leak in SVGDecodedImageData
The SVGDecodedImageData creates a new Page and replaces its document
with a new one that contains SVG content. This change adds a destroy
call on the replaced document. Without this addition, all tasks
scheduled on the event loop during navigation, initiated while the
page's traversable is being created, will never execute, as the
initial replaced document will become inactive. This leads to a
document leak because the tasks use JS::Handle to hold document
pointer. Making the destroy call resolves the issue because it removes
all tasks associated with the destroyed document from the queue.
2023-09-25 14:31:20 +02:00
..
AttributeNames.cpp AK: Make "foo"_fly_string infallible 2023-08-07 16:03:27 +02:00
AttributeNames.h AK: Make "foo"_fly_string infallible 2023-08-07 16:03:27 +02:00
AttributeParser.cpp LibWeb: Flesh out SVGMaskElement a bit 2023-09-19 10:46:05 +02:00
AttributeParser.h LibWeb: Flesh out SVGMaskElement a bit 2023-09-19 10:46:05 +02:00
Default.css LibWeb: Include standard SVG user agent style sheet 2023-09-23 16:27:14 +02:00
SVGAnimatedLength.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGAnimatedLength.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGAnimatedLength.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
SVGAnimatedNumber.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGAnimatedNumber.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGAnimatedNumber.idl LibWeb: Implement SVGAnimatedNumber 2023-04-28 09:42:28 +02:00
SVGCircleElement.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGCircleElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGCircleElement.idl LibWeb: Expose SVGCircleElement attributes to JS 2022-03-22 22:33:17 +01:00
SVGClipPathElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGClipPathElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGClipPathElement.idl LibWeb: Sketch out a very basic SVG <clipPath> element 2022-04-10 21:35:55 +02:00
SVGDecodedImageData.cpp LibWeb: Fix document leak in SVGDecodedImageData 2023-09-25 14:31:20 +02:00
SVGDecodedImageData.h LibWeb: Use CSSPixelFraction to represent aspect ratios 2023-09-04 12:40:17 +02:00
SVGDefsElement.cpp LibWeb: Layout SVG <mask> elements (but don't paint them) 2023-09-19 10:46:05 +02:00
SVGDefsElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGDefsElement.idl LibWeb: Add SVGDefsElement 2022-04-11 20:19:10 +02:00
SVGElement.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGElement.idl LibWeb: Move Element.prototype.style to ElementCSSInlineStyle mixin 2023-03-20 20:37:40 -04:00
SVGEllipseElement.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGEllipseElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGEllipseElement.idl LibWeb: Expose SVGEllipseElement attributes to JS 2022-03-22 22:33:17 +01:00
SVGForeignObjectElement.cpp LibWeb: Rename Element::attribute to Element::deprecated_attribute 2023-09-05 20:36:09 -04:00
SVGForeignObjectElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGForeignObjectElement.idl LibWeb: Sketch out basic support for SVG <foreignObject> elements 2022-11-16 13:01:21 +01:00
SVGGElement.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGGElement.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGGeometryElement.cpp LibWeb: Remove exceptions from DOMPoint because allocate is unfailable 2023-09-01 20:58:13 +02:00
SVGGeometryElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGGeometryElement.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
SVGGradientElement.cpp LibWeb: Flesh out SVGMaskElement a bit 2023-09-19 10:46:05 +02:00
SVGGradientElement.h LibWeb: Add support for the SVG gradient spreadMethod attribute 2023-08-20 20:04:10 +02:00
SVGGradientElement.idl LibWeb: Implement SVGGradientElement 2023-04-28 09:42:28 +02:00
SVGGraphicsElement.cpp LibWeb: Resolve and paint simple SVG masks 2023-09-19 10:46:05 +02:00
SVGGraphicsElement.h LibWeb: Resolve and paint simple SVG masks 2023-09-19 10:46:05 +02:00
SVGGraphicsElement.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
SVGLength.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGLength.h LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGLength.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
SVGLinearGradientElement.cpp LibWeb: Add support for the SVG gradient spreadMethod attribute 2023-08-20 20:04:10 +02:00
SVGLinearGradientElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGLinearGradientElement.idl LibWeb: Implement SVGLinearGradientElement (<linearGradient>) 2023-04-28 09:42:28 +02:00
SVGLineElement.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGLineElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGLineElement.idl LibWeb: Expose SVGLineElement attributes to JS 2022-03-22 22:33:17 +01:00
SVGMaskElement.cpp LibWeb: Flesh out SVGMaskElement a bit 2023-09-19 10:46:05 +02:00
SVGMaskElement.h LibWeb: Flesh out SVGMaskElement a bit 2023-09-19 10:46:05 +02:00
SVGMaskElement.idl LibWeb: Stub out SVGMaskElement 2023-08-10 11:36:17 +02:00
SVGPathElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGPathElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGPathElement.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
SVGPolygonElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGPolygonElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGPolygonElement.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
SVGPolylineElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGPolylineElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGPolylineElement.idl LibWeb: Add imports to all IDL files that depend on others 2022-02-16 22:48:32 +03:30
SVGRadialGradientElement.cpp LibWeb: Add support for the SVG gradient spreadMethod attribute 2023-08-20 20:04:10 +02:00
SVGRadialGradientElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGRadialGradientElement.idl LibWeb: Add an initial implementation of SVG <radialGradient> 2023-05-04 16:50:01 +02:00
SVGRectElement.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
SVGRectElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGRectElement.idl LibWeb: Begin implementing SVGRectElement's SVGAnimatedLength attributes 2022-03-21 21:04:39 +01:00
SVGScriptElement.cpp LibWeb: Add IDL definition for SVGScriptElement 2023-09-23 11:41:57 +02:00
SVGScriptElement.h LibWeb: Add IDL definition for SVGScriptElement 2023-09-23 11:41:57 +02:00
SVGScriptElement.idl LibWeb: Add IDL definition for SVGScriptElement 2023-09-23 11:41:57 +02:00
SVGStopElement.cpp LibWeb: Make external StyleValue-parsing methods infallible 2023-08-19 17:34:22 +02:00
SVGStopElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGStopElement.idl LibWeb: Implement SVGStopElement (<stop>) 2023-04-28 09:42:28 +02:00
SVGStyleElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGStyleElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGStyleElement.idl LibWeb: Add Optional<String> overload for Element::set_attribute 2023-09-02 19:23:41 +01:00
SVGSVGElement.cpp LibWeb: Rename Element::attribute to Element::deprecated_attribute 2023-09-05 20:36:09 -04:00
SVGSVGElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGSVGElement.idl LibWeb: Add Exposed attribute and IDL spec links where missing 2022-10-09 10:14:57 +02:00
SVGSymbolElement.cpp LibWeb: Replace OverflowStyleValue with ShorthandStyleValue 2023-09-25 00:46:21 +01:00
SVGSymbolElement.h LibWeb: Make sure that SVG use and symbol elements get paintables 2023-08-20 05:02:59 +02:00
SVGSymbolElement.idl LibWeb: Implement the <symbol> SVG element 2023-06-03 05:58:00 +02:00
SVGTextContentElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTextContentElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTextContentElement.idl LibWeb: Split SVGTextContentElement into spec defined subclasses 2023-07-23 06:32:39 +02:00
SVGTextElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTextElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTextElement.idl LibWeb: Split SVGTextContentElement into spec defined subclasses 2023-07-23 06:32:39 +02:00
SVGTextPositioningElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTextPositioningElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTextPositioningElement.idl LibWeb: Split SVGTextContentElement into spec defined subclasses 2023-07-23 06:32:39 +02:00
SVGTitleElement.cpp LibWeb: Remove FrameLoader 2023-09-20 18:29:17 +02:00
SVGTitleElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTitleElement.idl LibWeb: Implement the SVG title element 2023-06-09 01:12:48 +02:00
SVGTSpanElement.cpp LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTSpanElement.h LibJS: Make Cell::initialize() return void 2023-08-08 07:39:11 +02:00
SVGTSpanElement.idl LibWeb: Add support for SVG <tspan> elements 2023-07-23 06:32:39 +02:00
SVGUseElement.cpp LibWeb: Rename Element::attribute to Element::deprecated_attribute 2023-09-05 20:36:09 -04:00
SVGUseElement.h LibWeb: Ensure transform of SVG <use> updates with x and y attributes 2023-08-31 11:10:30 +02:00
SVGUseElement.idl LibWeb: Implement the <use> SVG element 2023-06-03 05:58:00 +02:00
TagNames.cpp AK: Make "foo"_fly_string infallible 2023-08-07 16:03:27 +02:00
TagNames.h LibWeb: Stub out SVGMaskElement 2023-08-10 11:36:17 +02:00
ViewBox.cpp LibWeb: Allow floating point values when parsing SVG viewboxes 2023-04-12 07:40:22 +02:00
ViewBox.h LibWeb: Make CSSPixels and Length use 64-bit (double) floating point 2023-05-24 14:40:35 +02:00