feat(chromium): roll Chromium to r843427 (#6797)

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
This commit is contained in:
Maksim Sadym 2021-02-02 08:39:29 +01:00 committed by Mathias Bynens
parent c49d10970f
commit 8f9fbdbae6
8 changed files with 36 additions and 7 deletions

View File

@ -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",

View File

@ -20,6 +20,6 @@ type Revisions = Readonly<{
}>;
export const PUPPETEER_REVISIONS: Revisions = {
chromium: '818858',
chromium: '843427',
firefox: 'latest',
};

View File

@ -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']);
});
});
});

View File

@ -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,

View File

@ -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,

View File

@ -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(
'<a target=_blank rel=opener href="/one-style.html">yo</a>'
);
const [popup] = await Promise.all([
new Promise<Page>((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 () => {

View File

@ -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,
});

View File

@ -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'],