From c2e64c131a3fce2ede3e905c497a52bd8f44135a Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Tue, 23 Apr 2024 11:50:53 +0200 Subject: [PATCH] userctx: document is not opational anymore --- src/dom/comment.zig | 4 +--- src/dom/document.zig | 20 ++++++++------------ src/dom/document_fragment.zig | 4 +--- src/dom/text.zig | 4 +--- src/user_context.zig | 2 +- 5 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/dom/comment.zig b/src/dom/comment.zig index ff7ebace..e82c51bc 100644 --- a/src/dom/comment.zig +++ b/src/dom/comment.zig @@ -34,10 +34,8 @@ pub const Comment = struct { pub const mem_guarantied = true; pub fn constructor(userctx: UserContext, data: ?[]const u8) !*parser.Comment { - if (userctx.document == null) return parser.DOMError.NotSupported; - return parser.documentCreateComment( - parser.documentHTMLToDocument(userctx.document.?), + parser.documentHTMLToDocument(userctx.document), data orelse "", ); } diff --git a/src/dom/document.zig b/src/dom/document.zig index 0c5ace87..0741b1d9 100644 --- a/src/dom/document.zig +++ b/src/dom/document.zig @@ -49,19 +49,15 @@ pub const Document = struct { pub const mem_guarantied = true; pub fn constructor(userctx: UserContext) !*parser.DocumentHTML { - var title: ?[]const u8 = null; - if (userctx.document) |cur| { - title = try parser.documentHTMLGetTitle(cur); - } - const doc = try parser.documentCreateDocument(title); + const doc = try parser.documentCreateDocument( + try parser.documentHTMLGetTitle(userctx.document), + ); - if (userctx.document) |cur| { - // we have to work w/ document instead of html document. - const ddoc = parser.documentHTMLToDocument(doc); - const ccur = parser.documentHTMLToDocument(cur); - try parser.documentSetDocumentURI(ddoc, try parser.documentGetDocumentURI(ccur)); - try parser.documentSetInputEncoding(ddoc, try parser.documentGetInputEncoding(ccur)); - } + // we have to work w/ document instead of html document. + const ddoc = parser.documentHTMLToDocument(doc); + const ccur = parser.documentHTMLToDocument(userctx.document); + try parser.documentSetDocumentURI(ddoc, try parser.documentGetDocumentURI(ccur)); + try parser.documentSetInputEncoding(ddoc, try parser.documentGetInputEncoding(ccur)); return doc; } diff --git a/src/dom/document_fragment.zig b/src/dom/document_fragment.zig index da21798e..08d99165 100644 --- a/src/dom/document_fragment.zig +++ b/src/dom/document_fragment.zig @@ -35,10 +35,8 @@ pub const DocumentFragment = struct { pub const mem_guarantied = true; pub fn constructor(userctx: UserContext) !*parser.DocumentFragment { - if (userctx.document == null) return parser.DOMError.NotSupported; - return parser.documentCreateDocumentFragment( - parser.documentHTMLToDocument(userctx.document.?), + parser.documentHTMLToDocument(userctx.document), ); } }; diff --git a/src/dom/text.zig b/src/dom/text.zig index 6805825e..4ac35ed5 100644 --- a/src/dom/text.zig +++ b/src/dom/text.zig @@ -41,10 +41,8 @@ pub const Text = struct { pub const mem_guarantied = true; pub fn constructor(userctx: UserContext, data: ?[]const u8) !*parser.Text { - if (userctx.document == null) return parser.DOMError.NotSupported; - return parser.documentCreateTextNode( - parser.documentHTMLToDocument(userctx.document.?), + parser.documentHTMLToDocument(userctx.document), data orelse "", ); } diff --git a/src/user_context.zig b/src/user_context.zig index a2bc3efb..0a90bfd4 100644 --- a/src/user_context.zig +++ b/src/user_context.zig @@ -2,5 +2,5 @@ const std = @import("std"); const parser = @import("netsurf.zig"); pub const UserContext = struct { - document: ?*parser.DocumentHTML, + document: *parser.DocumentHTML, };