diff --git a/src/browser/html/elements.zig b/src/browser/html/elements.zig index 5be01a1e..57d2fa29 100644 --- a/src/browser/html/elements.zig +++ b/src/browser/html/elements.zig @@ -61,7 +61,6 @@ pub const Interfaces = .{ HTMLHeadElement, HTMLHeadingElement, HTMLHtmlElement, - HTMLIFrameElement, HTMLImageElement, HTMLImageElement.Factory, HTMLInputElement, @@ -102,6 +101,7 @@ pub const Interfaces = .{ HTMLVideoElement, @import("form.zig").HTMLFormElement, + @import("iframe.zig").HTMLIFrameElement, @import("select.zig").Interfaces, }; @@ -584,12 +584,6 @@ pub const HTMLHtmlElement = struct { pub const subtype = .node; }; -pub const HTMLIFrameElement = struct { - pub const Self = parser.IFrame; - pub const prototype = *HTMLElement; - pub const subtype = .node; -}; - pub const HTMLImageElement = struct { pub const Self = parser.Image; pub const prototype = *HTMLElement; diff --git a/src/browser/html/iframe.zig b/src/browser/html/iframe.zig new file mode 100644 index 00000000..f8edf508 --- /dev/null +++ b/src/browser/html/iframe.zig @@ -0,0 +1,30 @@ +// Copyright (C) 2023-2025 Lightpanda (Selecy SAS) +// +// Francis Bouvier +// Pierre Tachoire +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +const std = @import("std"); +const Allocator = std.mem.Allocator; + +const parser = @import("../netsurf.zig"); +const Page = @import("../page.zig").Page; +const HTMLElement = @import("elements.zig").HTMLElement; + +// https://html.spec.whatwg.org/multipage/iframe-embed-object.html#htmliframeelement +pub const HTMLIFrameElement = struct { + pub const Self = parser.IFrame; + pub const prototype = *HTMLElement; + pub const subtype = .node; +};