Compare commits

...
Author SHA1 Message Date
csagan5 f4b6592dbc Latest release 64.0.3282.149 2018-02-07 20:05:21 +01:00
csagan5 0d6534d9eb Release 63.0.3239.150 2018-01-27 13:06:54 +01:00
csagan5 b869bb5b7b Specify minimum Android version as v4.1 2018-01-17 20:41:25 +01:00
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
csagan5 00ad417ff8 Updated patches for release 63.0.3239.64 2017-11-27 15:04:24 +01:00
csagan5 af04dfea67 Update patch to fix the incognito new tab 2017-11-26 11:59:36 +01:00
csagan5 b26461b55f Adapted patch to latest Chromium 2017-11-26 11:06:20 +01:00
csagan5 39f5761729 Added explanation for Google Sync
Removed no-more-working (and dubious) patch
2017-11-14 08:56:41 +01:00
CarlandGitHub 10cc8c8310 Fixed formatting, added 63.0.3239.38 2017-11-07 23:22:59 +01:00
csagan5 4c844ba92d Added new release to changelog 2017-11-02 20:49:34 +01:00
csagan5 d855bc2f8f Add correct URL 2017-10-31 10:27:11 +01:00
csagan5 bffc981dca Add license shield 2017-10-31 10:25:04 +01:00
csagan5 fc970af553 Add title to logo 2017-10-31 10:21:27 +01:00
csagan5 fb79f25139 Add shield URLs 2017-10-31 10:19:19 +01:00
csagan5 3f68ef470d Add version badge 2017-10-31 10:17:14 +01:00
csagan5 ce004bc49a Mention removal of AMP from search results 2017-10-30 17:53:16 +01:00
csagan5 a99533f633 Latest version of the patch with AMP removal 2017-10-30 17:49:04 +01:00
10 changed files with 42696 additions and 51233 deletions
+70 -13
View File
@@ -1,3 +1,60 @@
# 64.0.3282.149
* updated AdBlock filters
# 63.0.3239.150
* fixed crash when clicking on address bar lock (page info) or opening site settings (https://github.com/bromite/bromite/issues/28)
* build H264 with NEON optimizations for ARMv7
* updated AdBlock filters
* more builds for arm64 architecture
# 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
* permanent disable for ToS/metrics and unused auto-updates check
# 63.0.3239.46
* removed search engine geolocation default patch
# 63.0.3239.38
# 63.0.3239.27
# 63.0.3239.24
* convert AMP search results to regular search results
# 63.0.3239.15
* remove URL tracking from Google search results
* disable webRTC by default (https://github.com/bromite/bromite/issues/9, still not working proper)
@@ -18,16 +75,16 @@
* first release with NoChromo adblocking patch
* Bromite patch: disable NTP remote suggestions
* added some Inox/Iridium/Ungoogled-Chromium patches, namely:
** DuckDuckGo search engine
** disable battery status service
** disable formatting in OmniBox
** disable GCM status checks
** use local fonts instead of fonts from Google servers
** disable updater pings
** do not enable Google integrations by default (translation, lookup, etc)
** disable the ad promo system
** do not store passwords by default
** do not fetch Google promotions
** restore classic NTP
** only keep cookies until exit
** block third-party cookies
* DuckDuckGo search engine
* disable battery status service
* disable formatting in OmniBox
* disable GCM status checks
* use local fonts instead of fonts from Google servers
* disable updater pings
* do not enable Google integrations by default (translation, lookup, etc)
* disable the ad promo system
* do not store passwords by default
* do not fetch Google promotions
* restore classic NTP
* only keep cookies until exit
* block third-party cookies
+16 -3
View File
@@ -1,10 +1,12 @@
# Bromite - Take back your browser
<img src="https://www.bromite.org/android-icon-192x192.png" width="96" alt="Bromite" />
[![GitHub release][version-image]][version-url] [![license][license-image]][license-url]
<img title="Bromite - take back your browser!" src="https://www.bromite.org/android-icon-192x192.png" width="96" alt="Bromite" />
Bromite is [Chromium](https://www.chromium.org/Home) plus some patches for ad blocking and enhanced privacy.
Bromite is only available for Android v4 and above.
Bromite is only available for Android v4.1 and above.
See [open issues](https://github.com/bromite/bromite/issues) for the development in progress.
@@ -23,13 +25,19 @@ ETH donations address: `0xf47ff39223d828f99fec5ab53bd068c5c0522042`
# Features
* adblocking (currently baked-in, no configuration options available)
* remove click-tracking from Google search results
* remove click-tracking and AMP from Google search results
* [StartPage](https://startpage.com/) search engine (select it from search engines under settings)
* [DuckDuckGo](https://duckduckgo.com/) search engine (select it from search engines under settings)
* privacy enhancement patches from Inox patchset, ungoogled-chromium and Iridium projects
* all codecs included (proprietary, open H.264 etc.)
* built with official Chrome optimizations
# F.A.Q.
## Does Google Sync work?
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
A build server goes through the very lengthy build operation and then new versions are available in this project as [releases](https://github.com/bromite/bromite/releases).
@@ -54,3 +62,8 @@ Please refer to [official Chromium build documentation](https://www.chromium.org
# License
The patches published as part of the Bromite project are released under [GNU GPL v3](./LICENSE).
[version-image]: https://img.shields.io/github/release/bromite/bromite.svg?style=flat-square
[version-url]: https://github.com/bromite/bromite/releases/latest
[license-image]: https://img.shields.io/github/license/bromite/bromite.svg
[license-url]: https://github.com/bromite/bromite/blob/master/LICENSE
File diff suppressed because it is too large Load Diff
@@ -1,69 +0,0 @@
From bc266421a13f4967a3d5b49830c338f59e4f2dd5 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Tue, 1 Aug 2017 20:29:56 -0400
Subject: [PATCH 19/21] stop enabling search engine geolocation by default
---
.../search_geolocation_service.cc | 25 ++++++++++------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/chrome/browser/android/search_geolocation/search_geolocation_service.cc b/chrome/browser/android/search_geolocation/search_geolocation_service.cc
index 0ed5540c3262..e5721d53c344 100644
--- a/chrome/browser/android/search_geolocation/search_geolocation_service.cc
+++ b/chrome/browser/android/search_geolocation/search_geolocation_service.cc
@@ -208,7 +208,14 @@ void SearchGeolocationService::SetDSEGeolocationSetting(bool setting) {
pref.setting = setting;
SetDSEGeolocationPref(pref);
- ResetContentSetting();
+ url::Origin origin = delegate_->GetDSEOrigin();
+ if (setting) {
+ host_content_settings_map_->SetContentSettingDefaultScope(
+ origin.GetURL(), origin.GetURL(), CONTENT_SETTINGS_TYPE_GEOLOCATION,
+ std::string(), CONTENT_SETTING_ALLOW);
+ } else {
+ ResetContentSetting();
+ }
}
url::Origin SearchGeolocationService::GetDSEOriginIfEnabled() {
@@ -232,11 +239,7 @@ void SearchGeolocationService::OnDSEChanged() {
// Remove any geolocation embargo on the URL.
PermissionDecisionAutoBlocker::GetForProfile(profile_)->RemoveEmbargoByUrl(
delegate_->GetDSEOrigin().GetURL(), CONTENT_SETTINGS_TYPE_GEOLOCATION);
- if (content_setting == CONTENT_SETTING_BLOCK && pref.setting) {
- pref.setting = false;
- } else if (content_setting == CONTENT_SETTING_ALLOW && !pref.setting) {
- ResetContentSetting();
- }
+ pref.setting = content_setting == CONTENT_SETTING_ALLOW;
if (new_dse_name != pref.dse_name && pref.setting)
SearchGeolocationDisclosureTabHelper::ResetDisclosure(profile_);
@@ -279,7 +282,7 @@ void SearchGeolocationService::InitializeDSEGeolocationSettingIfNeeded() {
PrefValue pref;
pref.dse_name = delegate_->GetDSEName();
- pref.setting = content_setting != CONTENT_SETTING_BLOCK;
+ pref.setting = content_setting == CONTENT_SETTING_ALLOW;
SetDSEGeolocationPref(pref);
SearchGeolocationDisclosureTabHelper::ResetDisclosure(profile_);
@@ -289,13 +292,7 @@ void SearchGeolocationService::InitializeDSEGeolocationSettingIfNeeded() {
void SearchGeolocationService::EnsureDSEGeolocationSettingIsValid() {
PrefValue pref = GetDSEGeolocationPref();
ContentSetting content_setting = GetCurrentContentSetting();
- bool new_setting = pref.setting;
-
- if (pref.setting && content_setting == CONTENT_SETTING_BLOCK) {
- new_setting = false;
- } else if (!pref.setting && content_setting == CONTENT_SETTING_ALLOW) {
- new_setting = true;
- }
+ bool new_setting = content_setting == CONTENT_SETTING_ALLOW;
if (pref.setting != new_setting) {
pref.setting = new_setting;
--
2.14.2
+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,
@@ -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) << "Bromite: 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/**\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
+19 -19
View File
@@ -1,4 +1,4 @@
commit ead3cfcf33af7b007ef266068e9c1a5a512200f4
commit 3075d5cc23f69b42c80690162426ae2501cd2b5b
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu Oct 12 08:09:24 2017 +0200
@@ -18,10 +18,10 @@ index 6b66f9e..ac44881 100644
void BackgroundModeManager::RegisterProfile(Profile* profile) {
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 762dc0b..33e81b4 100644
index a96f159e..7f7e9cf 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -844,7 +844,7 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
@@ -877,7 +877,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -31,10 +31,10 @@ index 762dc0b..33e81b4 100644
}
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
index 521f155..6fb04a9 100644
index e6ccce4..1e37c2b 100644
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -610,7 +610,7 @@ void IOThread::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -612,7 +612,7 @@ void IOThread::RegisterPrefs(PrefRegistrySimple* registry) {
std::string());
registry->RegisterBooleanPref(prefs::kEnableReferrers, true);
data_reduction_proxy::RegisterPrefs(registry);
@@ -42,7 +42,7 @@ index 521f155..6fb04a9 100644
+ registry->RegisterBooleanPref(prefs::kBuiltInDnsClientEnabled, false);
registry->RegisterBooleanPref(prefs::kQuickCheckEnabled, true);
registry->RegisterBooleanPref(prefs::kPacHttpsUrlStrippingEnabled, true);
}
#if defined(OS_POSIX)
diff --git a/chrome/browser/net/prediction_options.cc b/chrome/browser/net/prediction_options.cc
index 8ab8a07..967bf2f 100644
--- a/chrome/browser/net/prediction_options.cc
@@ -70,7 +70,7 @@ index 6512483..4c55a19 100644
enum class NetworkPredictionStatus {
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
index 9bfac12..243f176 100644
index 52042ee..b1acb4a 100644
--- a/chrome/browser/profiles/profile.cc
+++ b/chrome/browser/profiles/profile.cc
@@ -136,7 +136,7 @@ const char Profile::kNoHostedDomainFound[] = "NO_HOSTED_DOMAIN";
@@ -96,10 +96,10 @@ index b46a992..9d353d9 100644
</div>
</dialog>
diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
index 01f0f66..e0ce4b1 100644
index 0f4bdb3..77e4810 100644
--- a/chrome/browser/signin/signin_promo.cc
+++ b/chrome/browser/signin/signin_promo.cc
@@ -329,8 +329,8 @@ void ForceWebBasedSigninFlowForTesting(bool force) {
@@ -371,8 +371,8 @@ void ForceWebBasedSigninFlowForTesting(bool force) {
void RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterIntegerPref(prefs::kSignInPromoStartupCount, 0);
@@ -111,15 +111,15 @@ index 01f0f66..e0ce4b1 100644
}
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
index 79f4e19..946f7cd 100644
index bcd4d0e..2302f0f 100644
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -62,11 +62,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -59,11 +59,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
registry->RegisterBooleanPref(
prefs::kEnableTranslate,
- true,
+ false,
- prefs::kOfferTranslateEnabled, true,
+ prefs::kOfferTranslateEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterStringPref(prefs::kCloudPrintEmail, std::string());
registry->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true);
@@ -170,10 +170,10 @@ index 83a4617..4b8511c 100644
xmpp_ping_enabled_ = prefs->GetBoolean(
prefs::kCloudPrintXmppPingEnabled, false);
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
index a0e6cae..10a49c3 100644
index 9468cf2..86366ca 100644
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
@@ -274,7 +274,7 @@ void AutofillManager::RegisterProfilePrefs(
@@ -211,7 +211,7 @@ void AutofillManager::RegisterProfilePrefs(
registry->RegisterIntegerPref(
prefs::kAutofillCreditCardSigninPromoImpressionCount, 0);
registry->RegisterBooleanPref(
@@ -183,7 +183,7 @@ index a0e6cae..10a49c3 100644
registry->RegisterBooleanPref(
prefs::kAutofillProfileUseDatesFixed, false,
diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmarks/browser/bookmark_utils.cc
index a0b9d39..ef0dd6b 100644
index 8455e49..c7e70c0 100644
--- a/components/bookmarks/browser/bookmark_utils.cc
+++ b/components/bookmarks/browser/bookmark_utils.cc
@@ -442,12 +442,12 @@ void GetBookmarksMatchingProperties(BookmarkModel* model,
@@ -202,10 +202,10 @@ index a0b9d39..ef0dd6b 100644
registry->RegisterBooleanPref(
prefs::kShowManagedBookmarksInBookmarkBar,
diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components/safe_browsing/common/safe_browsing_prefs.cc
index 2ebf20d..7866663 100644
index a05123f..4b8b05cb 100644
--- a/components/safe_browsing/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/common/safe_browsing_prefs.cc
@@ -372,9 +372,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -343,9 +343,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
@@ -1,68 +0,0 @@
commit 9032b89c5a4c28d43c5a13f8bc151c71acad874b
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 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 b7c5748..4978c84 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"
@@ -5825,8 +5826,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) << "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
index 0000000..57a7670
--- /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 "/* click-tracking removal - from https://github.com/Rob--W/dont-track-me-google */\n\nfunction sanitizeHyperlink(a) {\n var inlineMousedown = a.getAttribute('onmousedown');\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 if (inlineMousedown && /\\ba?rwt\\(/.test(inlineMousedown)) {\n a.removeAttribute('onmousedown');\n }\n var realLink = getRealLinkFromGoogleUrl(a);\n if (realLink) {\n a.href = realLink;\n }\n a.referrerPolicy = 'origin';\n\n var ping = a.getAttribute('ping');\n if (ping && /\\/url\\?/.test(ping)) {\n a.removeAttribute('oncontextmenu');\n a.removeAttribute('ping');\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 === '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\t// scan all hyperlinks\n\tvar hyperlinks = document.getElementsByTagName('a');\n\tfor(var i = 0; i < hyperlinks.length; i++) {\n\t\tvar a = hyperlinks[i];\n\t\tif (a.href)\n\t\t\tsanitizeHyperlink(a);\n\t}\n}\n\nsanitizeAllHyperlinks();\n"
+
+#endif // dont_track_me_h
+8 -17
View File
@@ -1,29 +1,20 @@
commit 5fd5caead1e313462bc84c22aab44404af1a918d
commit a53d9cf12fb835938c2d2ad641633126a07bf636
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 22:54:53 2017 +0200
Date: Sun Nov 26 11:40:05 2017 +0100
Restore classic new tab page
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
index dae4dd5..60411ce 100644
index b756cb0..5785c581 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);
@@ -171,9 +171,6 @@ struct NewTabURLDetails {
NewTabURLState state = IsValidNewTabURL(profile, search_provider_url);
- switch (state) {
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;
case NEW_TAB_URL_INCOGNITO:
// Incognito has its own New Tab.
return NewTabURLDetails(GURL(), state);