diff --git a/src/browser/Page.zig b/src/browser/Page.zig index 48efcb44..3d7214f5 100644 --- a/src/browser/Page.zig +++ b/src/browser/Page.zig @@ -2451,16 +2451,12 @@ pub fn handleClick(self: *Page, target: *Node) !void { // Check target attribute - don't navigate if opening in new window/tab const target_val = anchor.getTarget(); if (target_val.len > 0 and !std.mem.eql(u8, target_val, "_self")) { - log.warn(.browser, "not implemented", .{ - .feature = "anchor with target attribute click", - }); + log.warn(.not_implemented, "a.target", .{}); return; } if (try element.hasAttribute("download", self)) { - log.warn(.browser, "not implemented", .{ - .feature = "anchor with download attribute click", - }); + log.warn(.browser, "a.download", .{}); return; } diff --git a/src/browser/webapi/Document.zig b/src/browser/webapi/Document.zig index ee3f952c..d0490555 100644 --- a/src/browser/webapi/Document.zig +++ b/src/browser/webapi/Document.zig @@ -151,7 +151,7 @@ pub fn createAttribute(_: *const Document, name: []const u8, page: *Page) !?*Ele pub fn createAttributeNS(_: *const Document, namespace: []const u8, name: []const u8, page: *Page) !?*Element.Attribute { if (std.mem.eql(u8, namespace, "http://www.w3.org/1999/xhtml") == false) { - log.warn(.not_implemented, "document.createAttributeNS", .{.namespace = namespace}); + log.warn(.not_implemented, "document.createAttributeNS", .{ .namespace = namespace }); } try Element.Attribute.validateAttributeName(name); diff --git a/src/browser/webapi/Node.zig b/src/browser/webapi/Node.zig index 64ca8f8e..b0a9c2b3 100644 --- a/src/browser/webapi/Node.zig +++ b/src/browser/webapi/Node.zig @@ -321,6 +321,10 @@ pub fn getNodeType(self: *const Node) u8 { } pub fn isEqualNode(self: *Node, other: *Node) bool { + if (self == other) { + return true; + } + // Make sure types match. if (self.getNodeType() != other.getNodeType()) { return false; @@ -335,9 +339,8 @@ pub fn isEqualNode(self: *Node, other: *Node) bool { .document_type => self.as(DocumentType).isEqualNode(other.as(DocumentType)), .document => { // Document comparison is complex and rarely used in practice - log.warn(.browser, "not implemented", .{ - .type = self._type, - .feature = "Node.isEqualNode", + log.warn(.not_implemented, "Node.isEqualNode", .{ + .type = "document", }); return false; }, diff --git a/src/browser/webapi/navigation/Navigation.zig b/src/browser/webapi/navigation/Navigation.zig index 7091daa8..6fc5e65e 100644 --- a/src/browser/webapi/navigation/Navigation.zig +++ b/src/browser/webapi/navigation/Navigation.zig @@ -376,7 +376,7 @@ pub const TraverseToOptions = struct { pub fn traverseTo(self: *Navigation, key: []const u8, _opts: ?TraverseToOptions, page: *Page) !NavigationReturn { if (_opts != null) { - log.debug(.browser, "not implemented", .{ .options = _opts }); + log.warn(.not_implemented, "Navigation.traverseTo", .{ .has_options = true }); } for (self._entries.items, 0..) |entry, i| { diff --git a/src/browser/webapi/net/FormData.zig b/src/browser/webapi/net/FormData.zig index 0bc72688..edc4fd40 100644 --- a/src/browser/webapi/net/FormData.zig +++ b/src/browser/webapi/net/FormData.zig @@ -96,8 +96,7 @@ pub fn write(self: *const FormData, encoding_: ?[]const u8, writer: *std.Io.Writ return self._list.urlEncode(.form, writer); } - log.debug(.not_implemented, "not implemented", .{ - .feature = "form data encoding", + log.warn(.not_implemented, "FormData.encoding", .{ .encoding = encoding, }); } diff --git a/src/cdp/domains/dom.zig b/src/cdp/domains/dom.zig index 5d0c1147..88f8af37 100644 --- a/src/cdp/domains/dom.zig +++ b/src/cdp/domains/dom.zig @@ -76,7 +76,7 @@ fn getDocument(cmd: anytype) !void { const params = try cmd.params(Params) orelse Params{}; if (params.pierce) { - log.warn(.cdp, "not implemented", .{ .feature = "DOM.getDocument: Not implemented pierce parameter" }); + log.warn(.not_implemented, "DOM.getDocument", .{ .param = "pierce" }); } const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded; @@ -315,7 +315,7 @@ fn describeNode(cmd: anytype) !void { })) orelse return error.InvalidParams; if (params.pierce) { - log.warn(.cdp, "not implemented", .{ .feature = "DOM.describeNode: Not implemented pierce parameter" }); + log.warn(.not_implemented, "DOM.describeNode", .{ .param = "pierce" }); } const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded; @@ -497,7 +497,7 @@ fn getOuterHTML(cmd: anytype) !void { })) orelse return error.InvalidParams; if (params.includeShadowDOM) { - log.warn(.cdp, "not implemented", .{ .feature = "DOM.getOuterHTML: Not implemented includeShadowDOM parameter" }); + log.warn(.not_implemented, "DOM.getOuterHTML", .{ .param = "includeShadowDOM" }); } const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded; const page = bc.session.currentPage() orelse return error.PageNotLoaded; diff --git a/src/cdp/domains/fetch.zig b/src/cdp/domains/fetch.zig index 5a55fc63..d98e204a 100644 --- a/src/cdp/domains/fetch.zig +++ b/src/cdp/domains/fetch.zig @@ -142,7 +142,7 @@ fn disable(cmd: anytype) !void { fn enable(cmd: anytype) !void { const params = (try cmd.params(EnableParam)) orelse EnableParam{}; if (!arePatternsSupported(params.patterns)) { - log.warn(.cdp, "not implemented", .{ .feature = "Fetch.enable advanced patterns are not" }); + log.warn(.not_implemented, "Fetch.enable", .{ .params = "pattern" }); return cmd.sendResult(null, .{}); } @@ -331,7 +331,7 @@ fn fulfillRequest(cmd: anytype) !void { })) orelse return error.InvalidParams; if (params.binaryResponseHeaders != null) { - log.warn(.cdp, "not implemented", .{ .feature = "Fetch.fulfillRequest binaryResponseHeade" }); + log.warn(.not_implemented, "Fetch.fulfillRequest", .{ .param = "binaryResponseHeaders" }); return error.NotImplemented; } diff --git a/src/cdp/domains/page.zig b/src/cdp/domains/page.zig index 08001419..15e93dae 100644 --- a/src/cdp/domains/page.zig +++ b/src/cdp/domains/page.zig @@ -178,7 +178,7 @@ fn createIsolatedWorld(cmd: anytype) !void { grantUniveralAccess: bool = false, })) orelse return error.InvalidParams; if (!params.grantUniveralAccess) { - log.warn(.cdp, "not implemented", .{ .feature = "grantUniveralAccess == false is not yet implemented" }); + log.warn(.not_implemented, "Page.createIsolatedWorld", .{ .param = "grantUniveralAccess" }); // When grantUniveralAccess == false and the client attempts to resolve // or otherwise access a DOM or other JS Object from another context that should fail. } diff --git a/src/cdp/domains/target.zig b/src/cdp/domains/target.zig index 804f8cd9..4654e260 100644 --- a/src/cdp/domains/target.zig +++ b/src/cdp/domains/target.zig @@ -101,7 +101,7 @@ fn createBrowserContext(cmd: anytype) !void { }); if (params) |p| { if (p.disposeOnDetach or p.proxyBypassList != null or p.originsWithUniversalNetworkAccess != null) { - log.warn(.cdp, "not implemented", .{ .feature = "Target.createBrowserContext: Not implemented param set" }); + log.warn(.not_implemented, "Target.createBrowserContext", .{ .disposeOnDetach = p.disposeOnDetach, .has_proxyBypassList = p.proxyBypassList != null, .has_originsWithUniversalNetworkAccess = p.originsWithUniversalNetworkAccess != null }); } }