From 8989da6c16d61fc9fb5ac5bbb64eecf14805a60c Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Mon, 2 Dec 2019 16:48:38 -0800 Subject: [PATCH] fix(cookies): follow up to make all platform tests pass --- src/chromium/BrowserContext.ts | 5 +++-- src/firefox/Browser.ts | 6 +++++- src/network.ts | 3 ++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/chromium/BrowserContext.ts b/src/chromium/BrowserContext.ts index 5f0ffc6c62..a0c77788b0 100644 --- a/src/chromium/BrowserContext.ts +++ b/src/chromium/BrowserContext.ts @@ -69,8 +69,9 @@ export class BrowserContext extends EventEmitter { async cookies(...urls: string[]): Promise { const { cookies } = await this._browser._client.send('Storage.getCookies', { browserContextId: this._id || undefined }); return filterCookies(cookies.map(c => { - const copy = { sameSite: 'None', ...c, size: undefined } as NetworkCookie; - return copy; + const copy: any = { sameSite: 'None', ...c }; + delete copy.size; + return copy as NetworkCookie; }), urls); } diff --git a/src/firefox/Browser.ts b/src/firefox/Browser.ts index 0c8f6e122e..a63f5092e8 100644 --- a/src/firefox/Browser.ts +++ b/src/firefox/Browser.ts @@ -294,7 +294,11 @@ export class BrowserContext extends EventEmitter { const { cookies } = await this._connection.send('Browser.getCookies', { browserContextId: this._browserContextId || undefined }); - return filterCookies(cookies, urls); + return filterCookies(cookies, urls).map(c => { + const copy: any = { ... c }; + delete copy.size; + return copy as NetworkCookie; + }); } async clearCookies() { diff --git a/src/network.ts b/src/network.ts index 456bebc0ad..27c6707b5c 100644 --- a/src/network.ts +++ b/src/network.ts @@ -3,6 +3,7 @@ import * as frames from './frames'; import { assert } from './helper'; +import { NetworkManager } from './chromium/NetworkManager'; export type NetworkCookie = { name: string, @@ -28,7 +29,7 @@ export type SetNetworkCookieParam = { sameSite?: 'Strict' | 'Lax' | 'None' }; -export function filterCookies(cookies: NetworkCookie[], urls: string[]) { +export function filterCookies(cookies: NetworkCookie[], urls: string[]): NetworkCookie[] { const parsedURLs = urls.map(s => new URL(s)); // Chromiums's cookies are missing sameSite when it is 'None' return cookies.filter(c => {