mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-30 15:41:48 +00:00
dom: DocumentHTML title
This commit is contained in:
@@ -47,6 +47,15 @@ pub const HTMLDocument = struct {
|
|||||||
pub fn set_cookie(_: *parser.DocumentHTML, _: []const u8) ![]const u8 {
|
pub fn set_cookie(_: *parser.DocumentHTML, _: []const u8) ![]const u8 {
|
||||||
return parser.DOMError.NotSupported;
|
return parser.DOMError.NotSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn get_title(self: *parser.DocumentHTML) ![]const u8 {
|
||||||
|
return try parser.documentHTMLGetTitle(self);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set_title(self: *parser.DocumentHTML, v: []const u8) ![]const u8 {
|
||||||
|
try parser.documentHTMLSetTitle(self, v);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Tests
|
// Tests
|
||||||
@@ -67,6 +76,14 @@ pub fn testExecFn(
|
|||||||
var getters = [_]Case{
|
var getters = [_]Case{
|
||||||
.{ .src = "document.domain", .ex = "" },
|
.{ .src = "document.domain", .ex = "" },
|
||||||
.{ .src = "document.referrer", .ex = "" },
|
.{ .src = "document.referrer", .ex = "" },
|
||||||
|
.{ .src = "document.title", .ex = "" },
|
||||||
};
|
};
|
||||||
try checkCases(js_env, &getters);
|
try checkCases(js_env, &getters);
|
||||||
|
|
||||||
|
var titles = [_]Case{
|
||||||
|
.{ .src = "document.title = 'foo'", .ex = "foo" },
|
||||||
|
.{ .src = "document.title", .ex = "foo" },
|
||||||
|
.{ .src = "document.title = ''", .ex = "" },
|
||||||
|
};
|
||||||
|
try checkCases(js_env, &titles);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1466,3 +1466,16 @@ pub fn documentHTMLGetReferrer(doc: *DocumentHTML) ![]const u8 {
|
|||||||
if (s == null) return "";
|
if (s == null) return "";
|
||||||
return strToData(s.?);
|
return strToData(s.?);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn documentHTMLGetTitle(doc: *DocumentHTML) ![]const u8 {
|
||||||
|
var s: ?*String = undefined;
|
||||||
|
const err = documentHTMLVtable(doc).get_title.?(doc, &s);
|
||||||
|
try DOMErr(err);
|
||||||
|
if (s == null) return "";
|
||||||
|
return strToData(s.?);
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn documentHTMLSetTitle(doc: *DocumentHTML, v: []const u8) !void {
|
||||||
|
const err = documentHTMLVtable(doc).set_title.?(doc, try strFromData(v));
|
||||||
|
try DOMErr(err);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user