Merge pull request #164 from lightpanda-io/html-em

Add missing html tags
This commit is contained in:
Pierre Tachoire
2024-01-22 11:41:57 +01:00
committed by GitHub
2 changed files with 18 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ pub const Interfaces = .{
HTMLAnchorElement,
HTMLAreaElement,
HTMLAudioElement,
HTMLAppletElement,
HTMLBRElement,
HTMLBaseElement,
HTMLBodyElement,
@@ -113,6 +114,12 @@ pub const HTMLAnchorElement = struct {
pub const mem_guarantied = true;
};
pub const HTMLAppletElement = struct {
pub const Self = parser.Applet;
pub const prototype = *HTMLElement;
pub const mem_guarantied = true;
};
pub const HTMLAreaElement = struct {
pub const Self = parser.Area;
pub const prototype = *HTMLElement;
@@ -495,8 +502,9 @@ pub fn toInterface(comptime T: type, e: *parser.Element) !T {
const elem: *align(@alignOf(*parser.Element)) parser.Element = @alignCast(e);
const tag = try parser.elementHTMLGetTagType(@as(*parser.ElementHTML, @ptrCast(elem)));
return switch (tag) {
.abbr, .acronym, .address, .article, .aside, .b, .bdi, .bdo, .bgsound, .big, .center, .cite, .code, .dd, .details, .dfn, .dt, .figcaption, .figure, .footer, .header, .hgroup, .i, .isindex, .kbd, .main, .mark, .marquee, .nav, .nobr, .noframes, .noscript, .rp, .rt, .ruby, .s, .samp, .section, .small, .spacer, .strike, .sub, .summary, .sup, .tt, .u, .wbr, ._var => .{ .HTMLElement = @as(*parser.ElementHTML, @ptrCast(elem)) },
.abbr, .acronym, .address, .article, .aside, .b, .basefont, .bdi, .bdo, .bgsound, .big, .center, .cite, .code, .dd, .details, .dfn, .dt, .em, .figcaption, .figure, .footer, .header, .hgroup, .i, .isindex, .keygen, .kbd, .main, .mark, .marquee, .menu, .menuitem, .nav, .nobr, .noframes, .noscript, .rp, .rt, .ruby, .s, .samp, .section, .small, .spacer, .strike, .strong, .sub, .summary, .sup, .tt, .u, .wbr, ._var => .{ .HTMLElement = @as(*parser.ElementHTML, @ptrCast(elem)) },
.a => .{ .HTMLAnchorElement = @as(*parser.Anchor, @ptrCast(elem)) },
.applet => .{ .HTMLAppletElement = @as(*parser.Applet, @ptrCast(elem)) },
.area => .{ .HTMLAreaElement = @as(*parser.Area, @ptrCast(elem)) },
.audio => .{ .HTMLAudioElement = @as(*parser.Audio, @ptrCast(elem)) },
.base => .{ .HTMLBaseElement = @as(*parser.Base, @ptrCast(elem)) },

View File

@@ -84,6 +84,7 @@ inline fn lwcStringFromData(data: []const u8) !*LWCString {
pub const Tag = enum(u8) {
acronym = c.DOM_HTML_ELEMENT_TYPE_ACRONYM,
applet = c.DOM_HTML_ELEMENT_TYPE_APPLET,
bgsound = c.DOM_HTML_ELEMENT_TYPE_BGSOUND,
big = c.DOM_HTML_ELEMENT_TYPE_BIG,
marquee = c.DOM_HTML_ELEMENT_TYPE_MARQUEE,
@@ -100,10 +101,11 @@ pub const Tag = enum(u8) {
area = c.DOM_HTML_ELEMENT_TYPE_AREA,
audio = c.DOM_HTML_ELEMENT_TYPE_AUDIO,
b = c.DOM_HTML_ELEMENT_TYPE_B,
base = c.DOM_HTML_ELEMENT_TYPE_BASE,
basefont = c.DOM_HTML_ELEMENT_TYPE_BASEFONT,
bdi = c.DOM_HTML_ELEMENT_TYPE_BDI,
bdo = c.DOM_HTML_ELEMENT_TYPE_BDO,
br = c.DOM_HTML_ELEMENT_TYPE_BR,
base = c.DOM_HTML_ELEMENT_TYPE_BASE,
body = c.DOM_HTML_ELEMENT_TYPE_BODY,
button = c.DOM_HTML_ELEMENT_TYPE_BUTTON,
canvas = c.DOM_HTML_ELEMENT_TYPE_CANVAS,
@@ -120,6 +122,7 @@ pub const Tag = enum(u8) {
datalist = c.DOM_HTML_ELEMENT_TYPE_DATALIST,
dir = c.DOM_HTML_ELEMENT_TYPE_DIR,
div = c.DOM_HTML_ELEMENT_TYPE_DIV,
em = c.DOM_HTML_ELEMENT_TYPE_EM,
embed = c.DOM_HTML_ELEMENT_TYPE_EMBED,
figcaption = c.DOM_HTML_ELEMENT_TYPE_FIGCAPTION,
figure = c.DOM_HTML_ELEMENT_TYPE_FIGURE,
@@ -146,6 +149,7 @@ pub const Tag = enum(u8) {
img = c.DOM_HTML_ELEMENT_TYPE_IMG,
input = c.DOM_HTML_ELEMENT_TYPE_INPUT,
kbd = c.DOM_HTML_ELEMENT_TYPE_KBD,
keygen = c.DOM_HTML_ELEMENT_TYPE_KEYGEN,
li = c.DOM_HTML_ELEMENT_TYPE_LI,
label = c.DOM_HTML_ELEMENT_TYPE_LABEL,
legend = c.DOM_HTML_ELEMENT_TYPE_LEGEND,
@@ -153,6 +157,8 @@ pub const Tag = enum(u8) {
main = c.DOM_HTML_ELEMENT_TYPE_MAIN,
map = c.DOM_HTML_ELEMENT_TYPE_MAP,
mark = c.DOM_HTML_ELEMENT_TYPE_MARK,
menu = c.DOM_HTML_ELEMENT_TYPE_MENU,
menuitem = c.DOM_HTML_ELEMENT_TYPE_MENUITEM,
meta = c.DOM_HTML_ELEMENT_TYPE_META,
meter = c.DOM_HTML_ELEMENT_TYPE_METER,
nav = c.DOM_HTML_ELEMENT_TYPE_NAV,
@@ -186,6 +192,7 @@ pub const Tag = enum(u8) {
source = c.DOM_HTML_ELEMENT_TYPE_SOURCE,
span = c.DOM_HTML_ELEMENT_TYPE_SPAN,
style = c.DOM_HTML_ELEMENT_TYPE_STYLE,
strong = c.DOM_HTML_ELEMENT_TYPE_STRONG,
table = c.DOM_HTML_ELEMENT_TYPE_TABLE,
caption = c.DOM_HTML_ELEMENT_TYPE_CAPTION,
th = c.DOM_HTML_ELEMENT_TYPE_TH,
@@ -1056,6 +1063,7 @@ pub const MediaElement = struct { base: *c.dom_html_element };
pub const Unknown = struct { base: *c.dom_html_element };
pub const Anchor = c.dom_html_anchor_element;
pub const Applet = c.dom_html_applet_element;
pub const Area = c.dom_html_area_element;
pub const Audio = struct { base: *c.dom_html_element };
pub const BR = c.dom_html_br_element;