From 8f9fbdbae68254600a9c73ab05f36146c975dba6 Mon Sep 17 00:00:00 2001 From: Maksim Sadym <69349599+sadym-chromium@users.noreply.github.com> Date: Tue, 2 Feb 2021 08:39:29 +0100 Subject: [PATCH] feat(chromium): roll Chromium to r843427 (#6797) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This corresponds to Chromium 89.0.4389.0. This roll includes: - Add `SameParty` attribute to cookies https://crrev.com/c/2598846 - Anchor `target=_blank` implies `rel=noopener` https://crrev.com/c/1630010 - Don’t expect ignored elements in the AXTree https://crrev.com/c/2505362 BREAKING CHANGE: The built-in `aria/` selector query handler doesn’t return ignored elements anymore. Issue: #6758 --- package.json | 2 +- src/revisions.ts | 2 +- test/ariaqueryhandler.spec.ts | 6 +++--- test/cookies.spec.ts | 11 +++++++++++ test/defaultbrowsercontext.spec.ts | 3 +++ test/page.spec.ts | 16 +++++++++++++++- test/worker.spec.ts | 2 +- versions.js | 1 + 8 files changed, 36 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 8b64a8cd91c..8bdd2960e4e 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "license": "Apache-2.0", "dependencies": { "debug": "^4.1.0", - "devtools-protocol": "0.0.818844", + "devtools-protocol": "0.0.842839", "extract-zip": "^2.0.0", "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.1", diff --git a/src/revisions.ts b/src/revisions.ts index 5e9169adb0c..eaeb33a134b 100644 --- a/src/revisions.ts +++ b/src/revisions.ts @@ -20,6 +20,6 @@ type Revisions = Readonly<{ }>; export const PUPPETEER_REVISIONS: Revisions = { - chromium: '818858', + chromium: '843427', firefox: 'latest', }; diff --git a/test/ariaqueryhandler.spec.ts b/test/ariaqueryhandler.spec.ts index 93e2a9f2334..576dedf2623 100644 --- a/test/ariaqueryhandler.spec.ts +++ b/test/ariaqueryhandler.spec.ts @@ -563,13 +563,13 @@ describeChromeOnly('AriaQueryHandler', () => { const { page } = getTestState(); const found = await page.$$('aria/[role="heading"]'); const ids = await getIds(found); - expect(ids).toEqual(['shown', 'hidden', 'node11', 'node13']); + expect(ids).toEqual(['shown', 'node11', 'node13']); }); - it('should find both ignored and unignored', async () => { + it('should not find ignored', async () => { const { page } = getTestState(); const found = await page.$$('aria/title'); const ids = await getIds(found); - expect(ids).toEqual(['shown', 'hidden']); + expect(ids).toEqual(['shown']); }); }); }); diff --git a/test/cookies.spec.ts b/test/cookies.spec.ts index 27edbd5ad81..29f4ad98f6f 100644 --- a/test/cookies.spec.ts +++ b/test/cookies.spec.ts @@ -43,6 +43,7 @@ describe('Cookie specs', () => { value: 'John Doe', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 16, httpOnly: false, @@ -99,6 +100,7 @@ describe('Cookie specs', () => { value: '1234', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 12, httpOnly: false, @@ -110,6 +112,7 @@ describe('Cookie specs', () => { value: 'John Doe', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 16, httpOnly: false, @@ -145,6 +148,7 @@ describe('Cookie specs', () => { value: 'tweets', domain: 'baz.com', path: '/', + sameParty: false, expires: -1, size: 11, httpOnly: false, @@ -156,6 +160,7 @@ describe('Cookie specs', () => { value: 'woofs', domain: 'foo.com', path: '/', + sameParty: false, expires: -1, size: 10, httpOnly: false, @@ -248,6 +253,7 @@ describe('Cookie specs', () => { value: '123456', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 14, httpOnly: false, @@ -271,6 +277,7 @@ describe('Cookie specs', () => { value: 'GRID', domain: 'localhost', path: '/grid.html', + sameParty: false, expires: -1, size: 14, httpOnly: false, @@ -376,6 +383,7 @@ describe('Cookie specs', () => { value: 'best', domain: 'www.example.com', path: '/', + sameParty: false, expires: -1, size: 18, httpOnly: false, @@ -414,6 +422,7 @@ describe('Cookie specs', () => { value: 'best', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 20, httpOnly: false, @@ -428,6 +437,7 @@ describe('Cookie specs', () => { value: 'worst', domain: '127.0.0.1', path: '/', + sameParty: false, expires: -1, size: 15, httpOnly: false, @@ -479,6 +489,7 @@ describe('Cookie specs', () => { value: 'best', domain: '127.0.0.1', path: '/', + sameParty: false, expires: -1, size: 24, httpOnly: false, diff --git a/test/defaultbrowsercontext.spec.ts b/test/defaultbrowsercontext.spec.ts index 01dec7f3f4a..bd695d30dff 100644 --- a/test/defaultbrowsercontext.spec.ts +++ b/test/defaultbrowsercontext.spec.ts @@ -37,6 +37,7 @@ describe('DefaultBrowserContext', function () { value: 'John Doe', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 16, httpOnly: false, @@ -62,6 +63,7 @@ describe('DefaultBrowserContext', function () { value: 'John Doe', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 16, httpOnly: false, @@ -93,6 +95,7 @@ describe('DefaultBrowserContext', function () { value: '1', domain: 'localhost', path: '/', + sameParty: false, expires: -1, size: 8, httpOnly: false, diff --git a/test/page.spec.ts b/test/page.spec.ts index 18a653e693c..b190518fcc7 100644 --- a/test/page.spec.ts +++ b/test/page.spec.ts @@ -176,7 +176,7 @@ describe('Page', function () { expect(await page.evaluate(() => !!window.opener)).toBe(false); expect(await popup.evaluate(() => !!window.opener)).toBe(false); }); - it('should work with clicking target=_blank', async () => { + it('should work with clicking target=_blank and without rel=opener', async () => { const { page, server } = getTestState(); await page.goto(server.EMPTY_PAGE); @@ -186,6 +186,20 @@ describe('Page', function () { page.click('a'), ]); expect(await page.evaluate(() => !!window.opener)).toBe(false); + expect(await popup.evaluate(() => !!window.opener)).toBe(false); + }); + it('should work with clicking target=_blank and with rel=opener', async () => { + const { page, server } = getTestState(); + + await page.goto(server.EMPTY_PAGE); + await page.setContent( + 'yo' + ); + const [popup] = await Promise.all([ + new Promise((x) => page.once('popup', x)), + page.click('a'), + ]); + expect(await page.evaluate(() => !!window.opener)).toBe(false); expect(await popup.evaluate(() => !!window.opener)).toBe(true); }); it('should work with fake-clicking target=_blank and rel=noopener', async () => { diff --git a/test/worker.spec.ts b/test/worker.spec.ts index 2c5827361b5..b4f81dbb8cf 100644 --- a/test/worker.spec.ts +++ b/test/worker.spec.ts @@ -79,7 +79,7 @@ describeFailsFirefox('Workers', function () { ]); expect(message.text()).toBe('1'); expect(message.location()).toEqual({ - url: 'data:text/javascript,console.log(1)', + url: '', lineNumber: 0, columnNumber: 8, }); diff --git a/versions.js b/versions.js index 003b3854dfd..36c4c886dbd 100644 --- a/versions.js +++ b/versions.js @@ -17,6 +17,7 @@ const versionsPerRelease = new Map([ // This is a mapping from Chromium version => Puppeteer version. // In Chromium roll patches, use 'NEXT' for the Puppeteer version. + ['89.0.4389.0', 'NEXT'], ['88.0.4298.0', 'v5.5.0'], ['87.0.4272.0', 'v5.4.0'], ['86.0.4240.0', 'v5.3.0'],