Compare commits

...
Author SHA1 Message Date
csagan5 a6603ca827 Release 63.0.3239.144 2018-01-16 23:34:02 +01:00
csagan5 881b4199f4 Release 63.0.3239.129 2018-01-05 00:52:56 +01:00
csagan5 8f418f10d5 Anti-AMP patch v0.3.5 2017-12-27 23:29:20 +01:00
csagan5 7a436cad38 Latest anti-AMP patch and release notes 2017-12-23 02:27:52 +01:00
csagan5 ba521c5412 Update README 2017-12-16 12:28:56 +01:00
csagan5 23623ffc1f Add Google EN search engine
Update anti-AMP patch
2017-12-16 12:22:24 +01:00
csagan5 ca0a121f19 Updated patches for new release 2017-12-09 12:02:35 +01:00
csagan5 65554f30c6 Release 63.0.3239.78 2017-12-06 15:38:49 +01:00
csagan5 4f1fa500e3 Updated CHANGELOG 2017-12-03 21:18:37 +01:00
7 changed files with 1535 additions and 103 deletions
+33
View File
@@ -1,3 +1,36 @@
# 63.0.3239.144
* fixed invalid AdBlock filter rule blocking all connections (https://github.com/bromite/bromite/issues/26)
* updated AdBlock filters
# 63.0.3239.129
* updated AdBlock filters
# 63.0.3239.122
* disable webRTC completely (https://github.com/bromite/bromite/issues/9)
* hyperlinks sanitization fixed and now accessible from Google logo click
* now building and publishing SystemWebView apks
# 63.0.3239.118
* limit impact of AMP-removal to not break tabs (https://github.com/bromite/bromite/issues/20)
* fix DuckDuckGo and StartPage suggestions (https://github.com/bromite/bromite/issues/19)
* revert /deep/ and ::shadow feature drop to attempt fixing DevTools support (https://github.com/bromite/bromite/issues/23)
* remove also ads from search results
* add Google search engine with English-only results, no RLZ and field trials
* updated adBlock filters
* fix build of x86 version (was broken in previous version)
# 63.0.3239.85
* no suggest URL for DuckDuckGo (https://github.com/bromite/bromite/issues/19)
* fixed 4chan blocking rule
* limit AMP links cleanup to search results only (fixes broken images/news result tabs)
* updated adBlock filters
# 63.0.3239.78
* correctly set version and build numbers
* updated adBlock filters
# 63.0.3239.73
# 63.0.3239.64
* updated adblock filters
* fixed an issue with incognito new tab
+1 -1
View File
@@ -35,7 +35,7 @@ ETH donations address: `0xf47ff39223d828f99fec5ab53bd068c5c0522042`
# F.A.Q.
## Does Google Sync work?
No. You would have to use your own API keys, which I do not know how you could pass via environment variables on Android.
No.
This is not a limitation of Bromite but of all Chromium-based projects in general, as general public is not allowed to use Google's APIs for free unless when using Chrome.
# Releases
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -1,14 +1,13 @@
commit 4035ce612520759de41a4870b0035946deea2efc
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu Oct 12 11:06:18 2017 +0200
Add DuckDuckGo search engine, not enabled by default
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
index 002b6c0..25e85ab 100644
index 002b6c0..7b4155b 100644
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -32,12 +32,23 @@
@@ -32,12 +32,22 @@
// Increment this if you change the data in ways that mean users with
// existing data should get a new version.
@@ -24,7 +23,6 @@ index 002b6c0..25e85ab 100644
+ "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
@@ -46,7 +44,7 @@ index c19dd0e..02f6b16 100644
};
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
index 862e001..7adede7 100644
index 6be17ee..ef50529 100644
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -50,548 +50,548 @@ namespace {
+717
View File
@@ -0,0 +1,717 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Dec 11 22:42:11 2017 +0100
Added Google English-only engine, no RLZ and field experiments
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -32,7 +32,7 @@
// Increment this if you change the data in ways that mean users with
// existing data should get a new version.
- "kCurrentDataVersion": 101
+ "kCurrentDataVersion": 102
},
// The following engines are included in country lists and are added to the
@@ -141,6 +141,27 @@
"id": 1
},
+ "googleen": {
+ "name": "GoogleEN",
+ "keyword": "google.co.uk",
+ "favicon_url": "https://www.google.com/favicon.ico",
+ "search_url": "{google:baseURL}search?q={searchTerms}&{google:originalQueryForSuggestion}{google:iOSSearchLanguage}{google:searchClient}{google:contextualSearchVersion}ie={inputEncoding}&hl=en",
+ "suggest_url": "{google:baseSuggestURL}search?client={google:suggestClient}&gs_ri={google:suggestRid}&xssi=t&q={searchTerms}&{google:inputType}{google:pageClassification}{google:searchVersion}{google:prefetchQuery}sugkey={google:suggestAPIKeyParameter}&hl=en",
+ "image_url": "{google:baseURL}searchbyimage/upload?hl=en",
+ "new_tab_url": "{google:baseURL}_/chrome/newtab?hl=en&ie={inputEncoding}",
+ "contextual_search_url": "{google:baseURL}_/contextualsearch?{google:contextualSearchVersion}{google:contextualSearchContextData}&hl=en",
+ "image_url_post_params": "encoded_image={google:imageThumbnail},image_url={google:imageURL},sbisrc={google:imageSearchSource},original_width={google:imageOriginalWidth},original_height={google:imageOriginalHeight}",
+ "alternate_urls": [
+ "{google:baseURL}?hl=en#q={searchTerms}",
+ "{google:baseURL}search?hl=en#q={searchTerms}",
+ "{google:baseURL}webhp?hl=en#q={searchTerms}",
+ "{google:baseURL}s?hl=en#q={searchTerms}",
+ "{google:baseURL}s?hl=en&q={searchTerms}"
+ ],
+ "type": "SEARCH_ENGINE_GOOGLE_EN",
+ "id": 13
+ },
+
"kvasir": {
"name": "Kvasir",
"keyword": "kvasir.no",
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h
@@ -65,6 +65,7 @@ enum SearchEngineType {
SEARCH_ENGINE_360,
SEARCH_ENGINE_DUCKDUCKGO,
SEARCH_ENGINE_STARTPAGE,
+ SEARCH_ENGINE_GOOGLE_EN,
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
--- 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, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Albania
const PrepopulatedEngine* const engines_AL[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Argentina
const PrepopulatedEngine* const engines_AR[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_ar,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_ar,
};
// Austria
const PrepopulatedEngine* const engines_AT[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_at,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_at,
};
// Australia
const PrepopulatedEngine* const engines_AU[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_au,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_au,
};
// Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Belgium
const PrepopulatedEngine* const engines_BE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo, &yahoo_fr,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo, &yahoo_fr,
};
// Bulgaria
const PrepopulatedEngine* const engines_BG[] = {
- &google, &startpage, &duckduckgo, &bing, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &ask,
};
// Bahrain
const PrepopulatedEngine* const engines_BH[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Burundi
const PrepopulatedEngine* const engines_BI[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Brunei
const PrepopulatedEngine* const engines_BN[] = {
- &google, &startpage, &duckduckgo, &yahoo_my, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_my, &bing,
};
// Bolivia
const PrepopulatedEngine* const engines_BO[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Brazil
const PrepopulatedEngine* const engines_BR[] = {
- &google, &startpage, &duckduckgo, &ask_br, &bing, &yahoo_br,
+ &googleen, &google, &startpage, &duckduckgo, &ask_br, &bing, &yahoo_br,
};
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
- &google, &startpage, &duckduckgo, &yandex_by, &mail_ru,
+ &googleen, &google, &startpage, &duckduckgo, &yandex_by, &mail_ru,
};
// Belize
const PrepopulatedEngine* const engines_BZ[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Canada
const PrepopulatedEngine* const engines_CA[] = {
- &google, &startpage, &duckduckgo, &bing, &ask, &yahoo_ca, &yahoo_qc,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &ask, &yahoo_ca, &yahoo_qc,
};
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_ch,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_ch,
};
// Chile
const PrepopulatedEngine* const engines_CL[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_cl,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_cl,
};
// China
const PrepopulatedEngine* const engines_CN[] = {
- &google, &startpage, &duckduckgo, &baidu, &sogou, &so_360,
+ &googleen, &google, &startpage, &duckduckgo, &baidu, &sogou, &so_360,
};
// Colombia
const PrepopulatedEngine* const engines_CO[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_co,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_co,
};
// Costa Rica
const PrepopulatedEngine* const engines_CR[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Czech Republic
const PrepopulatedEngine* const engines_CZ[] = {
- &google, &startpage, &duckduckgo, &seznam, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &seznam, &bing,
};
// Germany
const PrepopulatedEngine* const engines_DE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_de,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_de,
};
// Denmark
const PrepopulatedEngine* const engines_DK[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_dk,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_dk,
};
// Dominican Republic
const PrepopulatedEngine* const engines_DO[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Algeria
const PrepopulatedEngine* const engines_DZ[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
};
// Ecuador
const PrepopulatedEngine* const engines_EC[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Estonia
const PrepopulatedEngine* const engines_EE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Egypt
const PrepopulatedEngine* const engines_EG[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Spain
const PrepopulatedEngine* const engines_ES[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_es,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_es,
};
// Faroe Islands
const PrepopulatedEngine* const engines_FO[] = {
- &google, &startpage, &duckduckgo, &bing, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &ask,
};
// Finland
const PrepopulatedEngine* const engines_FI[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_fi,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_fi,
};
// France
const PrepopulatedEngine* const engines_FR[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_fr,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_fr,
};
// United Kingdom
const PrepopulatedEngine* const engines_GB[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_uk, &ask_uk,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_uk, &ask_uk,
};
// Greece
const PrepopulatedEngine* const engines_GR[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_gr,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_gr,
};
// Guatemala
const PrepopulatedEngine* const engines_GT[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Hong Kong
const PrepopulatedEngine* const engines_HK[] = {
- &google, &startpage, &duckduckgo, &yahoo_hk, &baidu, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_hk, &baidu, &bing,
};
// Honduras
const PrepopulatedEngine* const engines_HN[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Croatia
const PrepopulatedEngine* const engines_HR[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Hungary
const PrepopulatedEngine* const engines_HU[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Indonesia
const PrepopulatedEngine* const engines_ID[] = {
- &google, &startpage, &duckduckgo, &yahoo_id, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_id, &bing,
};
// Ireland
const PrepopulatedEngine* const engines_IE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_uk,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_uk,
};
// Israel
const PrepopulatedEngine* const engines_IL[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// India
const PrepopulatedEngine* const engines_IN[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_in,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_in,
};
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Iran
const PrepopulatedEngine* const engines_IR[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Italy
const PrepopulatedEngine* const engines_IT[] = {
- &google, &startpage, &duckduckgo, &virgilio, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &virgilio, &bing,
};
// Jamaica
const PrepopulatedEngine* const engines_JM[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Jordan
const PrepopulatedEngine* const engines_JO[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Japan
const PrepopulatedEngine* const engines_JP[] = {
- &google, &startpage, &duckduckgo, &yahoo_jp, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_jp, &bing,
};
// Kenya
const PrepopulatedEngine* const engines_KE[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Kuwait
const PrepopulatedEngine* const engines_KW[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// South Korea
const PrepopulatedEngine* const engines_KR[] = {
- &google, &startpage, &duckduckgo, &naver, &daum,
+ &googleen, &google, &startpage, &duckduckgo, &naver, &daum,
};
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
- &google, &startpage, &duckduckgo, &mail_ru, &yandex_kz,
+ &googleen, &google, &startpage, &duckduckgo, &mail_ru, &yandex_kz,
};
// Lebanon
const PrepopulatedEngine* const engines_LB[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_de,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_de,
};
// Lithuania
const PrepopulatedEngine* const engines_LT[] = {
- &google, &startpage, &duckduckgo, &bing, &yandex_ru,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yandex_ru,
};
// Luxembourg
const PrepopulatedEngine* const engines_LU[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_fr,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_fr,
};
// Latvia
const PrepopulatedEngine* const engines_LV[] = {
- &google, &startpage, &duckduckgo, &yandex_ru, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yandex_ru, &bing,
};
// Libya
const PrepopulatedEngine* const engines_LY[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Morocco
const PrepopulatedEngine* const engines_MA[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
};
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
- &google, &startpage, &duckduckgo, &yahoo_fr, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_fr, &bing,
};
// Moldova
const PrepopulatedEngine* const engines_MD[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Montenegro
const PrepopulatedEngine* const engines_ME[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Macedonia
const PrepopulatedEngine* const engines_MK[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Mexico
const PrepopulatedEngine* const engines_MX[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_mx,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_mx,
};
// Malaysia
const PrepopulatedEngine* const engines_MY[] = {
- &google, &startpage, &duckduckgo, &yahoo_my, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_my, &bing,
};
// Nicaragua
const PrepopulatedEngine* const engines_NI[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Netherlands
const PrepopulatedEngine* const engines_NL[] = {
- &google, &startpage, &duckduckgo, &yahoo_nl, &vinden,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_nl, &vinden,
};
// Norway
const PrepopulatedEngine* const engines_NO[] = {
- &google, &startpage, &duckduckgo, &bing, &kvasir,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &kvasir,
};
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_nz,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_nz,
};
// Oman
const PrepopulatedEngine* const engines_OM[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
};
// Panama
const PrepopulatedEngine* const engines_PA[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Peru
const PrepopulatedEngine* const engines_PE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_pe,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_pe,
};
// Philippines
const PrepopulatedEngine* const engines_PH[] = {
- &google, &startpage, &duckduckgo, &yahoo_ph, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_ph, &bing,
};
// Pakistan
const PrepopulatedEngine* const engines_PK[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Puerto Rico
const PrepopulatedEngine* const engines_PR[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Poland
const PrepopulatedEngine* const engines_PL[] = {
- &google, &startpage, &duckduckgo, &onet, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &onet, &bing,
};
// Portugal
const PrepopulatedEngine* const engines_PT[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Paraguay
const PrepopulatedEngine* const engines_PY[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Qatar
const PrepopulatedEngine* const engines_QA[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Romania
const PrepopulatedEngine* const engines_RO[] = {
- &google, &startpage, &duckduckgo, &yahoo_ro, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_ro, &bing,
};
// Serbia
const PrepopulatedEngine* const engines_RS[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Russia
const PrepopulatedEngine* const engines_RU[] = {
- &google, &startpage, &duckduckgo, &yandex_ru, &mail_ru,
+ &googleen, &google, &startpage, &duckduckgo, &yandex_ru, &mail_ru,
};
// Rwanda
const PrepopulatedEngine* const engines_RW[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = {
- &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_maktoob, &bing,
};
// Sweden
const PrepopulatedEngine* const engines_SE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_se,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_se,
};
// Singapore
const PrepopulatedEngine* const engines_SG[] = {
- &google, &startpage, &duckduckgo, &yahoo_sg, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_sg, &bing,
};
// Slovenia
const PrepopulatedEngine* const engines_SI[] = {
- &google, &startpage, &duckduckgo, &najdi, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &najdi, &ask,
};
// Slovakia
const PrepopulatedEngine* const engines_SK[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// El Salvador
const PrepopulatedEngine* const engines_SV[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Syria
const PrepopulatedEngine* const engines_SY[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
};
// Thailand
const PrepopulatedEngine* const engines_TH[] = {
- &google, &startpage, &duckduckgo, &yahoo_th, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_th, &bing,
};
// Tunisia
const PrepopulatedEngine* const engines_TN[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
};
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_tr, &yandex_tr,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_tr, &yandex_tr,
};
// Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Taiwan
const PrepopulatedEngine* const engines_TW[] = {
- &google, &startpage, &duckduckgo, &yahoo_tw, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_tw, &bing,
};
// Tanzania
const PrepopulatedEngine* const engines_TZ[] = {
- &google, &startpage, &duckduckgo, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo, &bing,
};
// Ukraine
const PrepopulatedEngine* const engines_UA[] = {
- &google, &startpage, &duckduckgo, &yandex_ua, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yandex_ua, &bing,
};
// United States
const PrepopulatedEngine* const engines_US[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo, &aol, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo, &aol, &ask,
};
// Uruguay
const PrepopulatedEngine* const engines_UY[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Venezuela
const PrepopulatedEngine* const engines_VE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_ve,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_ve,
};
// Vietnam
const PrepopulatedEngine* const engines_VN[] = {
- &google, &startpage, &duckduckgo, &yahoo_vn, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &yahoo_vn, &bing,
};
// Yemen
const PrepopulatedEngine* const engines_YE[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo_maktoob,
};
// South Africa
const PrepopulatedEngine* const engines_ZA[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &bing, &yahoo,
};
// Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = {
- &google, &startpage, &duckduckgo, &bing, &yahoo, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &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, &startpage, &duckduckgo, &kvasir,
+ &aol, &ask, &ask_br, &ask_uk, &baidu, &bing, &daum, &googleen, &google, &startpage, &duckduckgo, &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,
@@ -1,68 +0,0 @@
commit 07e215b4aaeb690d669dbc3ec8f4bce1b3df26d7
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat Oct 28 10:09:41 2017 +0200
Do not track google search results clicks
diff --git a/third_party/WebKit/Source/core/dom/BUILD.gn b/third_party/WebKit/Source/core/dom/BUILD.gn
index c069931..c458fef 100644
--- a/third_party/WebKit/Source/core/dom/BUILD.gn
+++ b/third_party/WebKit/Source/core/dom/BUILD.gn
@@ -344,6 +344,7 @@ blink_core_sources("dom") {
"events/TreeScopeEventContext.h",
"events/WindowEventContext.cpp",
"events/WindowEventContext.h",
+ "extensions/dont-track-me.h",
"ng/flat_tree_traversal_ng.cc",
"ng/flat_tree_traversal_ng.h",
"trustedtypes/TrustedHTML.cpp",
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp
index 9b88b42..89ae8df 100644
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -219,6 +219,7 @@
#include "core/xml/parser/XMLDocumentParser.h"
#include "core/xml_names.h"
#include "core/xmlns_names.h"
+#include "extensions/dont-track-me.h"
#include "platform/CrossThreadFunctional.h"
#include "platform/DateComponents.h"
#include "platform/EventDispatchForbiddenScope.h"
@@ -5785,8 +5786,24 @@ void Document::FinishedParsing() {
fetcher_->ClearResourcesFromPreviousFetcher();
}
- if (IsPrefetchOnly())
+ if (IsPrefetchOnly()) {
WebPrerenderingSupport::Current()->PrefetchFinished();
+ return;
+ }
+
+ // determine whether this is a Google search results page
+ SecurityOrigin *origin = GetSecurityOrigin();
+ if (origin) {
+ WTF::String domain = origin->Domain();
+ size_t pos = domain.Find(".google.");
+ auto* bodyElement = body();
+ if (bodyElement && (pos != WTF::kNotFound) && (domain.length() - pos - 8 < 4)) {
+ LOG(INFO) << "injecting dont-track-me Javascript payload";
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, false);
+ e->setText(DONT_TRACK_ME_JS);
+ bodyElement->AppendChild(e);
+ }
+ }
}
void Document::ElementDataCacheClearTimerFired(TimerBase*) {
diff --git a/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h b/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h
new file mode 100644
index 0000000..d6be4c1
--- /dev/null
+++ b/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h
@@ -0,0 +1,6 @@
+#ifndef dont_track_me_h
+#define dont_track_me_h
+
+#define DONT_TRACK_ME_JS "// Bromite click-tracking and AMP removal\nfunction recreateHyperlink(a) {\n // create new A element - old one has event listeners attached\n var newA = document.createElement('a');\n newA.referrerPolicy = 'origin';\n\n // remove AMP class, get actual page URL\n var ampCur = a.getAttribute('data-amp-cur');\n if (ampCur) {\n newA.href = ampCur;\n a.classList.remove('amp_r');\n } else {\n var realLink = getRealLinkFromGoogleUrl(a);\n if (realLink) {\n newA.href = realLink;\n } else {\n // might not be an actual hyperlink, ignore it\n if (!a.href) {\n return;\n }\n newA.href = a.href;\n }\n }\n // copy CSS classes\n newA.className = a.className;\n\n // copy nodes inside the hyperlink\n while (a.firstChild) {\n newA.appendChild(a.lastChild);\n }\n // replace hyperlink\n a.parentNode.replaceChild(newA, a);\n}\n\n/**\n * @returns {String} the real URL if the given link is a Google redirect URL.\n */\nfunction getRealLinkFromGoogleUrl(a) {\n if ((a.hostname === location.hostname || a.hostname === 'www.google.com') &&\n /^\\/(local_)?url$/.test(a.pathname)) {\n // Google Maps / Dito (/local_url?q=<url>)\n // Mobile (/url?q=<url>)\n var url = /[?&](?:q|url)=((?:https?|ftp)[%:][^&]+)/.exec(a.search);\n if (url) {\n return decodeURIComponent(url[1]);\n }\n // Help pages, e.g. safe browsing (/url?...&q=%2Fsupport%2Fanswer...)\n url = /[?&](?:q|url)=((?:%2[Ff]|\\/)[^&]+)/.exec(a.search);\n if (url) {\n return a.origin + decodeURIComponent(url[1]);\n }\n }\n}\n\nfunction sanitizeAllHyperlinks() {\n // scan all hyperlinks\n var hyperlinks = document.getElementsByTagName('a');\n for (var i = 0; i < hyperlinks.length; i++) {\n recreateHyperlink(hyperlinks[i]);\n }\n}\n\nsanitizeAllHyperlinks();\n"
+
+#endif // dont_track_me_h
@@ -0,0 +1,67 @@
commit b944811d1324b0d16d4f40ff7420a3fe3c69fd52
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat Oct 28 10:09:41 2017 +0200
Do not track google search results clicks, remove AMP
diff --git a/third_party/WebKit/Source/core/dom/BUILD.gn b/third_party/WebKit/Source/core/dom/BUILD.gn
index 93f080f..2df8d30 100644
--- a/third_party/WebKit/Source/core/dom/BUILD.gn
+++ b/third_party/WebKit/Source/core/dom/BUILD.gn
@@ -344,6 +344,7 @@ blink_core_sources("dom") {
"events/TreeScopeEventContext.h",
"events/WindowEventContext.cpp",
"events/WindowEventContext.h",
+ "extensions/dont-track-me.h",
"trustedtypes/TrustedHTML.cpp",
"trustedtypes/TrustedHTML.h",
"trustedtypes/TrustedScriptURL.cpp",
diff --git a/third_party/WebKit/Source/core/dom/Document.cpp b/third_party/WebKit/Source/core/dom/Document.cpp
index b53451c..ecfa473 100644
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -218,6 +218,7 @@
#include "core/xml/parser/XMLDocumentParser.h"
#include "core/xml_names.h"
#include "core/xmlns_names.h"
+#include "extensions/dont-track-me.h"
#include "platform/CrossThreadFunctional.h"
#include "platform/DateComponents.h"
#include "platform/EventDispatchForbiddenScope.h"
@@ -5826,8 +5827,24 @@ void Document::FinishedParsing() {
fetcher_->ClearResourcesFromPreviousFetcher();
}
- if (IsPrefetchOnly())
+ if (IsPrefetchOnly()) {
WebPrerenderingSupport::Current()->PrefetchFinished();
+ return;
+ }
+
+ // determine whether this is a Google search results page
+ const SecurityOrigin *origin = GetSecurityOrigin();
+ if (origin) {
+ WTF::String domain = origin->Domain();
+ size_t pos = domain.Find(".google.");
+ auto* bodyElement = body();
+ if (bodyElement && (pos != WTF::kNotFound) && (domain.length() - pos - 8 < 4)) {
+ LOG(INFO) << "BRM: injecting dont-track-me Javascript payload";
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, false);
+ e->setText(DONT_TRACK_ME_JS);
+ bodyElement->AppendChild(e);
+ }
+ }
}
void Document::ElementDataCacheClearTimerFired(TimerBase*) {
diff --git a/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h b/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h
new file mode 100644
--- /dev/null
+++ b/third_party/WebKit/Source/core/dom/extensions/dont-track-me.h
@@ -0,0 +1,6 @@
+#ifndef dont_track_me_h
+#define dont_track_me_h
+
+#define DONT_TRACK_ME_JS "/* Bromite click-tracking and AMP removal v0.3.5 */\n\nfunction recreateHyperlink(a) {\n // skip already-sanitized hyperlinks\n if (a.sane) return false;\n\n // create new A element - old one has event listeners attached\n var newA = document.createElement('a');\n newA.referrerPolicy = 'origin';\n // property set when hyperlink has been created by this script\n newA.sane = 1;\n\n // remove AMP class, get actual page URL\n var ampCur = a.getAttribute('data-amp-cur');\n if (ampCur) {\n newA.href = ampCur;\n a.classList.remove('amp_r');\n } else {\n var realLink = getRealLinkFromGoogleUrl(a);\n if (realLink) {\n newA.href = realLink;\n } else {\n // might not be an actual hyperlink, ignore it\n if (!a.href) {\n return false;\n }\n // leave original href unchanged\n newA.href = a.href;\n }\n }\n // copy CSS classes\n newA.className = a.className;\n\n // copy nodes inside the hyperlink\n while (a.firstChild) {\n newA.appendChild(a.lastChild);\n }\n // replace hyperlink\n a.parentNode.replaceChild(newA, a);\n return true;\n}\n\nfunction isResult(a) {\n if (a.getAttribute('data-amp-cur'))\n return true;\n var inlineMousedown = a.getAttribute('onmousedown');\n if (!inlineMousedown)\n\treturn false;\n // return rwt(....); // E.g Google search results.\n // return google.rwt(...); // E.g. sponsored search results\n // return google.arwt(this); // E.g. sponsored search results (dec 2016).\n return /\\ba?rwt\\(/.test(inlineMousedown) || /\\bctpacw\\b/.test(inlineMousedown);\n}\n\n// sanitize hyperlinks as they are long-touched - currently unused\n/*function handlePointerPress(e) {\n var a = e.target;\n while (a && !a.href) {\n a = a.parentElement;\n }\n if (!a) {\n return;\n }\n if (isResult(a)) {\n // In Chrome, removing onmousedown during event dispatch does not\n // prevent the inline listener from running... So we have to cancel\n // event propagation just in case.\n e.stopImmediatePropagation();\n\n a.removeAttribute('onmousedown');\n // remove also ping and oncontextmenu, just in case\n a.removeAttribute('ping');\n a.removeAttribute('oncontextmenu');\n // (event attributes are removed here, but hyperlinks is going to be re-created anyway)\n\n recreateHyperlink(a);\n }\n}*/\n\n/**\n * @returns {String} the real URL if the given link is a Google redirect URL.\n */\nfunction getRealLinkFromGoogleUrl(a) {\n if ((a.hostname === location.hostname || a.hostname.indexOf('www.google.') == 0) &&\n /^\\/(local_)?url$/.test(a.pathname)) {\n // Google Maps / Dito (/local_url?q=<url>)\n // Mobile (/url?q=<url>)\n var url = /[?&](?:q|url)=((?:https?|ftp)[%:][^&]+)/.exec(a.search);\n if (url) {\n return decodeURIComponent(url[1]);\n }\n // Help pages, e.g. safe browsing (/url?...&q=%2Fsupport%2Fanswer...)\n url = /[?&](?:q|url)=((?:%2[Ff]|\\/)[^&]+)/.exec(a.search);\n if (url) {\n return a.origin + decodeURIComponent(url[1]);\n }\n }\n}\n\nfunction sanitizeAds() {\n // scan all divs\n var div = document.getElementById('tads');\n if (div) {\n div.style.display = 'none';\n\treturn true;\n }\n return false;\n}\n\nfunction sanitizeAll() {\n console.log(\"ads removed: \", sanitizeAds());\n console.log(\"hyperlinks sanitized: \", sanitizeAllHyperlinks());\n}\n\nfunction setMlogoClick() {\n var mlogo = document.getElementById('mlogo');\n if (mlogo) {\n mlogo.removeAttribute(\"href\");\n mlogo.setAttribute(\"onclick\", \"sanitizeAll()\");\n console.log(\"logo link replaced\");\n } else {\n console.log(\"could not replace logo link\");\n }\n}\n\nfunction sanitizeAllHyperlinks() {\n var saned = 0, total = 0;\n document.querySelectorAll('div[data-hveid]:not([data-hveid=\"\"]) a').forEach(function(a) {\n\ttotal++;\n\tvar res = recreateHyperlink(a);\n\tif (res) saned++;\n });\n console.log(\"sanitized \", saned, \"/\", total, \" hyperlinks\");\n\n return saned;\n}\n\n// avoid running cleanup on non-search pages\nif ((document.location.host.indexOf(\"images.google.\") == -1) && (document.location.host.indexOf(\"news.google.\") == -1)) {\n// document.addEventListener('touchstart', handlePointerPress, true);\n sanitizeAll();\n}\nsetMlogoClick();\n"
+
+#endif // dont_track_me_h