From ecc220a0503c4a771f3bcd1ee64d36aac4b66a24 Mon Sep 17 00:00:00 2001 From: Alex Kontos Date: Thu, 14 Jul 2022 14:25:53 +0100 Subject: [PATCH] feat: add custom search engines --- browser/components/search/jar.mn | 2 +- .../search/AppProvidedSearchEngine.sys.mjs | 69 ++- .../components/search/SearchService.sys.mjs | 20 +- waterfox/browser/components/moz.build | 1 + .../content/BrowserSearchEngineIcons.json | 10 + .../search/content/BrowserSearchEngines.json | 402 ++++++++++++++++++ .../search/extensions/bing/favicon.ico | Bin 0 -> 4286 bytes .../search/extensions/ddg/favicon.ico | Bin 0 -> 5430 bytes .../search/extensions/ecosia/favicon.ico | Bin 0 -> 15086 bytes .../search/extensions/google/favicon.ico | Bin 0 -> 5430 bytes .../search/extensions/mojeek/favicon.ico | Bin 0 -> 4414 bytes .../search/extensions/qwant/favicon.ico | Bin 0 -> 9662 bytes .../search/extensions/startpage/favicon.ico | Bin 0 -> 183602 bytes .../search/extensions/wps/favicon.svg | 29 ++ waterfox/browser/components/search/jar.mn | 8 + waterfox/browser/components/search/moz.build | 7 + 16 files changed, 497 insertions(+), 51 deletions(-) create mode 100644 waterfox/browser/components/search/content/BrowserSearchEngineIcons.json create mode 100644 waterfox/browser/components/search/content/BrowserSearchEngines.json create mode 100644 waterfox/browser/components/search/extensions/bing/favicon.ico create mode 100644 waterfox/browser/components/search/extensions/ddg/favicon.ico create mode 100644 waterfox/browser/components/search/extensions/ecosia/favicon.ico create mode 100644 waterfox/browser/components/search/extensions/google/favicon.ico create mode 100644 waterfox/browser/components/search/extensions/mojeek/favicon.ico create mode 100644 waterfox/browser/components/search/extensions/qwant/favicon.ico create mode 100644 waterfox/browser/components/search/extensions/startpage/favicon.ico create mode 100644 waterfox/browser/components/search/extensions/wps/favicon.svg create mode 100644 waterfox/browser/components/search/jar.mn create mode 100644 waterfox/browser/components/search/moz.build diff --git a/browser/components/search/jar.mn b/browser/components/search/jar.mn index 8fb17f801455..91ee00801034 100644 --- a/browser/components/search/jar.mn +++ b/browser/components/search/jar.mn @@ -11,6 +11,6 @@ browser.jar: content/browser/contentSearchUI.js (content/contentSearchUI.js) content/browser/contentSearchHandoffUI.js (content/contentSearchHandoffUI.js) content/browser/contentSearchUI.css (content/contentSearchUI.css) - search-extensions/ (extensions/**) +# search-extensions/ (extensions/**) % resource search-extensions %search-extensions/ contentaccessible=yes diff --git a/toolkit/components/search/AppProvidedSearchEngine.sys.mjs b/toolkit/components/search/AppProvidedSearchEngine.sys.mjs index 32e2e54244cc..933f3f6137a2 100644 --- a/toolkit/components/search/AppProvidedSearchEngine.sys.mjs +++ b/toolkit/components/search/AppProvidedSearchEngine.sys.mjs @@ -115,11 +115,13 @@ class IconHandler { if (!this.#iconMap) { await this.#buildIconMap(); } - - let iconList = this.#iconMap.get(this.getKey(engineIdentifier)) || []; - return iconList.filter(r => - this.#identifierMatches(engineIdentifier, r.engineIdentifiers) - ); + // If #buildIconMap could have resulted in #iconMap being null + if (!this.#iconMap) { + console.warn("Icon map is not available."); + return []; + } + // Get the array of icon objects for the engine, or an empty array if not found. + return this.#iconMap.get(engineIdentifier) || []; } /** @@ -240,25 +242,20 @@ class IconHandler { async #buildIconMap() { let iconList = []; try { - iconList = await this.#iconCollection.get(); + this.#iconMap = new Map( + await ( + await fetch( + "chrome://browser/content/search/BrowserSearchEngineIcons.json" + ) + ).json() + ); } catch (ex) { console.error(ex); + this.#iconMap = null; } - if (!iconList.length) { + if (!this.#iconMap) { console.error("Failed to obtain search engine icon list records"); } - - this.#iconMap = new Map(); - for (let record of iconList) { - let keys = new Set(record.engineIdentifiers.map(this.getKey)); - for (let key of keys) { - if (this.#iconMap.has(key)) { - this.#iconMap.get(key).push(record); - } else { - this.#iconMap.set(key, [record]); - } - } - } } /** @@ -561,27 +558,29 @@ export class AppProvidedSearchEngine extends SearchEngine { * A promise that resolves to the URL of the icon. */ async getIconURL(preferredWidth) { - // XPCOM interfaces pass optional number parameters as 0. preferredWidth ||= 16; - let availableRecords = + // This call should return a string (the icon URL) if the engineId is in your JSON, + // or undefined if not found or if #iconMap failed to build. + const iconURLString = await AppProvidedSearchEngine.iconHandler.getAvailableRecords(this.id); - if (!availableRecords.length) { - console.warn("No icon found for", this.id); + + if (typeof iconURLString === "string") { + // We have a direct URL string. + // The #blobURLPromises cache was keyed by actual image width. + // Since we only get one URL directly, we can use preferredWidth as the cache key. + if (this.#blobURLPromises.has(preferredWidth)) { + return this.#blobURLPromises.get(preferredWidth); + } + // Store and return the promise for this direct URL. + const promise = Promise.resolve(iconURLString); + this.#blobURLPromises.set(preferredWidth, promise); + return promise; + } else { + // No specific icon URL found from the JSON-backed map for this engine. + console.warn(`No icon URL string found for engine ${this.id} via IconHandler.getAvailableRecords.`); return null; } - - let availableSizes = availableRecords.map(r => r.imageSize); - let width = lazy.SearchUtils.chooseIconSize(preferredWidth, availableSizes); - - if (this.#blobURLPromises.has(width)) { - return this.#blobURLPromises.get(width); - } - - let record = availableRecords.find(r => r.imageSize == width); - let promise = AppProvidedSearchEngine.iconHandler.createIconURL(record); - this.#blobURLPromises.set(width, promise); - return promise; } /** diff --git a/toolkit/components/search/SearchService.sys.mjs b/toolkit/components/search/SearchService.sys.mjs index aca95f0acb02..9a6dafbfbe62 100644 --- a/toolkit/components/search/SearchService.sys.mjs +++ b/toolkit/components/search/SearchService.sys.mjs @@ -2631,21 +2631,11 @@ export class SearchService { // This is prefixed with _ rather than # because it is // called in test_remove_engine_notification_box.js async _fetchEngineSelectorEngines() { - let searchEngineSelectorProperties = { - locale: Services.locale.appLocaleAsBCP47, - region: lazy.Region.home || "unknown", - channel: lazy.SearchUtils.MODIFIED_APP_CHANNEL, - experiment: this._experimentPrefValue, - distroID: lazy.SearchUtils.distroID ?? "", - }; - - for (let [key, value] of Object.entries(searchEngineSelectorProperties)) { - this._settings.setMetaDataAttribute(key, value); - } - - return this.#engineSelector.fetchEngineConfiguration( - searchEngineSelectorProperties - ); + const engines = await ( + await fetch("chrome://browser/content/search/BrowserSearchEngines.json") + ).json(); + // MODIFICATION: Use the correct property names appDefaultEngineId and appPrivateDefaultEngineId. + return { engines, appDefaultEngineId: "ecosia", appPrivateDefaultEngineId: "ecosia" }; } #setDefaultFromSelector(refinedConfig) { diff --git a/waterfox/browser/components/moz.build b/waterfox/browser/components/moz.build index d01274a021a3..8d081221a2dd 100644 --- a/waterfox/browser/components/moz.build +++ b/waterfox/browser/components/moz.build @@ -11,6 +11,7 @@ DIRS += [ "addonstores", "preferences", "privatetab", + "search", "statusbar", "tabfeatures", "uicustomizations", diff --git a/waterfox/browser/components/search/content/BrowserSearchEngineIcons.json b/waterfox/browser/components/search/content/BrowserSearchEngineIcons.json new file mode 100644 index 000000000000..d0c17c5514df --- /dev/null +++ b/waterfox/browser/components/search/content/BrowserSearchEngineIcons.json @@ -0,0 +1,10 @@ +[ + ["bing", "chrome://browser/content/search/bing/favicon.ico"], + ["ddg", "chrome://browser/content/search/ddg/favicon.ico"], + ["ecosia", "chrome://browser/content/search/ecosia/favicon.ico"], + ["google", "chrome://browser/content/search/google/favicon.ico"], + ["mojeek", "chrome://browser/content/search/mojeek/favicon.ico"], + ["qwant", "chrome://browser/content/search/qwant/favicon.ico"], + ["startpage", "chrome://browser/content/search/startpage/favicon.ico"], + ["wps", "chrome://browser/content/search/wps/favicon.svg"] +] diff --git a/waterfox/browser/components/search/content/BrowserSearchEngines.json b/waterfox/browser/components/search/content/BrowserSearchEngines.json new file mode 100644 index 000000000000..6336362f88ea --- /dev/null +++ b/waterfox/browser/components/search/content/BrowserSearchEngines.json @@ -0,0 +1,402 @@ +[ + { + "aliases": [ + "bing", + "b" + ], + "name": "Bing", + "urls": { + "search": { + "base": "https://www.bing.com/search", + "params": [ + { + "name": "PC", + "value": "IS45" + }, + { + "name": "PTAG", + "value": "SYS1000000" + } + ], + "searchTermParamName": "q" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "2b86db12-a65d-4cdc-84f8-cdcf705ad5ca", + "identifier": "bing", + "recordType": "engine", + "variants": [] + }, + { + "aliases": [ + "duckduckgo", + "ddg" + ], + "name": "DuckDuckGo", + "urls": { + "search": { + "base": "https://duckduckgo.com/", + "params": [ + { + "name": "t", + "value": "waterfox" + } + ], + "searchTermParamName": "q" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "c8ef2865-c592-4eea-8e13-abdefc4e586d", + "identifier": "ddg", + "recordType": "engine", + "variants": [] + }, + { + "aliases": [ + "ecosia", + "e" + ], + "name": "Ecosia", + "urls": { + "search": { + "base": "https://www.ecosia.org/search", + "params": [ + { + "name": "tt", + "value": "57226k1p" + } + ], + "searchTermParamName": "q" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "6e24cbe0-e421-4462-ad7d-197db4cde98f", + "identifier": "ecosia", + "recordType": "engine", + "variants": [] + }, + { + "aliases": [ + "google", + "g" + ], + "name": "Google", + "urls": { + "search": { + "base": "https://www.google.com/search", + "params": [], + "searchTermParamName": "q" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "cc42ee69-382f-44b9-9222-980755a6849f", + "identifier": "google", + "recordType": "engine", + "variants": [] + }, + { + "aliases": [ + "mojeek", + "m" + ], + "name": "Mojeek", + "urls": { + "search": { + "base": "https://www.mojeek.com/search", + "searchTermParamName": "q" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "db59d254-ecf4-42a1-b15c-63563debb60a", + "identifier": "mojeek", + "recordType": "engine", + "variants": [] + }, + { + "aliases": [ + "qwant", + "q" + ], + "name": "Qwant", + "urls": { + "search": { + "base": "https://www.qwant.com/", + "params": [], + "searchTermParamName": "q" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "d7e41317-0461-4801-9ebc-fa4de57dcd57", + "identifier": "qwant", + "recordType": "engine", + "variants": [] + }, + { + "aliases": [ + "startpage", + "sp" + ], + "name": "Startpage", + "urls": { + "search": { + "base": "https://www.startpage.com/sp/search", + "method": "POST", + "params": [ + { + "name": "segment", + "value": "startpage.waterfox.1" + } + ], + "searchTermParamName": "query" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "7debf7f1-bac9-4585-b94e-cce2a4eecacc", + "identifier": "startpage", + "recordType": "engine", + "variants": [] + }, + { + "aliases": [ + "wps", + "w" + ], + "name": "Waterfox Private Search", + "urls": { + "search": { + "base": "https://search.waterfox.net/search", + "params": [], + "searchTermParamName": "q" + }, + "suggestions": { + "base": "https://www.google.com/complete/search", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "experimentConfig": "search_rich_suggestions", + "name": "channel" + } + ], + "searchTermParamName": "q" + }, + "trending": { + "base": "https://www.google.com/complete/search", + "method": "GET", + "params": [ + { + "name": "client", + "value": "firefox" + }, + { + "name": "channel", + "value": "ftr" + } + ], + "searchTermParamName": "q" + } + }, + "id": "9b2df7d1-77d2-43e8-b20c-6b6ae4b6844b", + "identifier": "wps", + "recordType": "engine", + "variants": [] + } +] diff --git a/waterfox/browser/components/search/extensions/bing/favicon.ico b/waterfox/browser/components/search/extensions/bing/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..fdc021cfebd1341e379d891a8218f4d299def273 GIT binary patch literal 4286 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 Qa__7o(xM!7(FSe51zX*U-2eap literal 0 HcmV?d00001 diff --git a/waterfox/browser/components/search/extensions/google/favicon.ico b/waterfox/browser/components/search/extensions/google/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..82339b3b1dbbcf4550b737faf99c7774196fb8cb GIT binary patch literal 5430 zcmcgwX>3$g6n=;X+3|<}Oe_lM4}(N0C5Rv{W&J^*wo?RyAcBe}5&;u}0*OVy7L=Ay zXf2DCb|BCKWlMolQL5~P(pm(H?9=IVT4p+(_4u9l<_-5P?F_|ulQZ|;bI*6abC-9Q zk)%%2V^W_!67o1{&f}6aK$4`mIHg_yeFk(dLWd$O6g@IYf<9UzqCvr6a2=!u;tfkR z^2|^uG_Wl^+PcCf8~An;Y_eeRr06G%J;p#^&`W#&+C~cwO(V;@`5-Yh&vvE5}7=D}8hx zzSiZsXwv%)bp1v^?_?0K0r<(~hP$>PS!Oz9AM8gja~C)xcwp8umJ^iSP?sl_;1=C2bSk~ zIqV~QVl4FGK3B%d6U`1WoP*7Cv2eqV&l#JUPn+vD?W*2P%gW}`tm3iqo|;^kKr@RH zY4PD%lwX-eR~DX!e8cgN$vb75Ey(67=P7uRfkXkImj>G|>W zXT}Kf9?R3aA>af^1Lr9{g9Fh;$_Uj zO$l^k#i+>nrk<;6AmH+WGxBYsuGwFCoxNu==CgNCpi{TXRX2vbuCbO1if2-j?re3h zNurQfd;WoQ1CIgX=!LSTaoLI0hQ7}~IF*{c56&3_xvB{G$g^!>r0?n(@2eryDTfPDUI#V#9aW zg7STZ?<{>w_Rz$F;Z%C1NHmG5>^o7Q;pZ4a&N~_`xcMwODJn;w2}JlghJocb$*)|6 zM6;;npzW%G-(M|XWg}Q{^O>a?*k{U>`xbMvSSk&7lL(#*;uuFO`zov&EV%jH)Lg2% zgzt+g|Kh(*E?9z>Xq;lZelGwwpWpu*zwftvA#(Y?#rzGTQa}Ew7yi5P_g5Visdyjc z@z<=s#M9dK*LSCv{F%%UeQ!jK5^1Z6D)T6KJ>Z&m?k z4s&xt950}*S?DE)JO+L>j?`HWTD#FjJNJ5MSBZx*QRcUd+Rk}eMzi`HHqe9156*rH zyYdU2@^}@jH*Irke2V^KDKA~wEO>iR1lLNDo6Cr&JM>i#tdtUu!-(<5xroL;azZ^F zI@+pt$MaqZF3lTHjRpDvXs_3UZruscS4*2{$lJ!Zr#=q0S@2C0F-D)@+om6Pm0Qix z&hJD+4D5^7IInszx)QIb|ErGjQJ~)B5u6>2KwHS(sYn#q82`xYOTbofdlxV`o+!rkeQ&5x#Rz3nkK--14sKtl=pRP(aLWO!9QvX3PNPGP+rXilHKuIF zYyK6#13MBvBWFuj=O^?1l@bR-IacP^>y-}1ZJ@mEk{LJ5oz20+4y;P@n!Zss5@wT2 zOjWc6O*zzY+n>iAa@+by z5|5A4!jTTV=>JT~=e_Y(_17xrtZQ$}JvB>mlQ~L;`Is2hnn@KMn9uK=-sxbhGWB!s zUTU5QV~cWi*D*B9zfSp`cMj)fNaxwC@yfU$rx|jL<7I(;Zd)sx%$7TxaiqK6 zmwIq5J9S8vc;kM0p8VWDHe#XFDdsA3hVjO(8LnfkEWB0kx__(K^W)m@lw8)UXXMV~ zethO$`>&OOcPY=qJZ2qbA20JWCGJ>D=@VTO$Z$RVL!Bt+tAzM*QzR%koqyGj?DIck zxzrcd&xY>5O*GIMl6&SbJ`C)|`|`g8bxN!|tOMNZquM;YcV;)TL{`b|22)1zA!&i6 P1^z!4c-Zd(kIVQ2hNN8q literal 0 HcmV?d00001 diff --git a/waterfox/browser/components/search/extensions/qwant/favicon.ico b/waterfox/browser/components/search/extensions/qwant/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1767c9ab6f7a9633c74febdafedf188e3c9a97e5 GIT binary patch literal 9662 zcmeI2Z%|ZK6u_VPp$~m*rf*HK``ADHT?7#jNkDU^scev4*6fcVqEl)1rKX}-VVn#p z4V7w22z5$DAg7E#D%1f46-aavjAjXN8J1-R7K3Jh(>V`z=e@VfvJ33)+nFx&_P%@H zy_erP_uli)efKiV3jEV(82k-l&V(?`V+_Nn@WL!+J6@E}1(snRePs5U&2ac#sbqt- zD!Hsm$;!-1dGHKg;O7e&h(%VdkO%2mmVMZP8Z%TfS%iv}-IfTmE1k85vQI?wWuUZ5 z9&Gfpo?S7EpY^KckB5^C)E~&*8bIuvEI3v=4FQ_E@Bo?{8zsR{%&+arfpTPR zYr6?EGc(-P+|&riK05+ibr}$$RtZ>lX1xlZ94Z8Lh+L5G=^R^1`86@oaP-Jwuvjei z;W0He1;fL`V6|H9d34j$^C#qekn2}ozO0+lQlY!M+s^p! z98Y}Rc=J9?r9d5C6!84s(c$u4l$x9b7b zDTV_chC71wnofm-||P}7!cc@vuD0@OaGw? z7K}!t4V{a7dU|~RJ{J4(?)qSfYvRzaFbnuEU8-|ScH8`0j=1*c8UcgVItF1%#ey8< zdy@aa4+Z-T3)Wi>W_}yHvUfPxpqw393vv{rpT`d)BO}}zlHay3?#YI>v|Qt(K*Mjp zy5y&MGte)zo#mw`T-NcXESsNs8myxA6|Kpg{ZF#*hl`2?^8SVMRudlPw7j!6ypflk zwH^BU{!u1UBn-XD2+BmLg!MvgB8JgVR-;Y3q}r zzOD`?(f7B75z8>Nx3>ZLq@z54f$qQjyaZ^?BW_c#&4B94^A7pqa^6VO`j6ggpB5d0 zU+U}Ok2`muzpoE^dyUZ1-VU`jHBf;45+55gFCWQeLAli-?7U^X!7gr-#yZXK)zMK9 ztBK^skhqLE9jXk0)@#jN_q~v*^DDoYZN7BeDh=f2z7IcK_#P~{4zLCC4R2n*4qucU z=hmM7T-(pbPWcI|W1#ThM^IN=>+qeZ>+W6rj!`CQe!gsEd+3`Bg{+rf3W)K;=coIU zW5wJz7?MT&ED+NAj4g1Xx@s}(lGp=?L0d)N*FDtr+}^O?_ozMPo-L1i?A%^Ejz16O zmPmQrzhi@S$S#R7< literal 0 HcmV?d00001 diff --git a/waterfox/browser/components/search/extensions/startpage/favicon.ico b/waterfox/browser/components/search/extensions/startpage/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f0726fbba18ce898070d76a94f4799d10d152bc4 GIT binary patch literal 183602 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�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 UC8o^_j4P!xz+J`G>NrIG4+>l*=l}o! literal 0 HcmV?d00001 diff --git a/waterfox/browser/components/search/extensions/wps/favicon.svg b/waterfox/browser/components/search/extensions/wps/favicon.svg new file mode 100644 index 000000000000..719adf511e6d --- /dev/null +++ b/waterfox/browser/components/search/extensions/wps/favicon.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/waterfox/browser/components/search/jar.mn b/waterfox/browser/components/search/jar.mn new file mode 100644 index 000000000000..bdeb5014a7ee --- /dev/null +++ b/waterfox/browser/components/search/jar.mn @@ -0,0 +1,8 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +browser.jar: + content/browser/search/BrowserSearchEngineIcons.json (content/BrowserSearchEngineIcons.json) + content/browser/search/BrowserSearchEngines.json (content/BrowserSearchEngines.json) + content/browser/search/ (extensions/**) diff --git a/waterfox/browser/components/search/moz.build b/waterfox/browser/components/search/moz.build new file mode 100644 index 000000000000..d988c0ff9b16 --- /dev/null +++ b/waterfox/browser/components/search/moz.build @@ -0,0 +1,7 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +JAR_MANIFESTS += ["jar.mn"]