Skip to content

Commit b199925

Browse files
committed
iframe: move HTMLIFrameElement in its own file
1 parent 28397bf commit b199925

File tree

2 files changed

+31
-7
lines changed

2 files changed

+31
-7
lines changed

src/browser/html/elements.zig

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ pub const Interfaces = .{
6161
HTMLHeadElement,
6262
HTMLHeadingElement,
6363
HTMLHtmlElement,
64-
HTMLIFrameElement,
6564
HTMLImageElement,
6665
HTMLImageElement.Factory,
6766
HTMLInputElement,
@@ -102,6 +101,7 @@ pub const Interfaces = .{
102101
HTMLVideoElement,
103102

104103
@import("form.zig").HTMLFormElement,
104+
@import("iframe.zig").HTMLIFrameElement,
105105
@import("select.zig").Interfaces,
106106
};
107107

@@ -584,12 +584,6 @@ pub const HTMLHtmlElement = struct {
584584
pub const subtype = .node;
585585
};
586586

587-
pub const HTMLIFrameElement = struct {
588-
pub const Self = parser.IFrame;
589-
pub const prototype = *HTMLElement;
590-
pub const subtype = .node;
591-
};
592-
593587
pub const HTMLImageElement = struct {
594588
pub const Self = parser.Image;
595589
pub const prototype = *HTMLElement;

src/browser/html/iframe.zig

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright (C) 2023-2025 Lightpanda (Selecy SAS)
2+
//
3+
// Francis Bouvier <[email protected]>
4+
// Pierre Tachoire <[email protected]>
5+
//
6+
// This program is free software: you can redistribute it and/or modify
7+
// it under the terms of the GNU Affero General Public License as
8+
// published by the Free Software Foundation, either version 3 of the
9+
// License, or (at your option) any later version.
10+
//
11+
// This program is distributed in the hope that it will be useful,
12+
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
// GNU Affero General Public License for more details.
15+
//
16+
// You should have received a copy of the GNU Affero General Public License
17+
// along with this program. If not, see <https://www.gnu.org/licenses/>.
18+
const std = @import("std");
19+
const Allocator = std.mem.Allocator;
20+
21+
const parser = @import("../netsurf.zig");
22+
const Page = @import("../page.zig").Page;
23+
const HTMLElement = @import("elements.zig").HTMLElement;
24+
25+
// https://html.spec.whatwg.org/multipage/iframe-embed-object.html#htmliframeelement
26+
pub const HTMLIFrameElement = struct {
27+
pub const Self = parser.IFrame;
28+
pub const prototype = *HTMLElement;
29+
pub const subtype = .node;
30+
};

0 commit comments

Comments
 (0)