userctx: document is not opational anymore

This commit is contained in:
Pierre Tachoire
2024-04-23 11:50:53 +02:00
parent 840aea9013
commit c2e64c131a
5 changed files with 12 additions and 22 deletions

View File

@@ -34,10 +34,8 @@ pub const Comment = struct {
pub const mem_guarantied = true; pub const mem_guarantied = true;
pub fn constructor(userctx: UserContext, data: ?[]const u8) !*parser.Comment { pub fn constructor(userctx: UserContext, data: ?[]const u8) !*parser.Comment {
if (userctx.document == null) return parser.DOMError.NotSupported;
return parser.documentCreateComment( return parser.documentCreateComment(
parser.documentHTMLToDocument(userctx.document.?), parser.documentHTMLToDocument(userctx.document),
data orelse "", data orelse "",
); );
} }

View File

@@ -49,19 +49,15 @@ pub const Document = struct {
pub const mem_guarantied = true; pub const mem_guarantied = true;
pub fn constructor(userctx: UserContext) !*parser.DocumentHTML { pub fn constructor(userctx: UserContext) !*parser.DocumentHTML {
var title: ?[]const u8 = null; const doc = try parser.documentCreateDocument(
if (userctx.document) |cur| { try parser.documentHTMLGetTitle(userctx.document),
title = try parser.documentHTMLGetTitle(cur); );
}
const doc = try parser.documentCreateDocument(title);
if (userctx.document) |cur| { // we have to work w/ document instead of html document.
// we have to work w/ document instead of html document. const ddoc = parser.documentHTMLToDocument(doc);
const ddoc = parser.documentHTMLToDocument(doc); const ccur = parser.documentHTMLToDocument(userctx.document);
const ccur = parser.documentHTMLToDocument(cur); try parser.documentSetDocumentURI(ddoc, try parser.documentGetDocumentURI(ccur));
try parser.documentSetDocumentURI(ddoc, try parser.documentGetDocumentURI(ccur)); try parser.documentSetInputEncoding(ddoc, try parser.documentGetInputEncoding(ccur));
try parser.documentSetInputEncoding(ddoc, try parser.documentGetInputEncoding(ccur));
}
return doc; return doc;
} }

View File

@@ -35,10 +35,8 @@ pub const DocumentFragment = struct {
pub const mem_guarantied = true; pub const mem_guarantied = true;
pub fn constructor(userctx: UserContext) !*parser.DocumentFragment { pub fn constructor(userctx: UserContext) !*parser.DocumentFragment {
if (userctx.document == null) return parser.DOMError.NotSupported;
return parser.documentCreateDocumentFragment( return parser.documentCreateDocumentFragment(
parser.documentHTMLToDocument(userctx.document.?), parser.documentHTMLToDocument(userctx.document),
); );
} }
}; };

View File

@@ -41,10 +41,8 @@ pub const Text = struct {
pub const mem_guarantied = true; pub const mem_guarantied = true;
pub fn constructor(userctx: UserContext, data: ?[]const u8) !*parser.Text { pub fn constructor(userctx: UserContext, data: ?[]const u8) !*parser.Text {
if (userctx.document == null) return parser.DOMError.NotSupported;
return parser.documentCreateTextNode( return parser.documentCreateTextNode(
parser.documentHTMLToDocument(userctx.document.?), parser.documentHTMLToDocument(userctx.document),
data orelse "", data orelse "",
); );
} }

View File

@@ -2,5 +2,5 @@ const std = @import("std");
const parser = @import("netsurf.zig"); const parser = @import("netsurf.zig");
pub const UserContext = struct { pub const UserContext = struct {
document: ?*parser.DocumentHTML, document: *parser.DocumentHTML,
}; };