ladybird/Userland/Libraries/LibWeb/SVG
Aliaksandr Kalenik 4a43d0ac98 LibWeb: Move updating the rendering into HTML task
Implements https://github.com/whatwg/html/pull/10007 which basically
moves style, layout and painting from HTML processing task into HTML
task with "rendering" source.

The biggest difference is that now we no longer schedule HTML event loop
processing whenever we might need a repaint, but instead queue a global
rendering task 60 times per second that will check if any documents
need a style/layout/paint update.

That is a great simplification of our repaint scheduling model. Before
we had:
- Optional timer that schedules animation updates 60 hz
- Optional timer that schedules rAF updates
- PaintWhenReady state to schedule a paint if navigable doesn't have a
  rendering opportunity on the last event loop iteration

Now all that is gone and replaced with a single timer that drives
repainting at 60 hz and we don't have to worry about excessive repaints.

In the future, hard-coded 60 hz refresh interval could be replaced with
CADisplayLink on macOS and similar API on linux to drive repainting in
synchronization with display's refresh rate.
2024-10-04 07:07:01 +02:00
..
AttributeNames.cpp LibWeb: Implement SVGElement.className 2024-07-10 10:28:43 +02:00
AttributeNames.h LibWeb: Implement SVGElement.className 2024-07-10 10:28:43 +02:00
AttributeParser.cpp LibWeb: Use ErrorOr to propagate SVG attribute parsing errors 2024-03-20 09:09:35 +01:00
AttributeParser.h LibWeb: Implement the SVG clip-rule attribute 2024-05-14 23:01:18 +01:00
Default.css
SVGAElement.cpp LibWeb/SVG: Implement default_tab_index_value for a element 2024-08-14 20:39:35 +01:00
SVGAElement.h LibWeb/SVG: Implement default_tab_index_value for a element 2024-08-14 20:39:35 +01:00
SVGAElement.idl LibWeb/SVG: SVGAElement includes SVGURIReference 2024-07-16 21:43:53 +02:00
SVGAnimatedLength.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGAnimatedLength.h
SVGAnimatedLength.idl
SVGAnimatedNumber.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGAnimatedNumber.h
SVGAnimatedNumber.idl
SVGAnimatedRect.cpp LibWeb: Avoid FlyString lookups when setting IDL interface prototypes 2024-03-16 16:35:54 +01:00
SVGAnimatedRect.h LibWeb: Add SVGSVGElement.viewBox attribute 2024-01-25 08:23:41 +01:00
SVGAnimatedRect.idl LibWeb: Add SVGSVGElement.viewBox attribute 2024-01-25 08:23:41 +01:00
SVGAnimatedString.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGAnimatedString.h
SVGAnimatedString.idl
SVGAnimatedTransformList.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGAnimatedTransformList.h LibWeb: Stub out SVGAnimatedTransformList 2024-04-01 21:10:35 +02:00
SVGAnimatedTransformList.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGCircleElement.cpp LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGCircleElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGCircleElement.idl
SVGClipPathElement.cpp LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGClipPathElement.h LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGClipPathElement.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
SVGDecodedImageData.cpp LibWeb: Rename 'cross-origin opener policy' to 'opener policy' 2024-09-24 12:30:21 +01:00
SVGDecodedImageData.h LibWeb: Move updating the rendering into HTML task 2024-10-04 07:07:01 +02:00
SVGDefsElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGDefsElement.h LibWeb: Special case SVG masks during layout 2024-03-12 08:51:50 +01:00
SVGDefsElement.idl
SVGDescElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGDescElement.h LibWeb: Implement <desc> SVG element 2024-04-17 07:17:27 +02:00
SVGDescElement.idl LibWeb: Implement <desc> SVG element 2024-04-17 07:17:27 +02:00
SVGElement.cpp LibWeb: Allow SVGElement.ownerSVGElement to cross shadow boundary 2024-09-07 14:35:02 +02:00
SVGElement.h LibWeb/SVG: Implement SVGElement.ownerSVGElement 2024-07-16 21:43:53 +02:00
SVGElement.idl LibWeb/SVG: Implement SVGElement.ownerSVGElement 2024-07-16 21:43:53 +02:00
SVGEllipseElement.cpp LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGEllipseElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGEllipseElement.idl
SVGFitToViewBox.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
SVGForeignObjectElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGForeignObjectElement.h
SVGForeignObjectElement.idl
SVGGElement.cpp LibWeb/SVG: Add missing SVGGElement IDL file 2024-08-17 07:41:04 +02:00
SVGGElement.h LibWeb/SVG: Add missing SVGGElement IDL file 2024-08-17 07:41:04 +02:00
SVGGElement.idl LibWeb/SVG: Add missing SVGGElement IDL file 2024-08-17 07:41:04 +02:00
SVGGeometryElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGGeometryElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGGeometryElement.idl LibWeb: Add FIXMEs for missing SVGGeometryElement attributes 2024-07-10 10:28:43 +02:00
SVGGradientElement.cpp LibWeb/SVG: SVGGradientElement includes SVGURIReference 2024-07-16 21:43:53 +02:00
SVGGradientElement.h LibWeb/SVG: SVGGradientElement includes SVGURIReference 2024-07-16 21:43:53 +02:00
SVGGradientElement.idl LibWeb/SVG: SVGGradientElement includes SVGURIReference 2024-07-16 21:43:53 +02:00
SVGGraphicsElement.cpp LibWeb: Rename invalidate_layout() => invalidate_layout_tree() 2024-09-19 10:12:44 +02:00
SVGGraphicsElement.h LibGfx: Rename Path => DeprecatedPath 2024-08-20 09:30:05 +02:00
SVGGraphicsElement.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGImageElement.cpp LibWeb: Relayout document when SVG image is successfully loaded 2024-09-03 10:30:22 +01:00
SVGImageElement.h LibWeb: Relayout document when SVG image is successfully loaded 2024-09-03 10:30:22 +01:00
SVGImageElement.idl LibWeb/SVG: Implement SVGImageElement 2024-08-29 06:28:44 +02:00
SVGLength.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGLength.h LibWeb: Move SVGLength unit constants to header 2024-04-01 21:10:35 +02:00
SVGLength.idl LibWeb/SVG: Stub missing SVGLength attributes 2024-07-21 10:50:05 +02:00
SVGLinearGradientElement.cpp LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGLinearGradientElement.h LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGLinearGradientElement.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGLineElement.cpp LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGLineElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGLineElement.idl
SVGMaskElement.cpp LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGMaskElement.h LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGMaskElement.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
SVGMetadataElement.cpp LibWeb/SVG: Implement <metadata> element 2024-08-17 07:40:45 +02:00
SVGMetadataElement.h LibWeb/SVG: Implement <metadata> element 2024-08-17 07:40:45 +02:00
SVGMetadataElement.idl LibWeb/SVG: Implement <metadata> element 2024-08-17 07:40:45 +02:00
SVGPathElement.cpp LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGPathElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGPathElement.idl
SVGPolygonElement.cpp LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGPolygonElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGPolygonElement.idl
SVGPolylineElement.cpp LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGPolylineElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGPolylineElement.idl
SVGRadialGradientElement.cpp LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGRadialGradientElement.h LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGRadialGradientElement.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGRectElement.cpp LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGRectElement.h LibWeb: Port painting to use the new Skia-backed Gfx::Path 2024-08-20 09:30:05 +02:00
SVGRectElement.idl
SVGScriptElement.cpp LibWeb/SVG: SVGScriptElement includes SVGURIReference 2024-07-16 21:43:53 +02:00
SVGScriptElement.h LibWeb/SVG: SVGScriptElement includes SVGURIReference 2024-07-16 21:43:53 +02:00
SVGScriptElement.idl LibWeb/SVG: SVGScriptElement includes SVGURIReference 2024-07-16 21:43:53 +02:00
SVGStopElement.cpp LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGStopElement.h LibWeb: Pass the old attribute value to Element::attribute_changed() 2024-07-10 07:04:08 +02:00
SVGStopElement.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGStyleElement.cpp LibWeb: Let style elements remember which StyleSheetList they live in 2024-09-21 08:56:01 +02:00
SVGStyleElement.h LibWeb: Add method for listing all style sheets on a page 2024-09-03 10:12:07 +01:00
SVGStyleElement.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGSVGElement.cpp LibWeb: Derive SVG root's natural size from width/height attributes 2024-08-22 15:29:29 +02:00
SVGSVGElement.h LibWeb: Derive SVG root's natural size from width/height attributes 2024-08-22 15:29:29 +02:00
SVGSVGElement.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGSymbolElement.cpp LibWeb: Rename IdentifierStyleValue -> CSSKeywordValue 2024-08-15 13:58:38 +01:00
SVGSymbolElement.h LibWeb/SVG: SVGSymbolElement includes SVGFitToViewBox 2024-07-21 10:50:05 +02:00
SVGSymbolElement.idl LibWeb/SVG: SVGSymbolElement includes SVGFitToViewBox 2024-07-21 10:50:05 +02:00
SVGTextContentElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGTextContentElement.h LibWeb: Stub SVGTextContentElement.getStartPositionOfChar() 2024-04-01 21:10:35 +02:00
SVGTextContentElement.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
SVGTextElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGTextElement.h
SVGTextElement.idl
SVGTextPathElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGTextPathElement.h
SVGTextPathElement.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
SVGTextPositioningElement.cpp LibWeb: Support percentage values in SVG text positioning element 2024-07-21 19:56:38 +02:00
SVGTextPositioningElement.h LibWeb: Support percentage values in SVG text positioning element 2024-07-21 19:56:38 +02:00
SVGTextPositioningElement.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
SVGTitleElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGTitleElement.h
SVGTitleElement.idl LibWeb: Fix spec link to SVGTitleElement 2024-04-17 07:17:27 +02:00
SVGTransform.cpp LibWeb/SVG: Stub SVGTransform.setSkewY 2024-05-07 17:33:27 -06:00
SVGTransform.h LibWeb/SVG: Stub SVGTransform.setSkewY 2024-05-07 17:33:27 -06:00
SVGTransform.idl LibWeb: Use 'FIXME' extended attribute where possible 2024-05-19 16:24:11 +02:00
SVGTransformList.cpp LibWeb/SVG: Implement SVGTransformList.numberOfItems 2024-06-02 19:55:53 +02:00
SVGTransformList.h LibWeb/SVG: Implement SVGTransformList.numberOfItems 2024-06-02 19:55:53 +02:00
SVGTransformList.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGTSpanElement.cpp LibWeb: Remove Bindings/Forward.h from LibWeb/Forward.h 2024-04-27 18:29:35 -04:00
SVGTSpanElement.h
SVGTSpanElement.idl
SVGURIReference.h
SVGURIReference.idl
SVGUseElement.cpp LibWeb: Rename SharedImageRequest to SharedResourceRequest 2024-08-05 11:26:41 +02:00
SVGUseElement.h LibGfx: Rename Path => DeprecatedPath 2024-08-20 09:30:05 +02:00
SVGUseElement.idl LibWeb: Normalize all WebIDL definition lines to four leading spaces 2024-09-10 21:16:53 +01:00
SVGViewport.h LibWeb: Update SVG <circle> element to use geometry properties 2024-03-04 10:50:32 +01:00
TagNames.cpp
TagNames.h LibWeb/SVG: Implement SVGImageElement 2024-08-29 06:28:44 +02:00
ViewBox.cpp
ViewBox.h