Commits:
-
30a4fd84
by Pier Angelo Vendrame at 2025-11-05T16:17:44+01:00
fixup! BB 43525: Skip Remote Settings for search engine customization.
MB 483: Ship DDG without AI as a bundled search engine.
MB 487: Use custom order for search engines.
-
eabb9ec1
by Pier Angelo Vendrame at 2025-11-05T16:17:45+01:00
fixup! TB 42891: Set the bundled search engine for Tor Browser.
MB 487: Use custom order for search engines.
3 changed files:
Changes:
toolkit/components/search/content/base-browser-search-engine-icons.json
| ... |
... |
@@ -2,6 +2,9 @@ |
|
2
|
2
|
"ddg": [
|
|
3
|
3
|
{ "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 }
|
|
4
|
4
|
],
|
|
|
5
|
+ "ddg-noai": [
|
|
|
6
|
+ { "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 }
|
|
|
7
|
+ ],
|
|
5
|
8
|
"ddg-onion": [
|
|
6
|
9
|
{ "url": "chrome://global/content/search/duckduckgo.ico", "imageSize": 32 }
|
|
7
|
10
|
],
|
toolkit/components/search/content/base-browser-search-engines.json
| ... |
... |
@@ -17,6 +17,24 @@ |
|
17
|
17
|
"recordType": "engine",
|
|
18
|
18
|
"variants": [{ "environment": { "allRegionsAndLocales": true } }]
|
|
19
|
19
|
},
|
|
|
20
|
+ {
|
|
|
21
|
+ "base": {
|
|
|
22
|
+ "aliases": ["ddgnoai"],
|
|
|
23
|
+ "classification": "general",
|
|
|
24
|
+ "name": "DuckDuckGo (no AI)",
|
|
|
25
|
+ "urls": {
|
|
|
26
|
+ "search": {
|
|
|
27
|
+ "base": "https://noai.duckduckgo.com/",
|
|
|
28
|
+ "params": [],
|
|
|
29
|
+ "searchTermParamName": "q"
|
|
|
30
|
+ }
|
|
|
31
|
+ }
|
|
|
32
|
+ },
|
|
|
33
|
+ "id": "91687f02-56dd-4fef-ba26-bf139dff3166",
|
|
|
34
|
+ "identifier": "ddg-noai",
|
|
|
35
|
+ "recordType": "engine",
|
|
|
36
|
+ "variants": [{ "environment": { "allRegionsAndLocales": true } }]
|
|
|
37
|
+ },
|
|
20
|
38
|
{
|
|
21
|
39
|
"base": {
|
|
22
|
40
|
"aliases": ["ddgonion"],
|
| ... |
... |
@@ -93,5 +111,21 @@ |
|
93
|
111
|
"recordType": "defaultEngines",
|
|
94
|
112
|
"globalDefault": "ddg",
|
|
95
|
113
|
"globalDefaultPrivate": "ddg"
|
|
|
114
|
+ },
|
|
|
115
|
+ {
|
|
|
116
|
+ "recordType": "engineOrders",
|
|
|
117
|
+ "orders": [
|
|
|
118
|
+ {
|
|
|
119
|
+ "environment": { "allRegionsAndLocales": true },
|
|
|
120
|
+ "order": [
|
|
|
121
|
+ "ddg",
|
|
|
122
|
+ "ddg-noai",
|
|
|
123
|
+ "ddg-onion",
|
|
|
124
|
+ "startpage",
|
|
|
125
|
+ "startpage-onion",
|
|
|
126
|
+ "wikipedia"
|
|
|
127
|
+ ]
|
|
|
128
|
+ }
|
|
|
129
|
+ ]
|
|
96
|
130
|
}
|
|
97
|
131
|
] |
toolkit/components/search/tests/xpcshell/test_base_browser.js
| ... |
... |
@@ -4,12 +4,15 @@ |
|
4
|
4
|
/**
|
|
5
|
5
|
* This tests the SearchService to check our override of the remote settings is
|
|
6
|
6
|
* working as expected.
|
|
|
7
|
+ *
|
|
|
8
|
+ * When adding new engines, it should be enough to change expectedURLs below.
|
|
7
|
9
|
*/
|
|
8
|
10
|
|
|
9
|
11
|
"use strict";
|
|
10
|
12
|
|
|
11
|
13
|
const expectedURLs = {
|
|
12
|
14
|
ddg: "https://duckduckgo.com/?q=test",
|
|
|
15
|
+ "ddg-noai": "https://noai.duckduckgo.com/?q=test",
|
|
13
|
16
|
"ddg-onion":
|
|
14
|
17
|
"https://duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion/?q=test",
|
|
15
|
18
|
startpage: "https://www.startpage.com/sp/search?q=test",
|
| ... |
... |
@@ -50,3 +53,11 @@ add_task(function test_checkSearchURLs() { |
|
50
|
53
|
Assert.equal(foundUrl, url, `The URL of ${engine.name} is not altered.`);
|
|
51
|
54
|
}
|
|
52
|
55
|
});
|
|
|
56
|
+
|
|
|
57
|
+add_task(async function test_iconsDoesNotFail() {
|
|
|
58
|
+ for (const id of Object.keys(expectedURLs)) {
|
|
|
59
|
+ const engine = Services.search.getEngineById(id);
|
|
|
60
|
+ // No need to assert anything, as in case of error this method should throw.
|
|
|
61
|
+ await engine.getIconURL();
|
|
|
62
|
+ }
|
|
|
63
|
+}); |
|