feat(firefox): roll Firefox & Firefox Beta (#20670)

Fixes #19685 
Fixes #20093
This commit is contained in:
Andrey Lushnikov 2023-02-06 14:08:32 -08:00 committed by GitHub
parent 86dd29a15e
commit 1120b82ba2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 5 deletions

View file

@ -21,13 +21,13 @@
}, },
{ {
"name": "firefox", "name": "firefox",
"revision": "1375", "revision": "1376",
"installByDefault": true, "installByDefault": true,
"browserVersion": "109.0" "browserVersion": "109.0"
}, },
{ {
"name": "firefox-beta", "name": "firefox-beta",
"revision": "1377", "revision": "1378",
"installByDefault": false, "installByDefault": false,
"browserVersion": "110.0b7" "browserVersion": "110.0b7"
}, },

View file

@ -649,7 +649,7 @@ export module Protocol {
}; };
export type dispatchTapEventReturnValue = void; export type dispatchTapEventReturnValue = void;
export type dispatchMouseEventParameters = { export type dispatchMouseEventParameters = {
type: string; type: ("mousedown"|"mousemove"|"mouseup");
button: number; button: number;
x: number; x: number;
y: number; y: number;

10
tests/assets/counter.html Normal file
View file

@ -0,0 +1,10 @@
<!DOCTYPE html>
<button>increment</button>
<h1>count: 0</h1>
<script>
window.count = 0;
document.querySelector('button').addEventListener('click', () => {
++window.count;
document.querySelector('h1').textContent = `count: ${window.count}`;
});
</script>

View file

@ -38,6 +38,23 @@ it('should click button inside frameset', async ({ page, server }) => {
expect(await frame.evaluate('result')).toBe('Clicked'); expect(await frame.evaluate('result')).toBe('Clicked');
}); });
it('should issue clicks in parallel in page and popup', async ({ page, server }) => {
await page.goto(server.PREFIX + '/counter.html');
const [popup] = await Promise.all([
page.waitForEvent('popup'),
page.evaluate(() => window.open('/counter.html')),
]);
const clickPromises = [];
for (let i = 0; i < 21; ++i) {
if (i % 3 === 0)
clickPromises.push(popup.locator('button').click());
else
clickPromises.push(page.locator('button').click());
}
await Promise.all(clickPromises);
expect(await page.evaluate(() => window['count'])).toBe(14);
expect(await popup.evaluate(() => window['count'])).toBe(7);
});
it('should click svg', async ({ page }) => { it('should click svg', async ({ page }) => {
await page.setContent(` await page.setContent(`
@ -1012,7 +1029,6 @@ it('should click in a nested transformed iframe', async ({ page }) => {
it('ensure events are dispatched in the individual tasks', async ({ page, browserName }) => { it('ensure events are dispatched in the individual tasks', async ({ page, browserName }) => {
it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/19685' }); it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/19685' });
it.fixme(browserName === 'firefox');
await page.setContent(` await page.setContent(`
<div id="outer" style="background: #d4d4d4; width: 60px; height: 60px;"> <div id="outer" style="background: #d4d4d4; width: 60px; height: 60px;">
<div id="inner" style="background: #adadad; width: 46px; height: 46px;"></div> <div id="inner" style="background: #adadad; width: 46px; height: 46px;"></div>
@ -1052,4 +1068,4 @@ it('ensure events are dispatched in the individual tasks', async ({ page, browse
'timeout inner', 'timeout inner',
'timeout outer', 'timeout outer',
]); ]);
}); });