feat(webkit): roll to r2108 (#33710)

Co-authored-by: Yury Semikhatsky <yurys@chromium.org>
This commit is contained in:
Max Schmitt 2024-11-21 23:42:21 +01:00 committed by GitHub
parent c2a8375ef2
commit 5da0b94357
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 15 additions and 8 deletions

View file

@ -33,9 +33,11 @@
}, },
{ {
"name": "webkit", "name": "webkit",
"revision": "2105", "revision": "2108",
"installByDefault": true, "installByDefault": true,
"revisionOverrides": { "revisionOverrides": {
"debian11-x64": "2105",
"debian11-arm64": "2105",
"mac10.14": "1446", "mac10.14": "1446",
"mac10.15": "1616", "mac10.15": "1616",
"mac11": "1816", "mac11": "1816",

View file

@ -329,7 +329,7 @@ export const deps: any = {
'libgstreamer-gl1.0-0', 'libgstreamer-gl1.0-0',
'libgstreamer-plugins-base1.0-0', 'libgstreamer-plugins-base1.0-0',
'libgstreamer1.0-0', 'libgstreamer1.0-0',
'libgtk-3-0', 'libgtk-4-1',
'libgudev-1.0-0', 'libgudev-1.0-0',
'libharfbuzz-icu0', 'libharfbuzz-icu0',
'libharfbuzz0b', 'libharfbuzz0b',
@ -400,6 +400,7 @@ export const deps: any = {
'libgsttag-1.0.so.0': 'libgstreamer-plugins-base1.0-0', 'libgsttag-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
'libgstvideo-1.0.so.0': 'libgstreamer-plugins-base1.0-0', 'libgstvideo-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
'libgtk-3.so.0': 'libgtk-3-0', 'libgtk-3.so.0': 'libgtk-3-0',
'libgtk-4.so.1': 'libgtk-4-1',
'libgudev-1.0.so.0': 'libgudev-1.0-0', 'libgudev-1.0.so.0': 'libgudev-1.0-0',
'libharfbuzz-icu.so.0': 'libharfbuzz-icu0', 'libharfbuzz-icu.so.0': 'libharfbuzz-icu0',
'libharfbuzz.so.0': 'libharfbuzz0b', 'libharfbuzz.so.0': 'libharfbuzz0b',
@ -544,7 +545,7 @@ export const deps: any = {
'libgstreamer-plugins-bad1.0-0', 'libgstreamer-plugins-bad1.0-0',
'libgstreamer-plugins-base1.0-0', 'libgstreamer-plugins-base1.0-0',
'libgstreamer1.0-0', 'libgstreamer1.0-0',
'libgtk-3-0t64', 'libgtk-4-1',
'libharfbuzz-icu0', 'libharfbuzz-icu0',
'libharfbuzz0b', 'libharfbuzz0b',
'libhyphen0', 'libhyphen0',
@ -621,6 +622,7 @@ export const deps: any = {
'libgsttag-1.0.so.0': 'libgstreamer-plugins-base1.0-0', 'libgsttag-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
'libgstvideo-1.0.so.0': 'libgstreamer-plugins-base1.0-0', 'libgstvideo-1.0.so.0': 'libgstreamer-plugins-base1.0-0',
'libgtk-3.so.0': 'libgtk-3-0t64', 'libgtk-3.so.0': 'libgtk-3-0t64',
'libgtk-4.so.1': 'libgtk-4-1',
'libharfbuzz-icu.so.0': 'libharfbuzz-icu0', 'libharfbuzz-icu.so.0': 'libharfbuzz-icu0',
'libharfbuzz.so.0': 'libharfbuzz0b', 'libharfbuzz.so.0': 'libharfbuzz0b',
'libhyphen.so.0': 'libhyphen0', 'libhyphen.so.0': 'libhyphen0',
@ -967,7 +969,7 @@ export const deps: any = {
'libgstreamer-gl1.0-0', 'libgstreamer-gl1.0-0',
'libgstreamer-plugins-base1.0-0', 'libgstreamer-plugins-base1.0-0',
'libgstreamer1.0-0', 'libgstreamer1.0-0',
'libgtk-3-0', 'libgtk-4-1',
'libgudev-1.0-0', 'libgudev-1.0-0',
'libharfbuzz-icu0', 'libharfbuzz-icu0',
'libharfbuzz0b', 'libharfbuzz0b',
@ -1028,6 +1030,7 @@ export const deps: any = {
'libXfixes.so.3': 'libxfixes3', 'libXfixes.so.3': 'libxfixes3',
'libxkbcommon.so.0': 'libxkbcommon0', 'libxkbcommon.so.0': 'libxkbcommon0',
'libXrandr.so.2': 'libxrandr2', 'libXrandr.so.2': 'libxrandr2',
'libgtk-4.so.1': 'libgtk-4-1',
} }
}, },
}; };

View file

@ -43,7 +43,7 @@ export class WebKit extends BrowserType {
override doRewriteStartupLog(error: ProtocolError): ProtocolError { override doRewriteStartupLog(error: ProtocolError): ProtocolError {
if (!error.logs) if (!error.logs)
return error; return error;
if (error.logs.includes('cannot open display')) if (error.logs.includes('Failed to open display') || error.logs.includes('cannot open display'))
error.logs = '\n' + wrapInASCIIBox(kNoXServerRunningError, 1); error.logs = '\n' + wrapInASCIIBox(kNoXServerRunningError, 1);
return error; return error;
} }

View file

@ -101,8 +101,9 @@ it('should change document.activeElement', async ({ page, server }) => {
expect(active).toEqual(['INPUT', 'TEXTAREA']); expect(active).toEqual(['INPUT', 'TEXTAREA']);
}); });
it('should not affect screenshots', async ({ page, server, browserName, headless, isWindows, isHeadlessShell }) => { it('should not affect screenshots', async ({ page, server, browserName, headless, isWindows, isLinux, isHeadlessShell }) => {
it.skip(browserName === 'webkit' && isWindows && !headless, 'WebKit/Windows/headed has a larger minimal viewport. See https://github.com/microsoft/playwright/issues/22616'); it.skip(browserName === 'webkit' && isWindows && !headless, 'WebKit/Windows/headed has a larger minimal viewport. See https://github.com/microsoft/playwright/issues/22616');
it.skip(browserName === 'webkit' && isLinux && !headless, 'WebKit headed has a larger minimal viewport on gtk4.');
it.skip(browserName === 'firefox' && !headless, 'Firefox headed produces a different image'); it.skip(browserName === 'firefox' && !headless, 'Firefox headed produces a different image');
it.fixme(browserName === 'chromium' && !isHeadlessShell, 'https://github.com/microsoft/playwright/issues/33330'); it.fixme(browserName === 'chromium' && !isHeadlessShell, 'https://github.com/microsoft/playwright/issues/33330');

View file

@ -45,7 +45,7 @@ it.describe('element screenshot', () => {
expect(screenshot).toMatchSnapshot('screenshot-element-bounding-box.png'); expect(screenshot).toMatchSnapshot('screenshot-element-bounding-box.png');
}); });
it('should take into account padding and border', async ({ page }) => { it('should take into account padding and border', async ({ page, isLinux, headless, browserName }) => {
await page.setViewportSize({ width: 500, height: 500 }); await page.setViewportSize({ width: 500, height: 500 });
await page.setContent(` await page.setContent(`
<div style="height: 14px">oooo</div> <div style="height: 14px">oooo</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 179 B

After

Width:  |  Height:  |  Size: 332 B

View file

@ -280,8 +280,9 @@ it.describe('page screenshot', () => {
expect(screenshot).toMatchSnapshot('screenshot-clip-odd-size.png'); expect(screenshot).toMatchSnapshot('screenshot-clip-odd-size.png');
}); });
it('should work for canvas', async ({ page, server, isElectron, isMac, isLinux, macVersion, browserName, isHeadlessShell }) => { it('should work for canvas', async ({ page, server, isElectron, isMac, isLinux, macVersion, browserName, isHeadlessShell, headless }) => {
it.fixme(isElectron && isMac, 'Fails on the bots'); it.fixme(isElectron && isMac, 'Fails on the bots');
it.fixme(browserName === 'webkit' && isLinux && !headless, 'WebKit has slightly different corners on gtk4.');
await page.setViewportSize({ width: 500, height: 500 }); await page.setViewportSize({ width: 500, height: 500 });
await page.goto(server.PREFIX + '/screenshots/canvas.html'); await page.goto(server.PREFIX + '/screenshots/canvas.html');
const screenshot = await page.screenshot(); const screenshot = await page.screenshot();