diff --git a/Meta/gn/secondary/Userland/Libraries/LibWeb/idl_files.gni b/Meta/gn/secondary/Userland/Libraries/LibWeb/idl_files.gni index b9d16f02edb..02c5347d620 100644 --- a/Meta/gn/secondary/Userland/Libraries/LibWeb/idl_files.gni +++ b/Meta/gn/secondary/Userland/Libraries/LibWeb/idl_files.gni @@ -282,6 +282,7 @@ standard_idl_files = [ "//Userland/Libraries/LibWeb/SVG/SVGElement.idl", "//Userland/Libraries/LibWeb/SVG/SVGEllipseElement.idl", "//Userland/Libraries/LibWeb/SVG/SVGForeignObjectElement.idl", + "//Userland/Libraries/LibWeb/SVG/SVGGElement.idl", "//Userland/Libraries/LibWeb/SVG/SVGGeometryElement.idl", "//Userland/Libraries/LibWeb/SVG/SVGGradientElement.idl", "//Userland/Libraries/LibWeb/SVG/SVGGraphicsElement.idl", diff --git a/Tests/LibWeb/Text/expected/all-window-properties.txt b/Tests/LibWeb/Text/expected/all-window-properties.txt index b339bf562f7..2b922e1c889 100644 --- a/Tests/LibWeb/Text/expected/all-window-properties.txt +++ b/Tests/LibWeb/Text/expected/all-window-properties.txt @@ -279,6 +279,7 @@ SVGDescElement SVGElement SVGEllipseElement SVGForeignObjectElement +SVGGElement SVGGeometryElement SVGGradientElement SVGGraphicsElement diff --git a/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp b/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp index 87755e7de58..b004a34bc1a 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp +++ b/Userland/Libraries/LibWeb/SVG/SVGGElement.cpp @@ -5,6 +5,8 @@ */ #include +#include +#include #include #include #include @@ -18,6 +20,12 @@ SVGGElement::SVGGElement(DOM::Document& document, DOM::QualifiedName qualified_n { } +void SVGGElement::initialize(JS::Realm& realm) +{ + Base::initialize(realm); + WEB_SET_PROTOTYPE_FOR_INTERFACE(SVGGElement); +} + JS::GCPtr SVGGElement::create_layout_node(NonnullRefPtr style) { return heap().allocate_without_realm(document(), *this, move(style)); diff --git a/Userland/Libraries/LibWeb/SVG/SVGGElement.h b/Userland/Libraries/LibWeb/SVG/SVGGElement.h index 3431a9ebe7e..233303df138 100644 --- a/Userland/Libraries/LibWeb/SVG/SVGGElement.h +++ b/Userland/Libraries/LibWeb/SVG/SVGGElement.h @@ -21,6 +21,8 @@ public: private: SVGGElement(DOM::Document&, DOM::QualifiedName); + + virtual void initialize(JS::Realm&) override; }; } diff --git a/Userland/Libraries/LibWeb/SVG/SVGGElement.idl b/Userland/Libraries/LibWeb/SVG/SVGGElement.idl new file mode 100644 index 00000000000..91158d62f7a --- /dev/null +++ b/Userland/Libraries/LibWeb/SVG/SVGGElement.idl @@ -0,0 +1,6 @@ +#import + +// https://svgwg.org/svg2-draft/struct.html#InterfaceSVGGElement +[Exposed=Window] +interface SVGGElement : SVGGraphicsElement { +}; diff --git a/Userland/Libraries/LibWeb/idl_files.cmake b/Userland/Libraries/LibWeb/idl_files.cmake index 45066447a93..dcc9f706403 100644 --- a/Userland/Libraries/LibWeb/idl_files.cmake +++ b/Userland/Libraries/LibWeb/idl_files.cmake @@ -268,6 +268,7 @@ libweb_js_bindings(SVG/SVGClipPathElement) libweb_js_bindings(SVG/SVGDefsElement) libweb_js_bindings(SVG/SVGDescElement) libweb_js_bindings(SVG/SVGElement) +libweb_js_bindings(SVG/SVGGElement) libweb_js_bindings(SVG/SVGGeometryElement) libweb_js_bindings(SVG/SVGGradientElement) libweb_js_bindings(SVG/SVGGraphicsElement)