mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-28 14:43:28 +00:00
Compare commits
4 Commits
55e9d8d166
...
28ec8d4b94
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28ec8d4b94 | ||
|
|
6e42df2e71 | ||
|
|
6b924e8a4c | ||
|
|
80ae3c9fc6 |
@@ -267,8 +267,10 @@ pub const TraverseToOptions = struct {
|
||||
info: ?js.Object = null,
|
||||
};
|
||||
|
||||
pub fn _traverseTo(self: *Navigation, key: []const u8, _: ?TraverseToOptions, page: *Page) !NavigationReturn {
|
||||
// const opts = _opts orelse TraverseToOptions{};
|
||||
pub fn _traverseTo(self: *Navigation, key: []const u8, _opts: ?TraverseToOptions, page: *Page) !NavigationReturn {
|
||||
if (_opts != null) {
|
||||
log.debug(.browser, "not implemented", .{ .options = _opts });
|
||||
}
|
||||
|
||||
for (self.entries.items, 0..) |entry, i| {
|
||||
if (std.mem.eql(u8, key, entry.key)) {
|
||||
|
||||
@@ -22,7 +22,7 @@ fn register(
|
||||
typ: []const u8,
|
||||
listener: EventHandler.Listener,
|
||||
) !?js.Function {
|
||||
const target = @as(*parser.EventTarget, @ptrCast(self));
|
||||
const target = parser.toEventTarget(NavigationEventTarget, self);
|
||||
|
||||
// The only time this can return null if the listener is already
|
||||
// registered. But before calling `register`, all of our functions
|
||||
@@ -33,7 +33,7 @@ fn register(
|
||||
}
|
||||
|
||||
fn unregister(self: *NavigationEventTarget, typ: []const u8, cbk_id: usize) !void {
|
||||
const et = @as(*parser.EventTarget, @ptrCast(self));
|
||||
const et = parser.toEventTarget(NavigationEventTarget, self);
|
||||
// check if event target has already this listener
|
||||
const lst = try parser.eventTargetHasListener(et, typ, false, cbk_id);
|
||||
if (lst == null) {
|
||||
@@ -52,5 +52,7 @@ pub fn set_oncurrententrychange(self: *NavigationEventTarget, listener: ?EventHa
|
||||
if (self.oncurrententrychange_cbk) |cbk| try self.unregister("currententrychange", cbk.id);
|
||||
if (listener) |listen| {
|
||||
self.oncurrententrychange_cbk = try self.register(page.arena, "currententrychange", listen);
|
||||
} else {
|
||||
self.oncurrententrychange_cbk = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,7 +88,7 @@ pub const NavigationHistoryEntry = struct {
|
||||
pub fn get_sameDocument(self: *const NavigationHistoryEntry, page: *Page) !bool {
|
||||
const _url = self.url orelse return false;
|
||||
const url = try URL.parse(_url, null);
|
||||
return page.url.eqlDocument(&url, page.arena);
|
||||
return page.url.eqlDocument(&url, page.call_arena);
|
||||
}
|
||||
|
||||
pub fn get_url(self: *const NavigationHistoryEntry) ?[]const u8 {
|
||||
|
||||
Reference in New Issue
Block a user