From 893a1f9e0ba5700e0f92b3684d66851bb508d1ee Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Wed, 17 Jul 2024 09:43:34 +0100 Subject: [PATCH] Add support for Ladybird --- shared/browsers.go | 2 +- shared/browsers_test.go | 2 ++ shared/product_spec.go | 2 ++ webapp/components/product-info.js | 5 +++-- webapp/components/test/wpt-amend-metadata.html | 1 + webapp/components/wpt-amend-metadata.js | 5 +++++ webapp/static/ladybird_64x64.png | Bin 0 -> 3477 bytes 7 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 webapp/static/ladybird_64x64.png diff --git a/shared/browsers.go b/shared/browsers.go index 0cc8d0e12fd..86b3c903082 100644 --- a/shared/browsers.go +++ b/shared/browsers.go @@ -14,7 +14,7 @@ var defaultBrowsers = []string{ // An extra list of known browsers. var extraBrowsers = []string{ - "android_webview", "chrome_android", "chrome_ios", "chromium", "deno", "epiphany", "firefox_android", "flow", "node.js", "servo", "uc", "wktr", "webkitgtk", + "android_webview", "chrome_android", "chrome_ios", "chromium", "deno", "epiphany", "firefox_android", "flow", "ladybird", "node.js", "servo", "uc", "wktr", "webkitgtk", } var allBrowsers mapset.Set diff --git a/shared/browsers_test.go b/shared/browsers_test.go index d74fb1b48c0..cd45d137415 100644 --- a/shared/browsers_test.go +++ b/shared/browsers_test.go @@ -27,6 +27,7 @@ func TestGetDefaultBrowserNames(t *testing.T) { assert.NotEqual(t, "epiphany", n) assert.NotEqual(t, "firefox_android", n) assert.NotEqual(t, "flow", n) + assert.NotEqual(t, "ladybird", n) assert.NotEqual(t, "node.js", n) assert.NotEqual(t, "servo", n) assert.NotEqual(t, "wktr", n) @@ -43,6 +44,7 @@ func TestIsBrowserName(t *testing.T) { assert.True(t, IsBrowserName("firefox")) assert.True(t, IsBrowserName("firefox_android")) assert.True(t, IsBrowserName("flow")) + assert.True(t, IsBrowserName("ladybird")) assert.True(t, IsBrowserName("node.js")) assert.True(t, IsBrowserName("safari")) assert.True(t, IsBrowserName("chrome_android")) diff --git a/shared/product_spec.go b/shared/product_spec.go index 530f3849fc5..ee8abe3e2dc 100644 --- a/shared/product_spec.go +++ b/shared/product_spec.go @@ -90,6 +90,8 @@ func (p ProductSpec) DisplayName() string { return "Firefox Android" case "flow": return "Flow" + case "ladybird": + return "Ladybird" case "node.js": return "Node.js" case "safari": diff --git a/webapp/components/product-info.js b/webapp/components/product-info.js index 1693aa0c627..dbd012b4319 100644 --- a/webapp/components/product-info.js +++ b/webapp/components/product-info.js @@ -16,6 +16,7 @@ const DisplayNames = (() => { m.set('deno', 'Deno'); m.set('firefox_android', 'Firefox Android'); m.set('flow', 'Flow'); + m.set('ladybird', 'Ladybird'); m.set('node.js', 'Node.js'); m.set('servo', 'Servo'); m.set('uc', 'UC Browser'); @@ -48,7 +49,7 @@ const versionPatterns = Object.freeze({ // The set of all browsers known to the wpt.fyi UI. const AllBrowserNames = Object.freeze(['android_webview', 'chrome_android', 'chrome_ios', 'chrome', - 'chromium', 'deno', 'edge', 'firefox_android', 'firefox', 'flow', 'node.js', 'safari', 'servo', 'webkitgtk', 'wktr']); + 'chromium', 'deno', 'edge', 'firefox_android', 'firefox', 'flow', 'ladybird', 'node.js', 'safari', 'servo', 'webkitgtk', 'wktr']); // The list of default browsers used in cases where the user has not otherwise // chosen a set of browsers (e.g. which browsers to show runs for). Stored as @@ -181,7 +182,7 @@ const ProductInfo = (superClass) => class extends superClass { // although it would be better to have some variant of the Firefox logo. return '/static/geckoview_64x64.png'; - } else if (name !== 'chromium' && name !== 'deno' && name !== 'flow' && name !== 'node.js' && name !== 'servo' && name !== 'wktr') { // Products without per-channel logos. + } else if (name !== 'chromium' && name !== 'deno' && name !== 'flow' && name !== 'ladybird' && name !== 'node.js' && name !== 'servo' && name !== 'wktr') { // Products without per-channel logos. let channel; const candidates = ['beta', 'dev', 'canary', 'nightly', 'preview']; for (const label of candidates) { diff --git a/webapp/components/test/wpt-amend-metadata.html b/webapp/components/test/wpt-amend-metadata.html index eaccf4d2db6..a8df2d544d6 100644 --- a/webapp/components/test/wpt-amend-metadata.html +++ b/webapp/components/test/wpt-amend-metadata.html @@ -165,6 +165,7 @@ expect(appFixture.getSearchURL('/a/b.html', 'wktr')).to.equal('https://bugs.webkit.org/buglist.cgi?quicksearch="/a/b"'); expect(appFixture.getSearchURL('/a/b.html', 'webkitgtk')).to.equal('https://bugs.webkit.org/buglist.cgi?quicksearch="/a/b"'); expect(appFixture.getSearchURL('/a/b.html', 'servo')).to.equal('https://github.com/servo/servo/issues?q="/a/b"'); + expect(appFixture.getSearchURL('/a/b.html', 'ladybird')).to.equal('https://github.com/LadybirdBrowser/ladybird/issues?q="/a/b"'); }); test('hasFileIssueURL', () => { expect(appFixture.hasFileIssueURL('')).to.be.true; diff --git a/webapp/components/wpt-amend-metadata.js b/webapp/components/wpt-amend-metadata.js index d7ee8bca01f..3e93896acb2 100644 --- a/webapp/components/wpt-amend-metadata.js +++ b/webapp/components/wpt-amend-metadata.js @@ -298,6 +298,7 @@ class AmendMetadata extends LoadingState(PathInfo(ProductInfo(PolymerElement))) 'deno', 'edge', 'firefox', + 'ladybird', 'node.js', 'safari', 'servo', @@ -326,6 +327,10 @@ class AmendMetadata extends LoadingState(PathInfo(ProductInfo(PolymerElement))) return `https://bugzilla.mozilla.org/buglist.cgi?quicksearch="${testName}"`; } + if (product === 'ladybird') { + return `https://github.com/LadybirdBrowser/ladybird/issues?q="${testName}"`; + } + if (product === 'node.js') { return `https://github.com/nodejs/node/issues?q="${testName}"`; } diff --git a/webapp/static/ladybird_64x64.png b/webapp/static/ladybird_64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..ad0826f2e646cf3c4a14df0630d5aaa36f611015 GIT binary patch literal 3477 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