mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 15:13:28 +00:00
userctx: document is not opational anymore
This commit is contained in:
@@ -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 "",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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(cur);
|
const ccur = parser.documentHTMLToDocument(userctx.document);
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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 "",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user