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,
|
info: ?js.Object = null,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub fn _traverseTo(self: *Navigation, key: []const u8, _: ?TraverseToOptions, page: *Page) !NavigationReturn {
|
pub fn _traverseTo(self: *Navigation, key: []const u8, _opts: ?TraverseToOptions, page: *Page) !NavigationReturn {
|
||||||
// const opts = _opts orelse TraverseToOptions{};
|
if (_opts != null) {
|
||||||
|
log.debug(.browser, "not implemented", .{ .options = _opts });
|
||||||
|
}
|
||||||
|
|
||||||
for (self.entries.items, 0..) |entry, i| {
|
for (self.entries.items, 0..) |entry, i| {
|
||||||
if (std.mem.eql(u8, key, entry.key)) {
|
if (std.mem.eql(u8, key, entry.key)) {
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ fn register(
|
|||||||
typ: []const u8,
|
typ: []const u8,
|
||||||
listener: EventHandler.Listener,
|
listener: EventHandler.Listener,
|
||||||
) !?js.Function {
|
) !?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
|
// The only time this can return null if the listener is already
|
||||||
// registered. But before calling `register`, all of our functions
|
// 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 {
|
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
|
// check if event target has already this listener
|
||||||
const lst = try parser.eventTargetHasListener(et, typ, false, cbk_id);
|
const lst = try parser.eventTargetHasListener(et, typ, false, cbk_id);
|
||||||
if (lst == null) {
|
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 (self.oncurrententrychange_cbk) |cbk| try self.unregister("currententrychange", cbk.id);
|
||||||
if (listener) |listen| {
|
if (listener) |listen| {
|
||||||
self.oncurrententrychange_cbk = try self.register(page.arena, "currententrychange", 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 {
|
pub fn get_sameDocument(self: *const NavigationHistoryEntry, page: *Page) !bool {
|
||||||
const _url = self.url orelse return false;
|
const _url = self.url orelse return false;
|
||||||
const url = try URL.parse(_url, null);
|
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 {
|
pub fn get_url(self: *const NavigationHistoryEntry) ?[]const u8 {
|
||||||
|
|||||||
Reference in New Issue
Block a user