diff --git a/src/cdp/domains/network.zig b/src/cdp/domains/network.zig index c04ee33b..dab07df8 100644 --- a/src/cdp/domains/network.zig +++ b/src/cdp/domains/network.zig @@ -117,7 +117,12 @@ fn deleteCookies(cmd: anytype) !void { path: ?[]const u8 = null, partitionKey: ?CdpStorage.CookiePartitionKey = null, })) orelse return error.InvalidParams; - if (params.partitionKey != null) return error.NotImplemented; + // Silently ignore partitionKey since we don't support partitioned cookies (CHIPS). + // This allows Puppeteer's page.setCookie() to work, which sends deleteCookies + // with partitionKey as part of its cookie-setting workflow. + if (params.partitionKey != null) { + log.debug(.network, "partitionKey ignored in deleteCookies", .{}); + } const bc = cmd.browser_context orelse return error.BrowserContextNotLoaded; const cookies = &bc.session.cookie_jar.cookies; diff --git a/src/cdp/domains/storage.zig b/src/cdp/domains/storage.zig index c7546ad6..d772f736 100644 --- a/src/cdp/domains/storage.zig +++ b/src/cdp/domains/storage.zig @@ -128,7 +128,15 @@ pub const CdpCookie = struct { }; pub fn setCdpCookie(cookie_jar: *CookieJar, param: CdpCookie) !void { - if (param.priority != .Medium or param.sameParty != null or param.sourceScheme != null or param.partitionKey != null) { + // Silently ignore partitionKey since we don't support partitioned cookies (CHIPS). + // This allows Puppeteer's page.setCookie() to work, which may send cookies with + // partitionKey as part of its cookie-setting workflow. + if (param.partitionKey != null) { + const log = @import("../../log.zig"); + log.debug(.storage, "partitionKey ignored in setCdpCookie", .{}); + } + // Still reject unsupported features + if (param.priority != .Medium or param.sameParty != null or param.sourceScheme != null) { return error.NotImplemented; }