From b8d531f546806916712f09d513beca7948905c81 Mon Sep 17 00:00:00 2001 From: csagan5 <32685696+csagan5@users.noreply.github.com> Date: Thu, 12 Oct 2017 00:10:45 +0200 Subject: [PATCH] Added new patches --- README.md | 11 +- .../intercept-ads.patch} | 0 patches/privacy/add-duckduckgo.patch | 709 ++++++++++++++++++ .../disable-battery-status-service.patch | 29 + .../disable-formatting-in-omnibox.patch | 25 + .../privacy/disable-gcm-status-check.patch | 39 + patches/privacy/no-3rd-party-cookies.patch | 20 + patches/privacy/no-promo.patch | 21 + ...fs-do-not-store-passwords-by-default.patch | 23 + .../prefs-only-keep-cookies-until-exit.patch | 23 + ...mo-disable-Google-promotion-fetching.patch | 34 + patches/privacy/restore-classic-ntp.patch | 29 + patches/security/remove-ev-certificates.patch | 45 ++ 13 files changed, 1007 insertions(+), 1 deletion(-) rename patches/{0001-adblock.patch => adblock/intercept-ads.patch} (100%) create mode 100644 patches/privacy/add-duckduckgo.patch create mode 100644 patches/privacy/disable-battery-status-service.patch create mode 100644 patches/privacy/disable-formatting-in-omnibox.patch create mode 100644 patches/privacy/disable-gcm-status-check.patch create mode 100644 patches/privacy/no-3rd-party-cookies.patch create mode 100644 patches/privacy/no-promo.patch create mode 100644 patches/privacy/prefs-do-not-store-passwords-by-default.patch create mode 100644 patches/privacy/prefs-only-keep-cookies-until-exit.patch create mode 100644 patches/privacy/promo-disable-Google-promotion-fetching.patch create mode 100644 patches/privacy/restore-classic-ntp.patch create mode 100644 patches/security/remove-ev-certificates.patch diff --git a/README.md b/README.md index e9279e73..6fd3e9f1 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,11 @@ BTC donations address: `3MkC3idL61npQSCxL1gceksmRTkNkiCPcG` ETH donations address: `0xf47ff39223d828f99fec5ab53bd068c5c0522042` +# Features + +* adblocking (currently baked-in, no configuration options available) +* some privacy patches from Inox patchset, ungoogled-chromium and Iridium projects + # How to build The [bromite main repository](https://github.com/bromite/bromite) contains tags for each corresponding Chromium release (see https://chromium.googlesource.com/chromium/src.git). @@ -34,8 +39,12 @@ Each tag corresponds to a Chromium release tag. # Credits +* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) for some patches +* Iridium project for some patches (taken from above ungoogled-chromium) +* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (taken from above ungoogled-chromium) * [Chromium project](https://www.chromium.org/Home) -* nochromo for the original patch +* nochromo for the original adblock patch +* AdBlock Plus, uBlock, EasyList and EasyPrivacy for the compilation of original adblock patch # License diff --git a/patches/0001-adblock.patch b/patches/adblock/intercept-ads.patch similarity index 100% rename from patches/0001-adblock.patch rename to patches/adblock/intercept-ads.patch diff --git a/patches/privacy/add-duckduckgo.patch b/patches/privacy/add-duckduckgo.patch new file mode 100644 index 00000000..6e2d145d --- /dev/null +++ b/patches/privacy/add-duckduckgo.patch @@ -0,0 +1,709 @@ +commit 0c22ca832c8c56035d68a3cd6f50d916f42d8139 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 23:09:22 2017 +0200 + + Add DuckDuckGo search engine + +diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json +index 002b6c0..25e85ab 100644 +--- a/components/search_engines/prepopulated_engines.json ++++ b/components/search_engines/prepopulated_engines.json +@@ -32,12 +32,23 @@ + + // Increment this if you change the data in ways that mean users with + // existing data should get a new version. +- "kCurrentDataVersion": 99 ++ "kCurrentDataVersion": 100 + }, + + // The following engines are included in country lists and are added to the + // list of search engines on the first run depending on user's country. + "elements": { ++ "duckduckgo": { ++ "name": "DuckDuckGo", ++ "keyword": "duckduckgo.com", ++ "favicon_url": "https://duckduckgo.com/favicon.ico", ++ "search_url": "https://duckduckgo.com/?q={searchTerms}", ++ "suggest_url": "https://duckduckgo.com/?q={searchTerms}&language={language}&kac=1", ++ "new_tab_url": "https://duckduckgo.com/", ++ "type": "SEARCH_ENGINE_DUCKDUCKGO", ++ "id": 11 ++ }, ++ + "aol": { + "name": "AOL", + "keyword": "aol.com", +diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h +index c19dd0e..02f6b16 100644 +--- a/components/search_engines/search_engine_type.h ++++ b/components/search_engines/search_engine_type.h +@@ -63,6 +63,7 @@ enum SearchEngineType { + SEARCH_ENGINE_YANDEX, + SEARCH_ENGINE_ZOZNAM, + SEARCH_ENGINE_360, ++ SEARCH_ENGINE_DUCKDUCKGO, + SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro. + }; + +diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc +index 862e001..0b97ffa 100644 +--- a/components/search_engines/template_url_prepopulate_data.cc ++++ b/components/search_engines/template_url_prepopulate_data.cc +@@ -50,548 +50,548 @@ namespace { + + // Default (for countries with no better engine set) + const PrepopulatedEngine* const engines_default[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // United Arab Emirates + const PrepopulatedEngine* const engines_AE[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Albania + const PrepopulatedEngine* const engines_AL[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Argentina + const PrepopulatedEngine* const engines_AR[] = { +- &google, &bing, &yahoo_ar, ++ &duckduckgo, &google, &bing, &yahoo_ar, + }; + + // Austria + const PrepopulatedEngine* const engines_AT[] = { +- &google, &bing, &yahoo_at, ++ &duckduckgo, &google, &bing, &yahoo_at, + }; + + // Australia + const PrepopulatedEngine* const engines_AU[] = { +- &google, &bing, &yahoo_au, ++ &duckduckgo, &google, &bing, &yahoo_au, + }; + + // Bosnia and Herzegovina + const PrepopulatedEngine* const engines_BA[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Belgium + const PrepopulatedEngine* const engines_BE[] = { +- &google, &bing, &yahoo, &yahoo_fr, ++ &duckduckgo, &google, &bing, &yahoo, &yahoo_fr, + }; + + // Bulgaria + const PrepopulatedEngine* const engines_BG[] = { +- &google, &bing, &ask, ++ &duckduckgo, &google, &bing, &ask, + }; + + // Bahrain + const PrepopulatedEngine* const engines_BH[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Burundi + const PrepopulatedEngine* const engines_BI[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Brunei + const PrepopulatedEngine* const engines_BN[] = { +- &google, &yahoo_my, &bing, ++ &duckduckgo, &google, &yahoo_my, &bing, + }; + + // Bolivia + const PrepopulatedEngine* const engines_BO[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Brazil + const PrepopulatedEngine* const engines_BR[] = { +- &google, &ask_br, &bing, &yahoo_br, ++ &duckduckgo, &google, &ask_br, &bing, &yahoo_br, + }; + + // Belarus + const PrepopulatedEngine* const engines_BY[] = { +- &google, &yandex_by, &mail_ru, ++ &duckduckgo, &google, &yandex_by, &mail_ru, + }; + + // Belize + const PrepopulatedEngine* const engines_BZ[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Canada + const PrepopulatedEngine* const engines_CA[] = { +- &google, &bing, &ask, &yahoo_ca, &yahoo_qc, ++ &duckduckgo, &google, &bing, &ask, &yahoo_ca, &yahoo_qc, + }; + + // Switzerland + const PrepopulatedEngine* const engines_CH[] = { +- &google, &bing, &yahoo_ch, ++ &duckduckgo, &google, &bing, &yahoo_ch, + }; + + // Chile + const PrepopulatedEngine* const engines_CL[] = { +- &google, &bing, &yahoo_cl, ++ &duckduckgo, &google, &bing, &yahoo_cl, + }; + + // China + const PrepopulatedEngine* const engines_CN[] = { +- &google, &baidu, &sogou, &so_360, ++ &duckduckgo, &google, &baidu, &sogou, &so_360, + }; + + // Colombia + const PrepopulatedEngine* const engines_CO[] = { +- &google, &bing, &yahoo_co, ++ &duckduckgo, &google, &bing, &yahoo_co, + }; + + // Costa Rica + const PrepopulatedEngine* const engines_CR[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Czech Republic + const PrepopulatedEngine* const engines_CZ[] = { +- &google, &seznam, &bing, ++ &duckduckgo, &google, &seznam, &bing, + }; + + // Germany + const PrepopulatedEngine* const engines_DE[] = { +- &google, &bing, &yahoo_de, ++ &duckduckgo, &google, &bing, &yahoo_de, + }; + + // Denmark + const PrepopulatedEngine* const engines_DK[] = { +- &google, &bing, &yahoo_dk, ++ &duckduckgo, &google, &bing, &yahoo_dk, + }; + + // Dominican Republic + const PrepopulatedEngine* const engines_DO[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Algeria + const PrepopulatedEngine* const engines_DZ[] = { +- &google, &bing, &yahoo_maktoob, ++ &duckduckgo, &google, &bing, &yahoo_maktoob, + }; + + // Ecuador + const PrepopulatedEngine* const engines_EC[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Estonia + const PrepopulatedEngine* const engines_EE[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Egypt + const PrepopulatedEngine* const engines_EG[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Spain + const PrepopulatedEngine* const engines_ES[] = { +- &google, &bing, &yahoo_es, ++ &duckduckgo, &google, &bing, &yahoo_es, + }; + + // Faroe Islands + const PrepopulatedEngine* const engines_FO[] = { +- &google, &bing, &ask, ++ &duckduckgo, &google, &bing, &ask, + }; + + // Finland + const PrepopulatedEngine* const engines_FI[] = { +- &google, &bing, &yahoo_fi, ++ &duckduckgo, &google, &bing, &yahoo_fi, + }; + + // France + const PrepopulatedEngine* const engines_FR[] = { +- &google, &bing, &yahoo_fr, ++ &duckduckgo, &google, &bing, &yahoo_fr, + }; + + // United Kingdom + const PrepopulatedEngine* const engines_GB[] = { +- &google, &bing, &yahoo_uk, &ask_uk, ++ &duckduckgo, &google, &bing, &yahoo_uk, &ask_uk, + }; + + // Greece + const PrepopulatedEngine* const engines_GR[] = { +- &google, &bing, &yahoo_gr, ++ &duckduckgo, &google, &bing, &yahoo_gr, + }; + + // Guatemala + const PrepopulatedEngine* const engines_GT[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Hong Kong + const PrepopulatedEngine* const engines_HK[] = { +- &google, &yahoo_hk, &baidu, &bing, ++ &duckduckgo, &google, &yahoo_hk, &baidu, &bing, + }; + + // Honduras + const PrepopulatedEngine* const engines_HN[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Croatia + const PrepopulatedEngine* const engines_HR[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Hungary + const PrepopulatedEngine* const engines_HU[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Indonesia + const PrepopulatedEngine* const engines_ID[] = { +- &google, &yahoo_id, &bing, ++ &duckduckgo, &google, &yahoo_id, &bing, + }; + + // Ireland + const PrepopulatedEngine* const engines_IE[] = { +- &google, &bing, &yahoo_uk, ++ &duckduckgo, &google, &bing, &yahoo_uk, + }; + + // Israel + const PrepopulatedEngine* const engines_IL[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // India + const PrepopulatedEngine* const engines_IN[] = { +- &google, &bing, &yahoo_in, ++ &duckduckgo, &google, &bing, &yahoo_in, + }; + + // Iraq + const PrepopulatedEngine* const engines_IQ[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Iran + const PrepopulatedEngine* const engines_IR[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Iceland + const PrepopulatedEngine* const engines_IS[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Italy + const PrepopulatedEngine* const engines_IT[] = { +- &google, &virgilio, &bing, ++ &duckduckgo, &google, &virgilio, &bing, + }; + + // Jamaica + const PrepopulatedEngine* const engines_JM[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Jordan + const PrepopulatedEngine* const engines_JO[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Japan + const PrepopulatedEngine* const engines_JP[] = { +- &google, &yahoo_jp, &bing, ++ &duckduckgo, &google, &yahoo_jp, &bing, + }; + + // Kenya + const PrepopulatedEngine* const engines_KE[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Kuwait + const PrepopulatedEngine* const engines_KW[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // South Korea + const PrepopulatedEngine* const engines_KR[] = { +- &google, &naver, &daum, ++ &duckduckgo, &google, &naver, &daum, + }; + + // Kazakhstan + const PrepopulatedEngine* const engines_KZ[] = { +- &google, &mail_ru, &yandex_kz, ++ &duckduckgo, &google, &mail_ru, &yandex_kz, + }; + + // Lebanon + const PrepopulatedEngine* const engines_LB[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Liechtenstein + const PrepopulatedEngine* const engines_LI[] = { +- &google, &bing, &yahoo_de, ++ &duckduckgo, &google, &bing, &yahoo_de, + }; + + // Lithuania + const PrepopulatedEngine* const engines_LT[] = { +- &google, &bing, &yandex_ru, ++ &duckduckgo, &google, &bing, &yandex_ru, + }; + + // Luxembourg + const PrepopulatedEngine* const engines_LU[] = { +- &google, &bing, &yahoo_fr, ++ &duckduckgo, &google, &bing, &yahoo_fr, + }; + + // Latvia + const PrepopulatedEngine* const engines_LV[] = { +- &google, &yandex_ru, &bing, ++ &duckduckgo, &google, &yandex_ru, &bing, + }; + + // Libya + const PrepopulatedEngine* const engines_LY[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Morocco + const PrepopulatedEngine* const engines_MA[] = { +- &google, &bing, &yahoo_maktoob, ++ &duckduckgo, &google, &bing, &yahoo_maktoob, + }; + + // Monaco + const PrepopulatedEngine* const engines_MC[] = { +- &google, &yahoo_fr, &bing, ++ &duckduckgo, &google, &yahoo_fr, &bing, + }; + + // Moldova + const PrepopulatedEngine* const engines_MD[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Montenegro + const PrepopulatedEngine* const engines_ME[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Macedonia + const PrepopulatedEngine* const engines_MK[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Mexico + const PrepopulatedEngine* const engines_MX[] = { +- &google, &bing, &yahoo_mx, ++ &duckduckgo, &google, &bing, &yahoo_mx, + }; + + // Malaysia + const PrepopulatedEngine* const engines_MY[] = { +- &google, &yahoo_my, &bing, ++ &duckduckgo, &google, &yahoo_my, &bing, + }; + + // Nicaragua + const PrepopulatedEngine* const engines_NI[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Netherlands + const PrepopulatedEngine* const engines_NL[] = { +- &google, &yahoo_nl, &vinden, ++ &duckduckgo, &google, &yahoo_nl, &vinden, + }; + + // Norway + const PrepopulatedEngine* const engines_NO[] = { +- &google, &bing, &kvasir, ++ &duckduckgo, &google, &bing, &kvasir, + }; + + // New Zealand + const PrepopulatedEngine* const engines_NZ[] = { +- &google, &bing, &yahoo_nz, ++ &duckduckgo, &google, &bing, &yahoo_nz, + }; + + // Oman + const PrepopulatedEngine* const engines_OM[] = { +- &google, &bing, &yahoo_maktoob, ++ &duckduckgo, &google, &bing, &yahoo_maktoob, + }; + + // Panama + const PrepopulatedEngine* const engines_PA[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Peru + const PrepopulatedEngine* const engines_PE[] = { +- &google, &bing, &yahoo_pe, ++ &duckduckgo, &google, &bing, &yahoo_pe, + }; + + // Philippines + const PrepopulatedEngine* const engines_PH[] = { +- &google, &yahoo_ph, &bing, ++ &duckduckgo, &google, &yahoo_ph, &bing, + }; + + // Pakistan + const PrepopulatedEngine* const engines_PK[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Puerto Rico + const PrepopulatedEngine* const engines_PR[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Poland + const PrepopulatedEngine* const engines_PL[] = { +- &google, &onet, &bing, ++ &duckduckgo, &google, &onet, &bing, + }; + + // Portugal + const PrepopulatedEngine* const engines_PT[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Paraguay + const PrepopulatedEngine* const engines_PY[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Qatar + const PrepopulatedEngine* const engines_QA[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Romania + const PrepopulatedEngine* const engines_RO[] = { +- &google, &yahoo_ro, &bing, ++ &duckduckgo, &google, &yahoo_ro, &bing, + }; + + // Serbia + const PrepopulatedEngine* const engines_RS[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Russia + const PrepopulatedEngine* const engines_RU[] = { +- &google, &yandex_ru, &mail_ru, ++ &duckduckgo, &google, &yandex_ru, &mail_ru, + }; + + // Rwanda + const PrepopulatedEngine* const engines_RW[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Saudi Arabia + const PrepopulatedEngine* const engines_SA[] = { +- &google, &yahoo_maktoob, &bing, ++ &duckduckgo, &google, &yahoo_maktoob, &bing, + }; + + // Sweden + const PrepopulatedEngine* const engines_SE[] = { +- &google, &bing, &yahoo_se, ++ &duckduckgo, &google, &bing, &yahoo_se, + }; + + // Singapore + const PrepopulatedEngine* const engines_SG[] = { +- &google, &yahoo_sg, &bing, ++ &duckduckgo, &google, &yahoo_sg, &bing, + }; + + // Slovenia + const PrepopulatedEngine* const engines_SI[] = { +- &google, &najdi, &ask, ++ &duckduckgo, &google, &najdi, &ask, + }; + + // Slovakia + const PrepopulatedEngine* const engines_SK[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // El Salvador + const PrepopulatedEngine* const engines_SV[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Syria + const PrepopulatedEngine* const engines_SY[] = { +- &google, &bing, &yahoo_maktoob, ++ &duckduckgo, &google, &bing, &yahoo_maktoob, + }; + + // Thailand + const PrepopulatedEngine* const engines_TH[] = { +- &google, &yahoo_th, &bing, ++ &duckduckgo, &google, &yahoo_th, &bing, + }; + + // Tunisia + const PrepopulatedEngine* const engines_TN[] = { +- &google, &bing, &yahoo_maktoob, ++ &duckduckgo, &google, &bing, &yahoo_maktoob, + }; + + // Turkey + const PrepopulatedEngine* const engines_TR[] = { +- &google, &bing, &yahoo_tr, &yandex_tr, ++ &duckduckgo, &google, &bing, &yahoo_tr, &yandex_tr, + }; + + // Trinidad and Tobago + const PrepopulatedEngine* const engines_TT[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Taiwan + const PrepopulatedEngine* const engines_TW[] = { +- &google, &yahoo_tw, &bing, ++ &duckduckgo, &google, &yahoo_tw, &bing, + }; + + // Tanzania + const PrepopulatedEngine* const engines_TZ[] = { +- &google, &yahoo, &bing, ++ &duckduckgo, &google, &yahoo, &bing, + }; + + // Ukraine + const PrepopulatedEngine* const engines_UA[] = { +- &google, &yandex_ua, &bing, ++ &duckduckgo, &google, &yandex_ua, &bing, + }; + + // United States + const PrepopulatedEngine* const engines_US[] = { +- &google, &bing, &yahoo, &aol, &ask, ++ &duckduckgo, &google, &bing, &yahoo, &aol, &ask, + }; + + // Uruguay + const PrepopulatedEngine* const engines_UY[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Venezuela + const PrepopulatedEngine* const engines_VE[] = { +- &google, &bing, &yahoo_ve, ++ &duckduckgo, &google, &bing, &yahoo_ve, + }; + + // Vietnam + const PrepopulatedEngine* const engines_VN[] = { +- &google, &yahoo_vn, &bing, ++ &duckduckgo, &google, &yahoo_vn, &bing, + }; + + // Yemen + const PrepopulatedEngine* const engines_YE[] = { +- &google, &bing, &yahoo_maktoob, ++ &duckduckgo, &google, &bing, &yahoo_maktoob, + }; + + // South Africa + const PrepopulatedEngine* const engines_ZA[] = { +- &google, &bing, &yahoo, ++ &duckduckgo, &google, &bing, &yahoo, + }; + + // Zimbabwe + const PrepopulatedEngine* const engines_ZW[] = { +- &google, &bing, &yahoo, &ask, ++ &duckduckgo, &google, &bing, &yahoo, &ask, + }; + + // A list of all the engines that we know about. + const PrepopulatedEngine* const kAllEngines[] = { + // Prepopulated engines: +- &aol, &ask, &ask_br, &ask_uk, &baidu, &bing, &daum, &google, &kvasir, ++ &aol, &ask, &ask_br, &ask_uk, &baidu, &bing, &daum, &duckduckgo, &google, &kvasir, + &mail_ru, &najdi, &naver, &onet, &seznam, &sogou, &vinden, &virgilio, + &yahoo, &yahoo_ar, &yahoo_at, &yahoo_au, &yahoo_br, &yahoo_ca, &yahoo_ch, + &yahoo_cl, &yahoo_co, &yahoo_de, &yahoo_dk, &yahoo_es, &yahoo_fi, &yahoo_fr, diff --git a/patches/privacy/disable-battery-status-service.patch b/patches/privacy/disable-battery-status-service.patch new file mode 100644 index 00000000..255d3bc5 --- /dev/null +++ b/patches/privacy/disable-battery-status-service.patch @@ -0,0 +1,29 @@ +commit 8ca595ca27ab3d99674275c96b06b160a83d92e3 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 22:57:29 2017 +0200 + + Disable battery status service + +diff --git a/services/device/battery/battery_status_service.cc b/services/device/battery/battery_status_service.cc +index 988f20d..adbaf69 100644 +--- a/services/device/battery/battery_status_service.cc ++++ b/services/device/battery/battery_status_service.cc +@@ -41,6 +41,7 @@ BatteryStatusService::AddCallback(const BatteryUpdateCallback& callback) { + if (!battery_fetcher_) + battery_fetcher_ = BatteryStatusManager::Create(update_callback_); + ++#if 0 + if (callback_list_.empty()) { + bool success = battery_fetcher_->StartListeningBatteryChange(); + // On failure pass the default values back. +@@ -52,6 +53,10 @@ BatteryStatusService::AddCallback(const BatteryUpdateCallback& callback) { + // Send recent status to the new callback if already available. + callback.Run(status_); + } ++#else ++ // Always pass the default values. ++ callback.Run(BatteryStatus()); ++#endif + + return callback_list_.Add(callback); + } diff --git a/patches/privacy/disable-formatting-in-omnibox.patch b/patches/privacy/disable-formatting-in-omnibox.patch new file mode 100644 index 00000000..9c00f010 --- /dev/null +++ b/patches/privacy/disable-formatting-in-omnibox.patch @@ -0,0 +1,25 @@ +commit 31f49917379c516f5c71f4ca5aa140e2184c9f3b +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 23:24:58 2017 +0200 + + Disables omission of URL elements in Omnibox + +diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc +index bad3a45a..066407e 100644 +--- a/components/url_formatter/url_formatter.cc ++++ b/components/url_formatter/url_formatter.cc +@@ -401,10 +401,10 @@ bool IDNToUnicodeOneComponent(const base::char16* comp, + + } // namespace + +-const FormatUrlType kFormatUrlOmitNothing = 0; +-const FormatUrlType kFormatUrlOmitUsernamePassword = 1 << 0; +-const FormatUrlType kFormatUrlOmitHTTP = 1 << 1; +-const FormatUrlType kFormatUrlOmitTrailingSlashOnBareHostname = 1 << 2; ++const FormatUrlType kFormatUrlOmitNothing = 1; ++const FormatUrlType kFormatUrlOmitUsernamePassword = 0 << 0; ++const FormatUrlType kFormatUrlOmitHTTP = 0 << 1; ++const FormatUrlType kFormatUrlOmitTrailingSlashOnBareHostname = 0 << 2; + const FormatUrlType kFormatUrlOmitHTTPS = 1 << 3; + const FormatUrlType kFormatUrlExperimentalElideAfterHost = 1 << 4; + const FormatUrlType kFormatUrlExperimentalOmitTrivialSubdomains = 1 << 5; diff --git a/patches/privacy/disable-gcm-status-check.patch b/patches/privacy/disable-gcm-status-check.patch new file mode 100644 index 00000000..1f7079a3 --- /dev/null +++ b/patches/privacy/disable-gcm-status-check.patch @@ -0,0 +1,39 @@ +commit fd5c89a560c1fcbab8cd9b7335aca75a2d22d1e5 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 22:58:52 2017 +0200 + + Disable GCM status check + +diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gcm_driver/gcm_channel_status_request.cc +index 8972447..415b1ab 100644 +--- a/components/gcm_driver/gcm_channel_status_request.cc ++++ b/components/gcm_driver/gcm_channel_status_request.cc +@@ -23,8 +23,10 @@ namespace gcm { + + namespace { + ++#if 0 + const char kRequestContentType[] = "application/octet-stream"; + const char kGCMChannelTag[] = "gcm_channel"; ++#endif + const int kDefaultPollIntervalSeconds = 60 * 60; // 60 minutes. + const int kMinPollIntervalSeconds = 30 * 60; // 30 minutes. + +@@ -57,6 +59,7 @@ int GCMChannelStatusRequest::min_poll_interval_seconds() { + } + + void GCMChannelStatusRequest::Start() { ++#if 0 + DCHECK(!url_fetcher_.get()); + + GURL request_url(channel_status_request_url_); +@@ -112,6 +115,9 @@ void GCMChannelStatusRequest::Start() { + url_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | + net::LOAD_DO_NOT_SAVE_COOKIES); + url_fetcher_->Start(); ++#endif ++ // Simulate an empty response and disable GCM. ++ callback_.Run(false, false, 0); + } + + void GCMChannelStatusRequest::OnURLFetchComplete( diff --git a/patches/privacy/no-3rd-party-cookies.patch b/patches/privacy/no-3rd-party-cookies.patch new file mode 100644 index 00000000..2ebf7630 --- /dev/null +++ b/patches/privacy/no-3rd-party-cookies.patch @@ -0,0 +1,20 @@ +commit 0a3880671af60180c72cdaf18e24f699db87ae23 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 22:50:10 2017 +0200 + + Disable third-party cookies by default + author: Chad Miller + +diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc +index 6dbac81..26a9c23 100644 +--- a/components/content_settings/core/browser/cookie_settings.cc ++++ b/components/content_settings/core/browser/cookie_settings.cc +@@ -80,7 +80,7 @@ void CookieSettings::GetCookieSettings( + void CookieSettings::RegisterProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { + registry->RegisterBooleanPref( +- prefs::kBlockThirdPartyCookies, false, ++ prefs::kBlockThirdPartyCookies, true, + user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); + } + diff --git a/patches/privacy/no-promo.patch b/patches/privacy/no-promo.patch new file mode 100644 index 00000000..ff630e0a --- /dev/null +++ b/patches/privacy/no-promo.patch @@ -0,0 +1,21 @@ +commit 0e91bb1894cc0b7a9f2ddb8d3a8dd0cdc609910a +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 22:47:49 2017 +0200 + + Disable the ad promo system by default + author: Michael Gilbert + bug-debian: http://bugs.debian.org/634101 + +diff --git a/chrome/browser/ui/app_list/app_list_service.cc b/chrome/browser/ui/app_list/app_list_service.cc +index ce4b76e..23bedeb 100644 +--- a/chrome/browser/ui/app_list/app_list_service.cc ++++ b/chrome/browser/ui/app_list/app_list_service.cc +@@ -145,7 +145,7 @@ void AppListService::RegisterPrefs(PrefRegistrySimple* registry) { + + // Identifies whether we should show the app launcher promo or not. This + // becomes false when the user dismisses the promo. +- registry->RegisterBooleanPref(prefs::kShowAppLauncherPromo, true); ++ registry->RegisterBooleanPref(prefs::kShowAppLauncherPromo, false); + } + + // static diff --git a/patches/privacy/prefs-do-not-store-passwords-by-default.patch b/patches/privacy/prefs-do-not-store-passwords-by-default.patch new file mode 100644 index 00000000..82a11358 --- /dev/null +++ b/patches/privacy/prefs-do-not-store-passwords-by-default.patch @@ -0,0 +1,23 @@ +commit 5927635bd17374da897e3d49264c536c68a09868 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 23:17:17 2017 +0200 + + Do not store passwords by default + +diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc +index bbb0c20..cf171c0 100644 +--- a/components/password_manager/core/browser/password_manager.cc ++++ b/components/password_manager/core/browser/password_manager.cc +@@ -207,10 +207,10 @@ PasswordFormManager* FindMatchedManager( + void PasswordManager::RegisterProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { + registry->RegisterBooleanPref( +- prefs::kCredentialsEnableService, true, ++ prefs::kCredentialsEnableService, false, + user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); + registry->RegisterBooleanPref( +- prefs::kCredentialsEnableAutosignin, true, ++ prefs::kCredentialsEnableAutosignin, false, + user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); + registry->RegisterBooleanPref(prefs::kWasObsoleteHttpDataCleaned, false); + registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(), diff --git a/patches/privacy/prefs-only-keep-cookies-until-exit.patch b/patches/privacy/prefs-only-keep-cookies-until-exit.patch new file mode 100644 index 00000000..fb8a4040 --- /dev/null +++ b/patches/privacy/prefs-only-keep-cookies-until-exit.patch @@ -0,0 +1,23 @@ +commit 099b041051cd3ea166c38269aa584bee7962d816 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 23:19:25 2017 +0200 + + Subject: [PATCH 21/60] prefs: only keep cookies until exit + From: Jan Engelhardt + Date: Sat, 13 Sep 2014 17:25:47 +0200 + + Out with all those tracking cookies! + +diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc +index fe84151..f303447 100644 +--- a/components/content_settings/core/browser/content_settings_registry.cc ++++ b/components/content_settings/core/browser/content_settings_registry.cc +@@ -118,7 +118,7 @@ void ContentSettingsRegistry::Init() { + // WARNING: The string names of the permissions passed in below are used to + // generate preference names and should never be changed! + +- Register(CONTENT_SETTINGS_TYPE_COOKIES, "cookies", CONTENT_SETTING_ALLOW, ++ Register(CONTENT_SETTINGS_TYPE_COOKIES, "cookies", CONTENT_SETTING_SESSION_ONLY, + WebsiteSettingsInfo::SYNCABLE, + WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme), + ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK, diff --git a/patches/privacy/promo-disable-Google-promotion-fetching.patch b/patches/privacy/promo-disable-Google-promotion-fetching.patch new file mode 100644 index 00000000..1a31c4fd --- /dev/null +++ b/patches/privacy/promo-disable-Google-promotion-fetching.patch @@ -0,0 +1,34 @@ +commit 232645939b9739109cfadd92755375dd775b4768 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 23:22:05 2017 +0200 + + [PATCH 45/60] promo: disable Google promotion fetching + From: Jan Engelhardt + Date: Sun, 9 Nov 2014 01:54:27 +0100 + + Documentation is scarce, and sprinkled with misleading acronyms. + NTP is not NTP, for example. FWIW: + + // A PromoResourceService fetches data from a web resource server to + // be used to dynamically change the appearance of the New Tab Page. + // For example, it has been used to fetch "tips" to be displayed on + // the NTP, or to display promotional messages to certain groups of + // Chrome users. + + Whatever it is that it downloads, deactivate the one that leads to + Google. + + References: https://github.com/iridium-browser/iridium-browser/issues/33 + +diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc +index 4dd2f65..01f0f66 100644 +--- a/chrome/browser/signin/signin_promo.cc ++++ b/chrome/browser/signin/signin_promo.cc +@@ -84,6 +84,7 @@ namespace signin { + + bool ShouldShowPromoAtStartup(Profile* profile, bool is_new_profile) { + DCHECK(profile); ++ return false; + + // Don't show if the profile is an incognito. + if (profile->IsOffTheRecord()) diff --git a/patches/privacy/restore-classic-ntp.patch b/patches/privacy/restore-classic-ntp.patch new file mode 100644 index 00000000..d8ef8978 --- /dev/null +++ b/patches/privacy/restore-classic-ntp.patch @@ -0,0 +1,29 @@ +commit 5fd5caead1e313462bc84c22aab44404af1a918d +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 22:54:53 2017 +0200 + + Restore classic new tab page + +diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc +index dae4dd5..60411ce 100644 +--- a/chrome/browser/search/search.cc ++++ b/chrome/browser/search/search.cc +@@ -170,17 +170,7 @@ struct NewTabURLDetails { + return NewTabURLDetails(local_url, NEW_TAB_URL_VALID); + + NewTabURLState state = IsValidNewTabURL(profile, search_provider_url); +- switch (state) { +- case NEW_TAB_URL_VALID: +- // We can use the search provider's page. +- return NewTabURLDetails(search_provider_url, state); +- case NEW_TAB_URL_INCOGNITO: +- // Incognito has its own New Tab. +- return NewTabURLDetails(GURL(), state); +- default: +- // Use the local New Tab otherwise. +- return NewTabURLDetails(local_url, state); +- } ++ return NewTabURLDetails(local_url, state); + } + + GURL url; diff --git a/patches/security/remove-ev-certificates.patch b/patches/security/remove-ev-certificates.patch new file mode 100644 index 00000000..0083b52e --- /dev/null +++ b/patches/security/remove-ev-certificates.patch @@ -0,0 +1,45 @@ +commit 6eaea225c3e5ceaba5a2753248c770b218bdc4f4 +Author: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Wed Oct 11 23:12:18 2017 +0200 + + [PATCH 35/60] Remove EV certificates + From: Jan Engelhardt + Date: Thu, 2 Apr 2015 12:44:23 +0200 + + The team chose to let EV certificates appear just like normal + certificates. The web of trust is considered a failure in itself, so + do not give users a false sense of extra security with EV certs. + Instead, let them appear just like regular ones. + +diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc +index 3e89bb3..9bb411b 100644 +--- a/net/cert/ev_root_ca_metadata.cc ++++ b/net/cert/ev_root_ca_metadata.cc +@@ -46,6 +46,16 @@ struct EVMetadata { + + // These certificates may be found in net/data/ssl/ev_roots. + static const EVMetadata ev_root_ca_metadata[] = { ++ // need some dummy thing to make compiler happy, because ++ // arraysize() is implemented as a convoluted template rather than ++ // the traditional sizeof(x)/sizeof(*x) ++ { { { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, ++ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff } }, ++ { ++ "0", ++ } ++ }, ++#if 0 + // AC Camerfirma S.A. Chambers of Commerce Root - 2008 + // https://www.camerfirma.com + { +@@ -708,7 +718,9 @@ static const EVMetadata ev_root_ca_metadata[] = { + 0xd2, 0x09, 0xb7, 0x37, 0xcb, 0xe2, 0xc1, 0x8c, 0xfb, 0x2c, 0x10, + 0xc0, 0xff, 0x0b, 0xcf, 0x0d, 0x32, 0x86, 0xfc, 0x1a, 0xa2}}, + {"2.16.840.1.114404.1.1.2.4.1", ""}, +- }}; ++ } ++#endif ++}; + + #endif // defined(USE_NSS_CERTS) || defined(OS_IOS) || defined(OS_WIN) +