Compare commits

...
Author SHA1 Message Date
csagan5 3b1875efed Release 67.0.3396.88 2018-06-15 11:26:26 +02:00
csagan5 acba336f2e Add links for all related projects/credits 2018-06-12 14:04:27 +02:00
csagan5 61b6f9ee1d Align with home page 2018-06-11 21:27:04 +02:00
csagan5 210a14d7ed Release 67.0.3396.82 2018-06-11 18:55:40 +02:00
csagan5 91cc88eb37 Updated changelog 2018-06-09 11:12:45 +02:00
csagan5 4fc10e560b Release 67.0.3396.76 2018-06-08 23:59:52 +02:00
CarlandGitHub 01ecc5d52f Add link to Patreon 2018-06-04 20:53:49 +02:00
csagan5 7edcab0232 Add missing patch 2018-06-04 20:46:26 +02:00
csagan5 b4ada5bd99 Release 67.0.3396.72 2018-06-04 20:45:57 +02:00
csagan5 cfa7aca62a Add missing patch 2018-06-01 15:59:14 +02:00
csagan5 9eca1ff0b3 Release 67.0.3396.67 2018-06-01 15:58:52 +02:00
csagan5 aac51e0a5a Release 66.0.3359.202 2018-05-29 20:52:06 +02:00
csagan5 ea53ed1889 Release 66.0.3359.200 2018-05-26 11:13:29 +02:00
csagan5 780bb60137 Release 66.0.3359.196 2018-05-24 09:59:15 +02:00
csagan5 0fd859a0a6 Two new patches 2018-05-20 22:07:39 +02:00
csagan5 03645239a9 Release 66.0.3359.188 2018-05-20 22:07:14 +02:00
csagan5 ec5be6c048 Release 66.0.3359.161 2018-05-08 21:51:11 +02:00
csagan5 67651fbd75 Do not use special release svg 2018-05-05 20:12:38 +02:00
csagan5 6b758bfe0c Added patches for previous release 2018-05-05 20:11:18 +02:00
csagan5 49ae827092 Release 66.0.3359.148 2018-05-05 00:51:00 +02:00
csagan5 01ad976b53 Release 65.0.3325.230 2018-04-21 22:39:52 +02:00
csagan5 38a672a1ca Updated CHANGELOG 2018-04-12 09:47:34 +02:00
csagan5 a723e0e77d Release 65.0.3325.218 2018-04-12 09:38:58 +02:00
CarlandGitHub 3abb1ad2a3 Mention anti-fingerprinting mitigations 2018-04-05 10:54:31 +02:00
csagan5 d7e8ac9d86 Add latest AdBlock filters 2018-04-01 12:05:30 +02:00
csagan5 284c419d01 Release 65.0.3325.204 2018-04-01 11:43:20 +02:00
csagan5 2dca759091 Publish patches for next release 2018-04-01 11:29:50 +02:00
csagan5 11cebfadc5 Release 65.0.3325.198 2018-03-29 09:20:10 +02:00
csagan5 e4e56ed69c Updated README, added Goals 2018-03-28 18:12:04 +02:00
CarlandGitHub 7dcc27cb5e Mention SystemWebView 2018-03-28 01:43:32 +02:00
csagan5 8b494263c3 Release 65.0.3325.190 2018-03-26 09:25:48 +02:00
csagan5 4029e8843d Further improvements for fingerprinting mitigations 2018-03-26 00:07:08 +02:00
csagan5 85a9737c16 Adblock update 2018-03-24 16:04:45 +01:00
csagan5 247247a8ae Properly format commit messages of the patches
Add patch for canvas fingerprinting disable
2018-03-24 14:26:47 +01:00
csagan5 4bfb168982 Add F.A.Q. about root 2018-03-24 07:19:48 +01:00
csagan5 1652ef39b1 Updated README 2018-03-24 05:05:57 +01:00
csagan5 190ee08724 Mention Qwant 2018-03-24 05:04:34 +01:00
csagan5 367a2521a0 Patch to block battery API
Patch to block plugins enumeration
2018-03-24 04:32:56 +01:00
csagan5 6b1cbc612a Patches ready for 65.0.3325.176 2018-03-24 04:32:56 +01:00
CarlandGitHub d0f89298b8 Add another F.A.Q. 2018-03-20 21:55:55 +01:00
csagan5 9adbcaf262 Add F.A.Q. about HTTPS everywhere 2018-03-19 00:45:49 +01:00
csagan5 ef067cd35d Move F.A.Q. up 2018-03-18 23:44:13 +01:00
csagan5 e08ef39d4e Put images on same line 2018-03-18 23:35:50 +01:00
csagan5 33f1df4d26 Fix download images URL 2018-03-18 23:35:26 +01:00
csagan5 29e6c35657 Release 64.0.3282.204 2018-03-10 09:34:55 +01:00
csagan5 148f920a06 Add webRTC disabled to features list 2018-03-05 08:12:59 +01:00
csagan5 c5e38e8077 Release 64.0.3282.193 2018-03-05 01:16:47 +01:00
csagan5 94a0637fb1 Add XDA Labs downloads badge 2018-03-04 20:54:36 +01:00
csagan5 db00f3e4f4 Add downloads badge 2018-03-04 17:33:18 +01:00
45 changed files with 103854 additions and 99500 deletions
+89
View File
@@ -1,3 +1,92 @@
# 67.0.3396.88
* add flag for DNS-over-HTTPS (Google experimental DNS) (fixes https://github.com/bromite/bromite/issues/68)
* disable signin, translate and data saver UI/internal components (fixes https://github.com/bromite/bromite/issues/67)
* rename `GoogleEN` -> `Google In English` (fixes https://github.com/bromite/bromite/issues/66)
* re-enabled text metrics and ToDataURL, ToBlob with randomisation of color data (fixes https://github.com/bromite/bromite/issues/52)
* open YouTube links in Bromite
* use Android Media Player for URLs
* add exit menu item
* hide "send reports to Google" menu item
* updated AdBlock filters
# 67.0.3396.82
* updated AdBlock filters
# 67.0.3396.76
* updated AdBlock filters
# 67.0.3396.72
* add global toggle for adblock engine (https://github.com/bromite/bromite/issues/53)
* updated AdBlock filters
# 67.0.3396.67
* updated AdBlock filters
# 66.0.3359.202
* fix DevTools integration (https://github.com/bromite/bromite/issues/23)
* allow toggling of Javascript from New Tab Page (fixes https://github.com/bromite/bromite/issues/60)
* updated AdBlock filters
# 66.0.3359.200
* updated AdBlock filters
# 66.0.3359.196
* updated AdBlock filters
# 66.0.3359.188
* updated AdBlock filters
* increase max (persistent) connections per server from 6 to 15
* preliminary work for better canvas fingerprinting mitigations
# 66.0.3359.161
* updated AdBlock filters
# 66.0.3359.148
* disable permanently all custom tab intents (https://github.com/bromite/bromite/issues/17)
* updated AdBlock filters
* reduce randomisation for client rects from 5% to 3%
# 65.0.3325.230
* fixed permission to access Google account issue (https://github.com/bromite/bromite/issues/11)
* updated AdBlock filters
# 65.0.3325.218
* always set WideVine version
* updated AdBlock filters
# 65.0.3325.204
* add menu option to toggle global Javascript preferences setting (https://github.com/bromite/bromite/issues/37)
* add fingeprinting mitigation for getClientRects, getBoundingClientRect
* set audio latency to fixed number
* updated AdBlock filters
# 65.0.3325.198
* re-landed support for third-party AdBlock filters
* completed patches cleanup
* updated AdBlock filters
# 65.0.3325.190
* block some Canvas and AudioBuffer APIs mostly used for fingerprinting (https://github.com/bromite/bromite/issues/15)
* updated AdBlock filters
# 65.0.3325.176
* block plugins enumeration API
* block battery API
* remove device name and build id from User Agent
* added Qwant search engine
* updated AdBlock filters
* disable non-working 3rd-party filters support
# 64.0.3282.204
* use H264 NEON optimizations also for arm64
* fix build of Stable channel
* updated AdBlock filters
* started building vanilla Chromium releases as well
# 64.0.3282.193
* updated AdBlock filters
* disable reporting
# 64.0.3282.182
* add support for domain-based adblock filters
* optimized memory allocation for filters
+46 -16
View File
@@ -1,6 +1,6 @@
# Bromite - Take back your browser
[![GitHub release][version-image]][version-url] [![license][license-image]][license-url]
<img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> [![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" />
@@ -10,10 +10,19 @@ Bromite is only available for Android v4.1 and above.
See [open issues](https://github.com/bromite/bromite/issues) for the development in progress.
<img src="https://www.bromite.org/bromite_bromite_gh_downloads.svg" alt="downloads on Github" title="downloads on Github" /> <img src="https://www.bromite.org/bromite_bromite_xda_downloads.svg" alt="downloads on XDA Labs" title="downloads on XDA Labs" />
# Goals
Bromite aims at providing a no-clutter browsing experience without privacy-invasive features and with the addition of a fast ad-blocking engine.
Minimal UI changes are applied to help curbing the idea of "browser as an advertisement platform".
# Donate
Please donate to support development of Bromite and the costs for the build system.
[Become a patron on Patreon](https://www.patreon.com/bePatron?c=1807244)
Support development with a donation of 3 EUR: [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2)
Support development with a free amount donation: [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LC7Q6A3UAQPY8)
@@ -22,33 +31,53 @@ BTC donations address: `3MkC3idL61npQSCxL1gceksmRTkNkiCPcG`
ETH donations address: `0xf47ff39223d828f99fec5ab53bd068c5c0522042`
# Features
* adblocking (currently baked-in, no configuration options available)
* remove click-tracking and AMP from Google search results
* allow youtube/vimeo videos to play in background
* [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)
* Google search engines English-only with reduced tracking (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 optimizations
# F.A.Q.
## Does Google Sync/Translate/Data saver 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.
## What is the SystemWebView?
It is the core component of Android for all web page visualizations. For example when you access a new wifi network and need to activate it, that is using the SystemWebView. If you do not know what it is then you do not need to install it.
## Does Bromite require root?
No.
## Can you add dark mode/some cool themes?
No.
Bromite is about adblocking and privacy.
## Can you add HTTPS everywhere?
No.
We cannot add add-ons to Bromite (merely some features) and anyway HTTPS everywhere in particular is too invasive to be easily maintained across new releases.
# Features
* baked-in adblock engine with filters from EasyList, EasyPrivacy and others
* remove click-tracking and AMP from Google search results
* DNS-over-HTTPS support via Google/CloudFlare servers
* allow playing videos in background
* [StartPage](https://startpage.com/), [DuckDuckGo](https://duckduckgo.com/) and [Qwant](https://www.qwant.com/) search engines
* Google search engine English-only with reduced tracking
* privacy enhancement patches from [Inox patchset](https://github.com/gcarq/inox-patchset), [Brave](https://brave.com/), [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) and [Iridium](https://github.com/iridium-browser) projects
* webRTC, canvas, audio and other anti-fingerprinting mitigations
* all codecs included (proprietary, open H.264 etc.)
* built with official speed optimizations
You can inspect all functionality/privacy changes by reading the patches: https://github.com/bromite/bromite/tree/master/patches
# 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).
All built versions are available as [releases](https://github.com/bromite/bromite/releases).
Each tag corresponds to a Chromium release tag.
Bromite is currently built for ARM, ARM64 and x86 and for the Android SDKs versions 16 and 21
Additionally, SystemWebView, Monochrome and the [vanilla Chromium](https://www.bromite.org/chromium) builds are provided.
# 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).
The [Bromite main repository](https://github.com/bromite/bromite) contains tags for each corresponding Chromium release (see https://chromium.googlesource.com/chromium/src.git).
Please refer to [official Chromium build documentation](https://www.chromium.org/developers/how-tos/get-the-code) to get started on how to build Chromium; if you can build Chromium for Android, you can build Bromite.
@@ -58,8 +87,9 @@ Please refer to [official Chromium build documentation](https://www.chromium.org
* [ungoogled-chromium](https://github.com/Eloston/ungoogled-chromium) for some patches
* [Iridium project](https://github.com/iridium-browser) for some patches (taken from above ungoogled-chromium)
* [Inox patchset](https://github.com/gcarq/inox-patchset) for some patches (taken from above ungoogled-chromium)
* [Brave Browser](https://github.com/brave/browser-android-tabs) for some patches
* nochromo for the original adblock patch
* AdBlock Plus, uBlock, EasyList and EasyPrivacy for the compilation of original adblock patch
* [AdBlock Plus](https://adblockplus.org/), [uBlock](https://www.ublock.org/), [Peter Lowe's adservers list](https://pgl.yoyo.org/adservers/), [EasyList and EasyPrivacy](https://easylist.to/) for the filters included
# License
File diff suppressed because one or more lines are too long
@@ -0,0 +1,32 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 18 May 2018 10:10:00 +0200
Subject: Increase maximum connections per host from 6 to 15
---
net/socket/client_socket_pool_manager.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
--- a/net/socket/client_socket_pool_manager.cc
+++ b/net/socket/client_socket_pool_manager.cc
@@ -34,7 +34,7 @@ static_assert(arraysize(g_max_sockets_per_pool) ==
HttpNetworkSession::NUM_SOCKET_POOL_TYPES,
"max sockets per pool length mismatch");
-// Default to allow up to 6 connections per host. Experiment and tuning may
+// Default to allow up to 15 connections per host. Experiment and tuning may
// try other values (greater than 0). Too large may cause many problems, such
// as home routers blocking the connections!?!? See http://crbug.com/12066.
//
@@ -43,7 +43,7 @@ static_assert(arraysize(g_max_sockets_per_pool) ==
// be the same as the limit for ws. Also note that Firefox uses a limit of 200.
// See http://crbug.com/486800
int g_max_sockets_per_group[] = {
- 6, // NORMAL_SOCKET_POOL
+ 15, // NORMAL_SOCKET_POOL
255 // WEBSOCKET_SOCKET_POOL
};
--
2.7.4
@@ -1,21 +0,0 @@
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 <mgilbert@debian.org>
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
--- a/chrome/browser/ui/app_list/app_list_service.cc
+++ b/chrome/browser/ui/app_list/app_list_service.cc
@@ -142,6 +142,10 @@ void AppListService::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterIntegerPref(prefs::kAppListEnableMethod,
ENABLE_NOT_RECORDED);
registry->RegisterInt64Pref(prefs::kAppListEnableTime, 0);
+
+ // Identifies whether we should show the app launcher promo or not. This
+ // becomes false when the user dismisses the promo.
+ registry->RegisterBooleanPref(prefs::kShowAppLauncherPromo, false);
}
// static
@@ -1,13 +1,16 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 22:50:10 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 22:50:10 +0200
Subject: Disable third-party cookies by default
Disable third-party cookies by default
author: Chad Miller <chad.miller@canonical.com>
author: Chad Miller <chad.miller@canonical.com>
---
components/content_settings/core/browser/cookie_settings.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
--- a/components/content_settings/core/browser/cookie_settings.cc
+++ b/components/content_settings/core/browser/cookie_settings.cc
@@ -88,7 +88,7 @@ void CookieSettings::GetCookieSettings(
@@ -111,7 +111,7 @@ void CookieSettings::GetCookieSettings(
void CookieSettings::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
@@ -16,3 +19,6 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
--
2.7.4
@@ -1,7 +1,10 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun Nov 26 11:40:05 2017 +0100
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 26 Nov 2017 11:40:05 +0100
Subject: Restore classic new tab page
Restore classic new tab page
---
chrome/browser/search/search.cc | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
--- a/chrome/browser/search/search.cc
@@ -18,3 +21,6 @@ diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
}
bool ShouldDelayRemoteNTP(const GURL& search_provider_url, Profile* profile) {
--
2.7.4
@@ -1,7 +1,10 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 22:57:29 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 22:57:29 +0200
Subject: Disable battery status service
Disable battery status service
---
services/device/battery/battery_status_service.cc | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/services/device/battery/battery_status_service.cc b/services/device/battery/battery_status_service.cc
--- a/services/device/battery/battery_status_service.cc
@@ -25,3 +28,6 @@ diff --git a/services/device/battery/battery_status_service.cc b/services/device
return callback_list_.Add(callback);
}
--
2.7.4
@@ -1,7 +1,10 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 22:58:52 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 22:58:52 +0200
Subject: Disable GCM status check
Disable GCM status check
---
components/gcm_driver/gcm_channel_status_request.cc | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gcm_driver/gcm_channel_status_request.cc
--- a/components/gcm_driver/gcm_channel_status_request.cc
@@ -35,3 +38,6 @@ diff --git a/components/gcm_driver/gcm_channel_status_request.cc b/components/gc
}
void GCMChannelStatusRequest::OnURLFetchComplete(
--
2.7.4
@@ -1,7 +1,11 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu Oct 12 01:35:53 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 01:35:53 +0200
Subject: Disable updater pings
Disable updater pings
---
components/component_updater/configurator_impl.cc | 21 +++------------------
components/component_updater/configurator_impl.h | 1 -
2 files changed, 3 insertions(+), 19 deletions(-)
diff --git a/components/component_updater/configurator_impl.cc b/components/component_updater/configurator_impl.cc
--- a/components/component_updater/configurator_impl.cc
@@ -61,3 +65,6 @@ diff --git a/components/component_updater/configurator_impl.h b/components/compo
DISALLOW_COPY_AND_ASSIGN(ConfiguratorImpl);
};
--
2.7.4
@@ -1,11 +1,13 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 23:19:25 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 13 Sep 2014 17:25:47 +0200
Subject: prefs: only keep cookies until exit
Subject: [PATCH 21/60] prefs: only keep cookies until exit
From: Jan Engelhardt <jengelh@inai.de>
Date: Sat, 13 Sep 2014 17:25:47 +0200
Out with all those tracking cookies!
Out with all those tracking cookies!
author: Jan Engelhardt <jengelh@inai.de>
---
components/content_settings/core/browser/content_settings_registry.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
@@ -19,3 +21,6 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
WebsiteSettingsInfo::SYNCABLE,
WhitelistedSchemes(kChromeUIScheme, kChromeDevToolsScheme),
ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK,
--
2.7.4
@@ -1,14 +1,16 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 23:12:18 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 2 Apr 2015 12:44:23 +0200
Subject: Remove EV certificates
[PATCH 35/60] Remove EV certificates
From: Jan Engelhardt <jengelh@inai.de>
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.
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.
author: Jan Engelhardt <jengelh@inai.de>
---
net/cert/ev_root_ca_metadata.cc | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
--- a/net/cert/ev_root_ca_metadata.cc
@@ -30,7 +32,7 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
// AC Camerfirma S.A. Chambers of Commerce Root - 2008
// https://www.camerfirma.com
{
@@ -708,7 +718,9 @@ static const EVMetadata ev_root_ca_metadata[] = {
@@ -748,7 +758,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", ""},
@@ -41,3 +43,6 @@ diff --git a/net/cert/ev_root_ca_metadata.cc b/net/cert/ev_root_ca_metadata.cc
#endif // defined(PLATFORM_USES_CHROMIUM_EV_METADATA)
--
2.7.4
@@ -0,0 +1,35 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: Sun, 9 Nov 2014 01:54:27 +0100
Subject: promo: disable Google promotion fetching
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
---
chrome/browser/signin/signin_promo.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
--- a/chrome/browser/signin/signin_promo.cc
+++ b/chrome/browser/signin/signin_promo.cc
@@ -130,6 +130,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())
--
2.7.4
@@ -1,32 +0,0 @@
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 <jengelh@inai.de>
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
--- a/chrome/browser/signin/signin_promo.cc
+++ b/chrome/browser/signin/signin_promo.cc
@@ -130,6 +130,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())
@@ -1,25 +1,25 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 23:24:58 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 23:24:58 +0200
Subject: Disables omission of URL elements in Omnibox
Disables omission of URL elements in Omnibox
Disable all omissions (already shadowed by first flag)
Disable all omissions (already shadowed by first flag)
---
components/url_formatter/url_formatter.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
--- a/components/url_formatter/url_formatter.cc
+++ b/components/url_formatter/url_formatter.cc
@@ -401,13 +401,13 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
@@ -402,12 +402,12 @@ bool IDNToUnicodeOneComponent(const base::char16* comp,
} // namespace
-const FormatUrlType kFormatUrlOmitNothing = 0;
const FormatUrlType kFormatUrlOmitNothing = 0;
-const FormatUrlType kFormatUrlOmitUsernamePassword = 1 << 0;
-const FormatUrlType kFormatUrlOmitHTTP = 1 << 1;
-const FormatUrlType kFormatUrlOmitTrailingSlashOnBareHostname = 1 << 2;
-const FormatUrlType kFormatUrlOmitHTTPS = 1 << 3;
-const FormatUrlType kFormatUrlExperimentalElideAfterHost = 1 << 4;
-const FormatUrlType kFormatUrlOmitTrivialSubdomains = 1 << 5;
+const FormatUrlType kFormatUrlOmitNothing = 1;
+const FormatUrlType kFormatUrlOmitUsernamePassword = 0 << 0;
+const FormatUrlType kFormatUrlOmitHTTP = 0 << 1;
+const FormatUrlType kFormatUrlOmitTrailingSlashOnBareHostname = 0 << 2;
@@ -29,3 +29,6 @@ diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatte
const FormatUrlType kFormatUrlOmitDefaults =
kFormatUrlOmitUsernamePassword | kFormatUrlOmitHTTP |
--
2.7.4
@@ -1,12 +1,30 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu Oct 12 08:09:24 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 08:09:24 +0200
Subject: Modify default preferences
Modify default preferences
---
chrome/browser/background/background_mode_manager.cc | 2 +-
chrome/browser/chrome_content_browser_client.cc | 2 +-
chrome/browser/io_thread.cc | 2 +-
chrome/browser/net/prediction_options.cc | 2 +-
chrome/browser/net/prediction_options.h | 2 +-
chrome/browser/profiles/profile.cc | 2 +-
.../resources/settings/reset_page/reset_profile_dialog.html | 2 +-
chrome/browser/signin/signin_promo.cc | 4 ++--
chrome/browser/ui/browser_ui_prefs.cc | 4 ++--
chrome/browser/ui/navigation_correction_tab_observer.cc | 2 +-
chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc | 4 ----
chrome/service/cloud_print/connector_settings.cc | 2 +-
components/autofill/core/browser/autofill_manager.cc | 2 +-
components/bookmarks/browser/bookmark_utils.cc | 4 ++--
components/safe_browsing/common/safe_browsing_prefs.cc | 4 ++--
extensions/common/extension.cc | 8 --------
16 files changed, 18 insertions(+), 30 deletions(-)
diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/browser/background/background_mode_manager.cc
--- a/chrome/browser/background/background_mode_manager.cc
+++ b/chrome/browser/background/background_mode_manager.cc
@@ -363,7 +363,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -362,7 +362,7 @@ void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kChromeCreatedLoginItem, false);
registry->RegisterBooleanPref(prefs::kMigratedLoginItemPref, false);
#endif
@@ -18,7 +36,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -879,7 +879,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -990,7 +990,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -30,15 +48,15 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -625,7 +625,7 @@ void IOThread::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -615,7 +615,7 @@ void IOThread::RegisterPrefs(PrefRegistrySimple* registry) {
std::string());
registry->RegisterBooleanPref(prefs::kEnableReferrers, true);
data_reduction_proxy::RegisterPrefs(registry);
- registry->RegisterBooleanPref(prefs::kBuiltInDnsClientEnabled, true);
+ registry->RegisterBooleanPref(prefs::kBuiltInDnsClientEnabled, false);
registry->RegisterListPref(prefs::kDnsOverHttpsServers);
registry->RegisterListPref(prefs::kDnsOverHttpsServerMethods);
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
--- a/chrome/browser/net/prediction_options.cc
+++ b/chrome/browser/net/prediction_options.cc
@@ -86,7 +104,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
+ <paper-checkbox id="sendSettings">
$i18nRaw{resetPageFeedback}</paper-checkbox>
</div>
</dialog>
</cr-dialog>
diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signin_promo.cc
--- a/chrome/browser/signin/signin_promo.cc
+++ b/chrome/browser/signin/signin_promo.cc
@@ -99,12 +117,12 @@ diff --git a/chrome/browser/signin/signin_promo.cc b/chrome/browser/signin/signi
+ registry->RegisterBooleanPref(prefs::kSignInPromoUserSkipped, true);
+ registry->RegisterBooleanPref(prefs::kSignInPromoShowOnFirstRunAllowed, false);
registry->RegisterBooleanPref(prefs::kSignInPromoShowNTPBubble, false);
registry->RegisterIntegerPref(prefs::kDiceSigninUserMenuPromoCount, 0);
}
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -65,11 +65,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -70,11 +70,11 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
registry->RegisterBooleanPref(
@@ -133,7 +151,7 @@ diff --git a/chrome/browser/ui/navigation_correction_tab_observer.cc b/chrome/br
diff --git a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
--- a/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
+++ b/chrome/browser/ui/webui/local_discovery/local_discovery_ui.cc
@@ -144,10 +144,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
@@ -143,10 +143,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kLocalDiscoveryNotificationsEnabled,
@@ -159,7 +177,7 @@ diff --git a/chrome/service/cloud_print/connector_settings.cc b/chrome/service/c
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
@@ -216,7 +216,7 @@ void AutofillManager::RegisterProfilePrefs(
@@ -227,7 +227,7 @@ void AutofillManager::RegisterProfilePrefs(
registry->RegisterIntegerPref(
prefs::kAutofillCreditCardSigninPromoImpressionCount, 0);
registry->RegisterBooleanPref(
@@ -189,7 +207,7 @@ diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmar
diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components/safe_browsing/common/safe_browsing_prefs.cc
--- a/components/safe_browsing/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/common/safe_browsing_prefs.cc
@@ -346,9 +346,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -374,9 +374,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
@@ -204,7 +222,7 @@ diff --git a/components/safe_browsing/common/safe_browsing_prefs.cc b/components
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
@@ -330,14 +330,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
@@ -368,14 +368,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
if (is_theme())
return false;
@@ -219,3 +237,6 @@ diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
// Unless they are unpacked, never show hosted apps. Note: We intentionally
// show packaged apps and platform apps because there are some pieces of
// functionality that are only available in chrome://extensions/ but which
--
2.7.4
@@ -1,7 +1,10 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 11 23:17:17 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 23:17:17 +0200
Subject: Do not store passwords by default
Do not store passwords by default
---
components/password_manager/core/browser/password_manager.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
--- a/components/password_manager/core/browser/password_manager.cc
@@ -17,5 +20,8 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp
- prefs::kCredentialsEnableAutosignin, true,
+ prefs::kCredentialsEnableAutosignin, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
registry->RegisterBooleanPref(prefs::kWasObsoleteHttpDataCleaned, false);
registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(),
PrefRegistry::NO_REGISTRATION_FLAGS);
--
2.7.4
@@ -1,7 +1,10 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu Oct 12 08:15:17 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 08:15:17 +0200
Subject: Disable NTP remote suggestions by default
Disable NTP remote suggestions by default
---
components/ntp_snippets/features.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
@@ -26,3 +29,6 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
const base::Feature kPhysicalWebPageSuggestionsFeature{
"NTPPhysicalWebPageSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.7.4
@@ -1,7 +1,13 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun Oct 15 21:45:46 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 15 Oct 2017 21:45:46 +0200
Subject: Disable references to fonts.googleapis.com
Disables references to fonts.googleapis.com
---
.../dom_distiller/content/browser/dom_distiller_viewer_source.cc | 2 +-
components/dom_distiller/core/html/preview.html | 2 +-
components/dom_distiller/core/javascript/dom_distiller_viewer.js | 2 +-
third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css | 3 +--
4 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
--- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
@@ -52,3 +58,6 @@ diff --git a/third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css b/th
body,
table,
--
2.7.4
@@ -1,12 +1,15 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu Oct 26 16:59:03 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 26 Oct 2017 16:59:03 +0200
Subject: Disable WebRTC by default
Disable WebRTC by default
---
chrome/browser/ui/browser_ui_prefs.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -84,10 +84,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -89,10 +89,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
#endif
#if BUILDFLAG(ENABLE_WEBRTC)
// TODO(guoweis): Remove next 2 options at M50.
@@ -20,3 +23,6 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string());
#endif
--
2.7.4
@@ -1,17 +1,21 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri Oct 27 15:53:37 2017 +0200
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 27 Oct 2017 15:53:37 +0200
Subject: Disable data saver
Ported data reduction disable patch
---
.../java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java | 1 -
.../chrome/browser/net/spdyproxy/DataReductionProxySettings.java | 2 ++
.../browser/preferences/datareduction/DataReductionPromoUtils.java | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
@@ -140,7 +140,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
@@ -140,7 +140,6 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
boolean notifyAdapter = false;
// An optional Data Saver page.
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
- mPages.add(new DataReductionProxyFirstRunFragment.Page());
+ //mPages.add(new DataReductionProxyFirstRunFragment.Page());
mFreProgressStates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
notifyAdapter = true;
}
@@ -46,3 +50,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/dat
}
/**
--
2.7.4
@@ -1,7 +1,12 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun Nov 26 22:51:43 2017 +0100
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 26 Nov 2017 22:51:43 +0100
Subject: Skip the first run and metrics
Skip the first run and metrics
---
.../chrome/browser/firstrun/FirstRunStatus.java | 8 ++++----
.../chrome/browser/firstrun/FirstRunUtils.java | 16 ++++++----------
.../browser/firstrun/ToSAndUMAFirstRunFragment.java | 18 ++++++------------
3 files changed, 16 insertions(+), 26 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunStatus.java
@@ -51,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAndUMAFirstRunFragment.java
@@ -73,20 +73,14 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm
@@ -74,20 +74,14 @@ public class ToSAndUMAFirstRunFragment extends Fragment implements FirstRunFragm
}
});
@@ -78,3 +83,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/ToSAnd
mTosAndPrivacy.setMovementMethod(LinkMovementMethod.getInstance());
NoUnderlineClickableSpan clickableTermsSpan = new NoUnderlineClickableSpan() {
--
2.7.4
@@ -1,17 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun Nov 26 23:11:56 2017 +0100
Always disable Omaha update checks
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase.java
@@ -122,7 +122,7 @@ public class OmahaBase {
/** See {@link #sIsDisabled}. */
static boolean isDisabled() {
- return sIsDisabled;
+ return true;
}
/**
@@ -1,714 +0,0 @@
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
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -32,12 +32,31 @@
// Increment this if you change the data in ways that mean users with
// existing data should get a new version.
- "kCurrentDataVersion": 100
+ "kCurrentDataVersion": 101
},
// 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://ac.duckduckgo.com/ac/?q={searchTerms}&type=list",
+ "type": "SEARCH_ENGINE_DUCKDUCKGO",
+ "id": 11
+ },
+
+ "duckduckgo_light": {
+ "name": "DuckDuckGo Light",
+ "keyword": "duckduckgo.com/lite",
+ "favicon_url": "https://duckduckgo.com/favicon.ico",
+ "search_url": "https://duckduckgo.com/lite/?q={searchTerms}",
+ "type": "SEARCH_ENGINE_DUCKDUCKGOLIGHT",
+ "id": 12
+ },
+
"aol": {
"name": "AOL",
"keyword": "aol.com",
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
@@ -63,6 +63,8 @@ enum SearchEngineType {
SEARCH_ENGINE_YANDEX,
SEARCH_ENGINE_ZOZNAM,
SEARCH_ENGINE_360,
+ SEARCH_ENGINE_DUCKDUCKGO,
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT,
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
@@ -51,548 +51,548 @@ namespace {
// Default (for countries with no better engine set)
const PrepopulatedEngine* const engines_default[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Albania
const PrepopulatedEngine* const engines_AL[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Argentina
const PrepopulatedEngine* const engines_AR[] = {
- &google, &bing, &yahoo_ar,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ar,
};
// Austria
const PrepopulatedEngine* const engines_AT[] = {
- &google, &bing, &yahoo_at,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_at,
};
// Australia
const PrepopulatedEngine* const engines_AU[] = {
- &google, &bing, &yahoo_au,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_au,
};
// Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Belgium
const PrepopulatedEngine* const engines_BE[] = {
- &google, &bing, &yahoo, &yahoo_fr,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &yahoo_fr,
};
// Bulgaria
const PrepopulatedEngine* const engines_BG[] = {
- &google, &bing, &ask,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &ask,
};
// Bahrain
const PrepopulatedEngine* const engines_BH[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Burundi
const PrepopulatedEngine* const engines_BI[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Brunei
const PrepopulatedEngine* const engines_BN[] = {
- &google, &yahoo_my, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
};
// Bolivia
const PrepopulatedEngine* const engines_BO[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Brazil
const PrepopulatedEngine* const engines_BR[] = {
- &google, &ask_br, &bing, &yahoo_br,
+ &google, &duckduckgo, &duckduckgo_light, &ask_br, &bing, &yahoo_br,
};
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
- &google, &yandex_by, &mail_ru,
+ &google, &duckduckgo, &duckduckgo_light, &yandex_by, &mail_ru,
};
// Belize
const PrepopulatedEngine* const engines_BZ[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Canada
const PrepopulatedEngine* const engines_CA[] = {
- &google, &bing, &ask, &yahoo_ca, &yahoo_qc,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &ask, &yahoo_ca, &yahoo_qc,
};
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
- &google, &bing, &yahoo_ch,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ch,
};
// Chile
const PrepopulatedEngine* const engines_CL[] = {
- &google, &bing, &yahoo_cl,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_cl,
};
// China
const PrepopulatedEngine* const engines_CN[] = {
- &google, &baidu, &sogou, &so_360,
+ &google, &duckduckgo, &duckduckgo_light, &baidu, &sogou, &so_360,
};
// Colombia
const PrepopulatedEngine* const engines_CO[] = {
- &google, &bing, &yahoo_co,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_co,
};
// Costa Rica
const PrepopulatedEngine* const engines_CR[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Czech Republic
const PrepopulatedEngine* const engines_CZ[] = {
- &google, &seznam, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &seznam, &bing,
};
// Germany
const PrepopulatedEngine* const engines_DE[] = {
- &google, &bing, &yahoo_de,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
};
// Denmark
const PrepopulatedEngine* const engines_DK[] = {
- &google, &bing, &yahoo_dk,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_dk,
};
// Dominican Republic
const PrepopulatedEngine* const engines_DO[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Algeria
const PrepopulatedEngine* const engines_DZ[] = {
- &google, &bing, &yahoo_maktoob,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Ecuador
const PrepopulatedEngine* const engines_EC[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Estonia
const PrepopulatedEngine* const engines_EE[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Egypt
const PrepopulatedEngine* const engines_EG[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Spain
const PrepopulatedEngine* const engines_ES[] = {
- &google, &bing, &yahoo_es,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_es,
};
// Faroe Islands
const PrepopulatedEngine* const engines_FO[] = {
- &google, &bing, &ask,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &ask,
};
// Finland
const PrepopulatedEngine* const engines_FI[] = {
- &google, &bing, &yahoo_fi,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fi,
};
// France
const PrepopulatedEngine* const engines_FR[] = {
- &google, &bing, &yahoo_fr,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
};
// United Kingdom
const PrepopulatedEngine* const engines_GB[] = {
- &google, &bing, &yahoo_uk, &ask_uk,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk, &ask_uk,
};
// Greece
const PrepopulatedEngine* const engines_GR[] = {
- &google, &bing, &yahoo_gr,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_gr,
};
// Guatemala
const PrepopulatedEngine* const engines_GT[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Hong Kong
const PrepopulatedEngine* const engines_HK[] = {
- &google, &yahoo_hk, &baidu, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_hk, &baidu, &bing,
};
// Honduras
const PrepopulatedEngine* const engines_HN[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Croatia
const PrepopulatedEngine* const engines_HR[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Hungary
const PrepopulatedEngine* const engines_HU[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Indonesia
const PrepopulatedEngine* const engines_ID[] = {
- &google, &yahoo_id, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_id, &bing,
};
// Ireland
const PrepopulatedEngine* const engines_IE[] = {
- &google, &bing, &yahoo_uk,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk,
};
// Israel
const PrepopulatedEngine* const engines_IL[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// India
const PrepopulatedEngine* const engines_IN[] = {
- &google, &bing, &yahoo_in,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_in,
};
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Iran
const PrepopulatedEngine* const engines_IR[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Italy
const PrepopulatedEngine* const engines_IT[] = {
- &google, &virgilio, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &virgilio, &bing,
};
// Jamaica
const PrepopulatedEngine* const engines_JM[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Jordan
const PrepopulatedEngine* const engines_JO[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Japan
const PrepopulatedEngine* const engines_JP[] = {
- &google, &yahoo_jp, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_jp, &bing,
};
// Kenya
const PrepopulatedEngine* const engines_KE[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Kuwait
const PrepopulatedEngine* const engines_KW[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// South Korea
const PrepopulatedEngine* const engines_KR[] = {
- &google, &naver, &daum,
+ &google, &duckduckgo, &duckduckgo_light, &naver, &daum,
};
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
- &google, &mail_ru, &yandex_kz,
+ &google, &duckduckgo, &duckduckgo_light, &mail_ru, &yandex_kz,
};
// Lebanon
const PrepopulatedEngine* const engines_LB[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
- &google, &bing, &yahoo_de,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
};
// Lithuania
const PrepopulatedEngine* const engines_LT[] = {
- &google, &bing, &yandex_ru,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yandex_ru,
};
// Luxembourg
const PrepopulatedEngine* const engines_LU[] = {
- &google, &bing, &yahoo_fr,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
};
// Latvia
const PrepopulatedEngine* const engines_LV[] = {
- &google, &yandex_ru, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yandex_ru, &bing,
};
// Libya
const PrepopulatedEngine* const engines_LY[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Morocco
const PrepopulatedEngine* const engines_MA[] = {
- &google, &bing, &yahoo_maktoob,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
- &google, &yahoo_fr, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_fr, &bing,
};
// Moldova
const PrepopulatedEngine* const engines_MD[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Montenegro
const PrepopulatedEngine* const engines_ME[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Macedonia
const PrepopulatedEngine* const engines_MK[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Mexico
const PrepopulatedEngine* const engines_MX[] = {
- &google, &bing, &yahoo_mx,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_mx,
};
// Malaysia
const PrepopulatedEngine* const engines_MY[] = {
- &google, &yahoo_my, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
};
// Nicaragua
const PrepopulatedEngine* const engines_NI[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Netherlands
const PrepopulatedEngine* const engines_NL[] = {
- &google, &yahoo_nl, &vinden,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_nl, &vinden,
};
// Norway
const PrepopulatedEngine* const engines_NO[] = {
- &google, &bing, &kvasir,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &kvasir,
};
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
- &google, &bing, &yahoo_nz,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_nz,
};
// Oman
const PrepopulatedEngine* const engines_OM[] = {
- &google, &bing, &yahoo_maktoob,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Panama
const PrepopulatedEngine* const engines_PA[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Peru
const PrepopulatedEngine* const engines_PE[] = {
- &google, &bing, &yahoo_pe,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_pe,
};
// Philippines
const PrepopulatedEngine* const engines_PH[] = {
- &google, &yahoo_ph, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_ph, &bing,
};
// Pakistan
const PrepopulatedEngine* const engines_PK[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Puerto Rico
const PrepopulatedEngine* const engines_PR[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Poland
const PrepopulatedEngine* const engines_PL[] = {
- &google, &onet, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &onet, &bing,
};
// Portugal
const PrepopulatedEngine* const engines_PT[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Paraguay
const PrepopulatedEngine* const engines_PY[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Qatar
const PrepopulatedEngine* const engines_QA[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Romania
const PrepopulatedEngine* const engines_RO[] = {
- &google, &yahoo_ro, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_ro, &bing,
};
// Serbia
const PrepopulatedEngine* const engines_RS[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Russia
const PrepopulatedEngine* const engines_RU[] = {
- &google, &yandex_ru, &mail_ru,
+ &google, &duckduckgo, &duckduckgo_light, &yandex_ru, &mail_ru,
};
// Rwanda
const PrepopulatedEngine* const engines_RW[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = {
- &google, &yahoo_maktoob, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Sweden
const PrepopulatedEngine* const engines_SE[] = {
- &google, &bing, &yahoo_se,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_se,
};
// Singapore
const PrepopulatedEngine* const engines_SG[] = {
- &google, &yahoo_sg, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_sg, &bing,
};
// Slovenia
const PrepopulatedEngine* const engines_SI[] = {
- &google, &najdi, &ask,
+ &google, &duckduckgo, &duckduckgo_light, &najdi, &ask,
};
// Slovakia
const PrepopulatedEngine* const engines_SK[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// El Salvador
const PrepopulatedEngine* const engines_SV[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Syria
const PrepopulatedEngine* const engines_SY[] = {
- &google, &bing, &yahoo_maktoob,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Thailand
const PrepopulatedEngine* const engines_TH[] = {
- &google, &yahoo_th, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_th, &bing,
};
// Tunisia
const PrepopulatedEngine* const engines_TN[] = {
- &google, &bing, &yahoo_maktoob,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
- &google, &bing, &yahoo_tr, &yandex_tr,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_tr, &yandex_tr,
};
// Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Taiwan
const PrepopulatedEngine* const engines_TW[] = {
- &google, &yahoo_tw, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_tw, &bing,
};
// Tanzania
const PrepopulatedEngine* const engines_TZ[] = {
- &google, &yahoo, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Ukraine
const PrepopulatedEngine* const engines_UA[] = {
- &google, &yandex_ua, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yandex_ua, &bing,
};
// United States
const PrepopulatedEngine* const engines_US[] = {
- &google, &bing, &yahoo, &aol, &ask,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &aol, &ask,
};
// Uruguay
const PrepopulatedEngine* const engines_UY[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Venezuela
const PrepopulatedEngine* const engines_VE[] = {
- &google, &bing, &yahoo_ve,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ve,
};
// Vietnam
const PrepopulatedEngine* const engines_VN[] = {
- &google, &yahoo_vn, &bing,
+ &google, &duckduckgo, &duckduckgo_light, &yahoo_vn, &bing,
};
// Yemen
const PrepopulatedEngine* const engines_YE[] = {
- &google, &bing, &yahoo_maktoob,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// South Africa
const PrepopulatedEngine* const engines_ZA[] = {
- &google, &bing, &yahoo,
+ &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = {
- &google, &bing, &yahoo, &ask,
+ &google, &duckduckgo, &duckduckgo_light, &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, &google, &duckduckgo, &duckduckgo_light, &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,706 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Oct 18 21:24:05 2017 +0200
Add StartPage search engine
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
@@ -232,6 +232,16 @@
"id": 56
},
+ "startpage": {
+ "name": "StartPage",
+ "keyword": "startpage.com",
+ "favicon_url": "https://www.startpage.com/graphics/favicon/sp-favicon-16x16.png",
+ "search_url": "https://www.startpage.com/do/dsearch?query={searchTerms}&cat=web&pl=opensearch",
+ "suggest_url": "https://www.startpage.com/cgi-bin/csuggest?query={searchTerms}&limit=10&format=json",
+ "type": "SEARCH_ENGINE_STARTPAGE",
+ "id": 33
+ },
+
"vinden": {
"name": "Vinden.nl",
"keyword": "vinden.nl",
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_DUCKDUCKGOLIGHT,
+ SEARCH_ENGINE_STARTPAGE,
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
@@ -51,548 +51,548 @@ namespace {
// Default (for countries with no better engine set)
const PrepopulatedEngine* const engines_default[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Albania
const PrepopulatedEngine* const engines_AL[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Argentina
const PrepopulatedEngine* const engines_AR[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ar,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ar,
};
// Austria
const PrepopulatedEngine* const engines_AT[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_at,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_at,
};
// Australia
const PrepopulatedEngine* const engines_AU[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_au,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_au,
};
// Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Belgium
const PrepopulatedEngine* const engines_BE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &yahoo_fr,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &yahoo_fr,
};
// Bulgaria
const PrepopulatedEngine* const engines_BG[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &ask,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask,
};
// Bahrain
const PrepopulatedEngine* const engines_BH[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Burundi
const PrepopulatedEngine* const engines_BI[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Brunei
const PrepopulatedEngine* const engines_BN[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
};
// Bolivia
const PrepopulatedEngine* const engines_BO[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Brazil
const PrepopulatedEngine* const engines_BR[] = {
- &google, &duckduckgo, &duckduckgo_light, &ask_br, &bing, &yahoo_br,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &ask_br, &bing, &yahoo_br,
};
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
- &google, &duckduckgo, &duckduckgo_light, &yandex_by, &mail_ru,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_by, &mail_ru,
};
// Belize
const PrepopulatedEngine* const engines_BZ[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Canada
const PrepopulatedEngine* const engines_CA[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &ask, &yahoo_ca, &yahoo_qc,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask, &yahoo_ca, &yahoo_qc,
};
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ch,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ch,
};
// Chile
const PrepopulatedEngine* const engines_CL[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_cl,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_cl,
};
// China
const PrepopulatedEngine* const engines_CN[] = {
- &google, &duckduckgo, &duckduckgo_light, &baidu, &sogou, &so_360,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &baidu, &sogou, &so_360,
};
// Colombia
const PrepopulatedEngine* const engines_CO[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_co,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_co,
};
// Costa Rica
const PrepopulatedEngine* const engines_CR[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Czech Republic
const PrepopulatedEngine* const engines_CZ[] = {
- &google, &duckduckgo, &duckduckgo_light, &seznam, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &seznam, &bing,
};
// Germany
const PrepopulatedEngine* const engines_DE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
};
// Denmark
const PrepopulatedEngine* const engines_DK[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_dk,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_dk,
};
// Dominican Republic
const PrepopulatedEngine* const engines_DO[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Algeria
const PrepopulatedEngine* const engines_DZ[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Ecuador
const PrepopulatedEngine* const engines_EC[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Estonia
const PrepopulatedEngine* const engines_EE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Egypt
const PrepopulatedEngine* const engines_EG[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Spain
const PrepopulatedEngine* const engines_ES[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_es,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_es,
};
// Faroe Islands
const PrepopulatedEngine* const engines_FO[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &ask,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask,
};
// Finland
const PrepopulatedEngine* const engines_FI[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fi,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fi,
};
// France
const PrepopulatedEngine* const engines_FR[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
};
// United Kingdom
const PrepopulatedEngine* const engines_GB[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk, &ask_uk,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk, &ask_uk,
};
// Greece
const PrepopulatedEngine* const engines_GR[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_gr,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_gr,
};
// Guatemala
const PrepopulatedEngine* const engines_GT[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Hong Kong
const PrepopulatedEngine* const engines_HK[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_hk, &baidu, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_hk, &baidu, &bing,
};
// Honduras
const PrepopulatedEngine* const engines_HN[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Croatia
const PrepopulatedEngine* const engines_HR[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Hungary
const PrepopulatedEngine* const engines_HU[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Indonesia
const PrepopulatedEngine* const engines_ID[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_id, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_id, &bing,
};
// Ireland
const PrepopulatedEngine* const engines_IE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk,
};
// Israel
const PrepopulatedEngine* const engines_IL[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// India
const PrepopulatedEngine* const engines_IN[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_in,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_in,
};
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Iran
const PrepopulatedEngine* const engines_IR[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Italy
const PrepopulatedEngine* const engines_IT[] = {
- &google, &duckduckgo, &duckduckgo_light, &virgilio, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &virgilio, &bing,
};
// Jamaica
const PrepopulatedEngine* const engines_JM[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Jordan
const PrepopulatedEngine* const engines_JO[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Japan
const PrepopulatedEngine* const engines_JP[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_jp, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_jp, &bing,
};
// Kenya
const PrepopulatedEngine* const engines_KE[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Kuwait
const PrepopulatedEngine* const engines_KW[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// South Korea
const PrepopulatedEngine* const engines_KR[] = {
- &google, &duckduckgo, &duckduckgo_light, &naver, &daum,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &naver, &daum,
};
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
- &google, &duckduckgo, &duckduckgo_light, &mail_ru, &yandex_kz,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &mail_ru, &yandex_kz,
};
// Lebanon
const PrepopulatedEngine* const engines_LB[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
};
// Lithuania
const PrepopulatedEngine* const engines_LT[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yandex_ru,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yandex_ru,
};
// Luxembourg
const PrepopulatedEngine* const engines_LU[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
};
// Latvia
const PrepopulatedEngine* const engines_LV[] = {
- &google, &duckduckgo, &duckduckgo_light, &yandex_ru, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ru, &bing,
};
// Libya
const PrepopulatedEngine* const engines_LY[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Morocco
const PrepopulatedEngine* const engines_MA[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_fr, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_fr, &bing,
};
// Moldova
const PrepopulatedEngine* const engines_MD[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Montenegro
const PrepopulatedEngine* const engines_ME[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Macedonia
const PrepopulatedEngine* const engines_MK[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Mexico
const PrepopulatedEngine* const engines_MX[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_mx,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_mx,
};
// Malaysia
const PrepopulatedEngine* const engines_MY[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
};
// Nicaragua
const PrepopulatedEngine* const engines_NI[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Netherlands
const PrepopulatedEngine* const engines_NL[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_nl, &vinden,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_nl, &vinden,
};
// Norway
const PrepopulatedEngine* const engines_NO[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &kvasir,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &kvasir,
};
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_nz,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_nz,
};
// Oman
const PrepopulatedEngine* const engines_OM[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Panama
const PrepopulatedEngine* const engines_PA[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Peru
const PrepopulatedEngine* const engines_PE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_pe,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_pe,
};
// Philippines
const PrepopulatedEngine* const engines_PH[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_ph, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_ph, &bing,
};
// Pakistan
const PrepopulatedEngine* const engines_PK[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Puerto Rico
const PrepopulatedEngine* const engines_PR[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Poland
const PrepopulatedEngine* const engines_PL[] = {
- &google, &duckduckgo, &duckduckgo_light, &onet, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &onet, &bing,
};
// Portugal
const PrepopulatedEngine* const engines_PT[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Paraguay
const PrepopulatedEngine* const engines_PY[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Qatar
const PrepopulatedEngine* const engines_QA[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Romania
const PrepopulatedEngine* const engines_RO[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_ro, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_ro, &bing,
};
// Serbia
const PrepopulatedEngine* const engines_RS[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Russia
const PrepopulatedEngine* const engines_RU[] = {
- &google, &duckduckgo, &duckduckgo_light, &yandex_ru, &mail_ru,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ru, &mail_ru,
};
// Rwanda
const PrepopulatedEngine* const engines_RW[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Sweden
const PrepopulatedEngine* const engines_SE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_se,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_se,
};
// Singapore
const PrepopulatedEngine* const engines_SG[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_sg, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_sg, &bing,
};
// Slovenia
const PrepopulatedEngine* const engines_SI[] = {
- &google, &duckduckgo, &duckduckgo_light, &najdi, &ask,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &najdi, &ask,
};
// Slovakia
const PrepopulatedEngine* const engines_SK[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// El Salvador
const PrepopulatedEngine* const engines_SV[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Syria
const PrepopulatedEngine* const engines_SY[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Thailand
const PrepopulatedEngine* const engines_TH[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_th, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_th, &bing,
};
// Tunisia
const PrepopulatedEngine* const engines_TN[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_tr, &yandex_tr,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_tr, &yandex_tr,
};
// Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Taiwan
const PrepopulatedEngine* const engines_TW[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_tw, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_tw, &bing,
};
// Tanzania
const PrepopulatedEngine* const engines_TZ[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Ukraine
const PrepopulatedEngine* const engines_UA[] = {
- &google, &duckduckgo, &duckduckgo_light, &yandex_ua, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ua, &bing,
};
// United States
const PrepopulatedEngine* const engines_US[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &aol, &ask,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &aol, &ask,
};
// Uruguay
const PrepopulatedEngine* const engines_UY[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Venezuela
const PrepopulatedEngine* const engines_VE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ve,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ve,
};
// Vietnam
const PrepopulatedEngine* const engines_VN[] = {
- &google, &duckduckgo, &duckduckgo_light, &yahoo_vn, &bing,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_vn, &bing,
};
// Yemen
const PrepopulatedEngine* const engines_YE[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// South Africa
const PrepopulatedEngine* const engines_ZA[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = {
- &google, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &ask,
+ &google, &startpage, &duckduckgo, &duckduckgo_light, &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, &duckduckgo, &duckduckgo_light, &kvasir,
+ &aol, &ask, &ask_br, &ask_uk, &baidu, &bing, &daum, &google, &startpage, &duckduckgo, &duckduckgo_light, &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,717 +0,0 @@
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": 102
+ "kCurrentDataVersion": 103
},
// The following engines are included in country lists and are added to the
@@ -154,6 +154,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
@@ -66,6 +66,7 @@ enum SearchEngineType {
SEARCH_ENGINE_DUCKDUCKGO,
SEARCH_ENGINE_DUCKDUCKGOLIGHT,
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
@@ -51,548 +51,548 @@ namespace {
// Default (for countries with no better engine set)
const PrepopulatedEngine* const engines_default[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Albania
const PrepopulatedEngine* const engines_AL[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Argentina
const PrepopulatedEngine* const engines_AR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ar,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ar,
};
// Austria
const PrepopulatedEngine* const engines_AT[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_at,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_at,
};
// Australia
const PrepopulatedEngine* const engines_AU[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_au,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_au,
};
// Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Belgium
const PrepopulatedEngine* const engines_BE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &yahoo_fr,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &yahoo_fr,
};
// Bulgaria
const PrepopulatedEngine* const engines_BG[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask,
};
// Bahrain
const PrepopulatedEngine* const engines_BH[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Burundi
const PrepopulatedEngine* const engines_BI[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Brunei
const PrepopulatedEngine* const engines_BN[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
};
// Bolivia
const PrepopulatedEngine* const engines_BO[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Brazil
const PrepopulatedEngine* const engines_BR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &ask_br, &bing, &yahoo_br,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &ask_br, &bing, &yahoo_br,
};
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_by, &mail_ru,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_by, &mail_ru,
};
// Belize
const PrepopulatedEngine* const engines_BZ[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Canada
const PrepopulatedEngine* const engines_CA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask, &yahoo_ca, &yahoo_qc,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask, &yahoo_ca, &yahoo_qc,
};
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ch,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ch,
};
// Chile
const PrepopulatedEngine* const engines_CL[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_cl,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_cl,
};
// China
const PrepopulatedEngine* const engines_CN[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &baidu, &sogou, &so_360,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &baidu, &sogou, &so_360,
};
// Colombia
const PrepopulatedEngine* const engines_CO[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_co,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_co,
};
// Costa Rica
const PrepopulatedEngine* const engines_CR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Czech Republic
const PrepopulatedEngine* const engines_CZ[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &seznam, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &seznam, &bing,
};
// Germany
const PrepopulatedEngine* const engines_DE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
};
// Denmark
const PrepopulatedEngine* const engines_DK[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_dk,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_dk,
};
// Dominican Republic
const PrepopulatedEngine* const engines_DO[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Algeria
const PrepopulatedEngine* const engines_DZ[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Ecuador
const PrepopulatedEngine* const engines_EC[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Estonia
const PrepopulatedEngine* const engines_EE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Egypt
const PrepopulatedEngine* const engines_EG[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Spain
const PrepopulatedEngine* const engines_ES[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_es,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_es,
};
// Faroe Islands
const PrepopulatedEngine* const engines_FO[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &ask,
};
// Finland
const PrepopulatedEngine* const engines_FI[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fi,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fi,
};
// France
const PrepopulatedEngine* const engines_FR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
};
// United Kingdom
const PrepopulatedEngine* const engines_GB[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk, &ask_uk,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk, &ask_uk,
};
// Greece
const PrepopulatedEngine* const engines_GR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_gr,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_gr,
};
// Guatemala
const PrepopulatedEngine* const engines_GT[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Hong Kong
const PrepopulatedEngine* const engines_HK[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_hk, &baidu, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_hk, &baidu, &bing,
};
// Honduras
const PrepopulatedEngine* const engines_HN[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Croatia
const PrepopulatedEngine* const engines_HR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Hungary
const PrepopulatedEngine* const engines_HU[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Indonesia
const PrepopulatedEngine* const engines_ID[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_id, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_id, &bing,
};
// Ireland
const PrepopulatedEngine* const engines_IE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_uk,
};
// Israel
const PrepopulatedEngine* const engines_IL[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// India
const PrepopulatedEngine* const engines_IN[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_in,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_in,
};
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Iran
const PrepopulatedEngine* const engines_IR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Italy
const PrepopulatedEngine* const engines_IT[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &virgilio, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &virgilio, &bing,
};
// Jamaica
const PrepopulatedEngine* const engines_JM[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Jordan
const PrepopulatedEngine* const engines_JO[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Japan
const PrepopulatedEngine* const engines_JP[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_jp, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_jp, &bing,
};
// Kenya
const PrepopulatedEngine* const engines_KE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Kuwait
const PrepopulatedEngine* const engines_KW[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// South Korea
const PrepopulatedEngine* const engines_KR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &naver, &daum,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &naver, &daum,
};
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &mail_ru, &yandex_kz,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &mail_ru, &yandex_kz,
};
// Lebanon
const PrepopulatedEngine* const engines_LB[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_de,
};
// Lithuania
const PrepopulatedEngine* const engines_LT[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yandex_ru,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yandex_ru,
};
// Luxembourg
const PrepopulatedEngine* const engines_LU[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_fr,
};
// Latvia
const PrepopulatedEngine* const engines_LV[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ru, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ru, &bing,
};
// Libya
const PrepopulatedEngine* const engines_LY[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Morocco
const PrepopulatedEngine* const engines_MA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_fr, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_fr, &bing,
};
// Moldova
const PrepopulatedEngine* const engines_MD[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Montenegro
const PrepopulatedEngine* const engines_ME[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Macedonia
const PrepopulatedEngine* const engines_MK[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Mexico
const PrepopulatedEngine* const engines_MX[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_mx,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_mx,
};
// Malaysia
const PrepopulatedEngine* const engines_MY[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_my, &bing,
};
// Nicaragua
const PrepopulatedEngine* const engines_NI[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Netherlands
const PrepopulatedEngine* const engines_NL[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_nl, &vinden,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_nl, &vinden,
};
// Norway
const PrepopulatedEngine* const engines_NO[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &kvasir,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &kvasir,
};
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_nz,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_nz,
};
// Oman
const PrepopulatedEngine* const engines_OM[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Panama
const PrepopulatedEngine* const engines_PA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Peru
const PrepopulatedEngine* const engines_PE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_pe,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_pe,
};
// Philippines
const PrepopulatedEngine* const engines_PH[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_ph, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_ph, &bing,
};
// Pakistan
const PrepopulatedEngine* const engines_PK[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Puerto Rico
const PrepopulatedEngine* const engines_PR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Poland
const PrepopulatedEngine* const engines_PL[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &onet, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &onet, &bing,
};
// Portugal
const PrepopulatedEngine* const engines_PT[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Paraguay
const PrepopulatedEngine* const engines_PY[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Qatar
const PrepopulatedEngine* const engines_QA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Romania
const PrepopulatedEngine* const engines_RO[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_ro, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_ro, &bing,
};
// Serbia
const PrepopulatedEngine* const engines_RS[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Russia
const PrepopulatedEngine* const engines_RU[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ru, &mail_ru,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ru, &mail_ru,
};
// Rwanda
const PrepopulatedEngine* const engines_RW[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_maktoob, &bing,
};
// Sweden
const PrepopulatedEngine* const engines_SE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_se,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_se,
};
// Singapore
const PrepopulatedEngine* const engines_SG[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_sg, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_sg, &bing,
};
// Slovenia
const PrepopulatedEngine* const engines_SI[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &najdi, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &najdi, &ask,
};
// Slovakia
const PrepopulatedEngine* const engines_SK[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// El Salvador
const PrepopulatedEngine* const engines_SV[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Syria
const PrepopulatedEngine* const engines_SY[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Thailand
const PrepopulatedEngine* const engines_TH[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_th, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_th, &bing,
};
// Tunisia
const PrepopulatedEngine* const engines_TN[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_tr, &yandex_tr,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_tr, &yandex_tr,
};
// Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Taiwan
const PrepopulatedEngine* const engines_TW[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_tw, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_tw, &bing,
};
// Tanzania
const PrepopulatedEngine* const engines_TZ[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo, &bing,
};
// Ukraine
const PrepopulatedEngine* const engines_UA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ua, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yandex_ua, &bing,
};
// United States
const PrepopulatedEngine* const engines_US[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &aol, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &aol, &ask,
};
// Uruguay
const PrepopulatedEngine* const engines_UY[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Venezuela
const PrepopulatedEngine* const engines_VE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ve,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_ve,
};
// Vietnam
const PrepopulatedEngine* const engines_VN[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_vn, &bing,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &yahoo_vn, &bing,
};
// Yemen
const PrepopulatedEngine* const engines_YE[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo_maktoob,
};
// South Africa
const PrepopulatedEngine* const engines_ZA[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo,
};
// Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = {
- &google, &startpage, &duckduckgo, &duckduckgo_light, &bing, &yahoo, &ask,
+ &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &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, &duckduckgo_light, &kvasir,
+ &aol, &ask, &ask_br, &ask_uk, &baidu, &bing, &daum, &googleen, &google, &startpage, &duckduckgo, &duckduckgo_light, &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,114 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Dec 20 22:18:41 2017 +0100
Revert "Remove Runtime flags for /deep/ and ::shadow used in CSS dynamic profile"
This reverts commit 860f43550bf6587ca21900dfdf901fce697cbbb7
diff --git a/third_party/WebKit/Source/core/css/CSSSelector.cpp b/third_party/WebKit/Source/core/css/CSSSelector.cpp
--- a/third_party/WebKit/Source/core/css/CSSSelector.cpp
+++ b/third_party/WebKit/Source/core/css/CSSSelector.cpp
@@ -546,8 +546,14 @@ void CSSSelector::UpdatePseudoType(const AtomicString& value,
pseudo_type_ = kPseudoUnknown;
break;
case kPseudoShadow:
- if (match_ != kPseudoElement || context.IsDynamicProfile())
- pseudo_type_ = kPseudoUnknown;
+ if (RuntimeEnabledFeatures::
+ ShadowPseudoElementInCSSDynamicProfileEnabled()) {
+ if (match_ != kPseudoElement)
+ pseudo_type_ = kPseudoUnknown;
+ } else {
+ if (match_ != kPseudoElement || context.IsDynamicProfile())
+ pseudo_type_ = kPseudoUnknown;
+ }
break;
case kPseudoBlinkInternalElement:
if (match_ != kPseudoElement || mode != kUASheetMode)
diff --git a/third_party/WebKit/Source/core/css/SelectorChecker.cpp b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
--- a/third_party/WebKit/Source/core/css/SelectorChecker.cpp
+++ b/third_party/WebKit/Source/core/css/SelectorChecker.cpp
@@ -336,6 +336,8 @@ SelectorChecker::MatchStatus SelectorChecker::MatchForRelation(
switch (relation) {
case CSSSelector::kShadowDeepAsDescendant:
+ DCHECK(
+ !RuntimeEnabledFeatures::DeepCombinatorInCSSDynamicProfileEnabled());
Deprecation::CountDeprecation(context.element->GetDocument(),
WebFeature::kCSSDeepCombinator);
FALLTHROUGH;
@@ -424,6 +426,11 @@ SelectorChecker::MatchStatus SelectorChecker::MatchForRelation(
UseCounter::Count(context.element->GetDocument(),
WebFeature::kPseudoShadowInStaticProfile);
}
+ if (RuntimeEnabledFeatures::
+ ShadowPseudoElementInCSSDynamicProfileEnabled()) {
+ Deprecation::CountDeprecation(context.element->GetDocument(),
+ WebFeature::kCSSSelectorPseudoShadow);
+ }
// If we're in the same tree-scope as the scoping element, then following
// a shadow descendant combinator would escape that and thus the scope.
if (context.scope && context.scope->OwnerShadowHost() &&
diff --git a/third_party/WebKit/Source/core/css/StyleEngineTest.cpp b/third_party/WebKit/Source/core/css/StyleEngineTest.cpp
--- a/third_party/WebKit/Source/core/css/StyleEngineTest.cpp
+++ b/third_party/WebKit/Source/core/css/StyleEngineTest.cpp
@@ -842,6 +842,14 @@ TEST_F(StyleEngineTest, RuleSetInvalidationV0BoundaryCrossing) {
EXPECT_EQ(ScheduleInvalidationsForRules(
*shadow_root, ".a ::content span { background: green}"),
kRuleSetInvalidationFullRecalc);
+ if (RuntimeEnabledFeatures::DeepCombinatorInCSSDynamicProfileEnabled()) {
+ EXPECT_EQ(ScheduleInvalidationsForRules(
+ *shadow_root, ".a /deep/ span { background: green}"),
+ kRuleSetInvalidationFullRecalc);
+ EXPECT_EQ(ScheduleInvalidationsForRules(
+ *shadow_root, ".a::shadow span { background: green}"),
+ kRuleSetInvalidationFullRecalc);
+ }
}
TEST_F(StyleEngineTest, HasViewportDependentMediaQueries) {
diff --git a/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp
--- a/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp
+++ b/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp
@@ -1,4 +1,3 @@
-
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -667,6 +666,9 @@ CSSSelector::RelationType CSSSelectorParser::ConsumeCombinator(
const CSSParserToken& slash = range.ConsumeIncludingWhitespace();
if (slash.GetType() != kDelimiterToken || slash.Delimiter() != '/')
failed_parsing_ = true;
+ if (RuntimeEnabledFeatures::DeepCombinatorInCSSDynamicProfileEnabled()) {
+ return CSSSelector::kShadowDeep;
+ }
return context_->IsDynamicProfile() ? CSSSelector::kShadowDeepAsDescendant
: CSSSelector::kShadowDeep;
}
diff --git a/third_party/WebKit/Source/platform/runtime_enabled_features.json5 b/third_party/WebKit/Source/platform/runtime_enabled_features.json5
--- a/third_party/WebKit/Source/platform/runtime_enabled_features.json5
+++ b/third_party/WebKit/Source/platform/runtime_enabled_features.json5
@@ -325,6 +325,11 @@
name: "DecodeToYUV",
status: "experimental",
},
+ // Remove this flag once we can remove /deep/ at M63.
+ {
+ name: "DeepCombinatorInCSSDynamicProfile",
+ status: "test",
+ },
{
name: "DeprecationReporting",
status: "experimental",
@@ -974,6 +979,11 @@
name: "ShadowPiercingDescendantCombinator",
status: "experimental",
},
+ // Remove this flag once we can remove ::shadow at M63.
+ {
+ name: "ShadowPseudoElementInCSSDynamicProfile",
+ status: "test",
+ },
{
name: "ShapeDetection",
status: "experimental",
@@ -1,71 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Dec 20 22:31:37 2017 +0100
Revert "Disable runtime flags for /deep/ and ::shadow used in CSS dynamic profile for M63."
This reverts commit 0ebd56da93abf970128804390879624b3dc79ac2.
diff --git a/third_party/WebKit/LayoutTests/fast/dom/shadow/apply-deep-in-document-scope-expected.txt b/third_party/WebKit/LayoutTests/fast/dom/shadow/apply-deep-in-document-scope-expected.txt
--- a/third_party/WebKit/LayoutTests/fast/dom/shadow/apply-deep-in-document-scope-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/dom/shadow/apply-deep-in-document-scope-expected.txt
@@ -1,4 +1,4 @@
-CONSOLE WARNING: line 1: /deep/ combinator is no longer supported in CSS dynamic profile.It is now effectively no-op, acting as if it were a descendant combinator. /deep/ combinator will be removed, and will be invalid at M65. You should remove it. See https://www.chromestatus.com/features/4964279606312960 for more details.
+CONSOLE WARNING: line 1: /deep/ combinator in CSS is deprecated and will be removed in M63, around December 2017. See https://www.chromestatus.com/features/4964279606312960 for more details.
/deep/ as a descendant selector in document without shadow trees.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
diff --git a/third_party/WebKit/Source/core/frame/Deprecation.cpp b/third_party/WebKit/Source/core/frame/Deprecation.cpp
--- a/third_party/WebKit/Source/core/frame/Deprecation.cpp
+++ b/third_party/WebKit/Source/core/frame/Deprecation.cpp
@@ -388,13 +388,13 @@ DeprecationInfo GetDeprecationInfo(WebFeature feature) {
"details.")};
case WebFeature::kCSSDeepCombinator:
- return {"CSSDeepCombinator", M65,
- "/deep/ combinator is no longer supported in CSS dynamic profile."
- "It is now effectively no-op, acting as if it were a descendant "
- "combinator. /deep/ combinator will be removed, and will be "
- "invalid at M65. You should remove it. See "
- "https://www.chromestatus.com/features/4964279606312960 for more "
- "details."};
+ return {"CSSDeepCombinator", M63,
+ willBeRemoved("/deep/ combinator in CSS", M63, "4964279606312960")};
+
+ case WebFeature::kCSSSelectorPseudoShadow:
+ return {"CSSSelectorPseudoShadow", M63,
+ willBeRemoved("::shadow pseudo-element in CSS", M63,
+ "6750456638341120")};
case WebFeature::kVREyeParametersOffset:
return {"VREyeParametersOffset", Unknown,
diff --git a/third_party/WebKit/Source/platform/runtime_enabled_features.json5 b/third_party/WebKit/Source/platform/runtime_enabled_features.json5
--- a/third_party/WebKit/Source/platform/runtime_enabled_features.json5
+++ b/third_party/WebKit/Source/platform/runtime_enabled_features.json5
@@ -325,10 +325,11 @@
name: "DecodeToYUV",
status: "experimental",
},
- // Remove this flag once we can remove /deep/ at M63.
+ // Introduced this flag as stable so we can re-enable this feature easily
+ // after we disable this feature.
{
name: "DeepCombinatorInCSSDynamicProfile",
- status: "test",
+ status: "stable",
},
{
name: "DeprecationReporting",
@@ -979,10 +980,11 @@
name: "ShadowPiercingDescendantCombinator",
status: "experimental",
},
- // Remove this flag once we can remove ::shadow at M63.
+ // Introduced this flag as stable so we can re-enable this feature easily
+ // after we disable this feature.
{
name: "ShadowPseudoElementInCSSDynamicProfile",
- status: "test",
+ status: "stable",
},
{
name: "ShapeDetection",
@@ -1,18 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat Jan 20 19:44:43 2018 +0100
Fix crash when accessing page info / site settings
diff --git a/chrome/browser/permissions/permission_manager.cc b/chrome/browser/permissions/permission_manager.cc
--- a/chrome/browser/permissions/permission_manager.cc
+++ b/chrome/browser/permissions/permission_manager.cc
@@ -573,6 +573,9 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
const GURL& embedding_origin) {
GURL canonical_requesting_origin = GetCanonicalOrigin(requesting_origin);
PermissionContextBase* context = GetPermissionContext(permission);
+ if (context == nullptr) {
+ return PermissionResult(CONTENT_SETTING_BLOCK, PermissionStatusSource::UNSPECIFIED);
+ }
PermissionResult result = context->GetPermissionStatus(
render_frame_host, canonical_requesting_origin.GetOrigin(),
embedding_origin.GetOrigin());
@@ -1,81 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat Jan 20 21:17:27 2018 +0100
Compile ARM optimizations for H264
Not only when running ChromeOS+ARM but for all ARM devices
diff --git a/content/renderer/media_recorder/h264_encoder.cc b/content/renderer/media_recorder/h264_encoder.cc
--- a/content/renderer/media_recorder/h264_encoder.cc
+++ b/content/renderer/media_recorder/h264_encoder.cc
@@ -149,11 +149,11 @@ void H264Encoder::ConfigureEncoderOnEncodingTaskRunner(const gfx::Size& size) {
init_params.iRCMode = RC_OFF_MODE;
}
-#if defined(OS_CHROMEOS)
- init_params.iMultipleThreadIdc = 0;
-#else
+#if defined(OS_MACOSX)
// Threading model: Set to 1 due to https://crbug.com/583348.
init_params.iMultipleThreadIdc = 1;
+#else
+ init_params.iMultipleThreadIdc = 0;
#endif
// TODO(mcasas): consider reducing complexity if there are few CPUs available.
diff --git a/third_party/openh264/BUILD.gn b/third_party/openh264/BUILD.gn
--- a/third_party/openh264/BUILD.gn
+++ b/third_party/openh264/BUILD.gn
@@ -10,16 +10,22 @@ import("//third_party/yasm/yasm_assemble.gni")
# Config shared by all openh264 targets.
config("config") {
cflags = []
+ defines = []
+ # HAVE_NEON and __chromeos__ are needed for enabling NEON on ChromeOS
+ # devices.
if (is_chromeos && target_cpu == "arm") {
- # HAVE_NEON and __chromeos__ are needed for enabling NEON on ChromeOS
- # devices.
- defines = [
- "HAVE_NEON",
+ defines += [
"__chromeos__",
]
}
+ if (target_cpu == "arm") {
+ defines += [
+ "HAVE_NEON",
+ ]
+ }
+
# GCC and clang flags. MSVS (is_win && !is_clang) does not use cflags.
if (!is_win || is_clang) {
cflags += [
@@ -123,7 +129,7 @@ if (use_assembler) {
source_set("common") {
sources = openh264_common_sources
- if (is_chromeos && target_cpu == "arm") {
+ if (target_cpu == "arm") {
sources += openh264_common_sources_asm_arm
}
include_dirs = openh264_common_include_dirs
@@ -149,7 +155,7 @@ source_set("common") {
source_set("processing") {
sources = openh264_processing_sources
- if (is_chromeos && target_cpu == "arm") {
+ if (target_cpu == "arm") {
sources += openh264_processing_sources_asm_arm
}
include_dirs = openh264_processing_include_dirs
@@ -168,7 +174,7 @@ source_set("processing") {
source_set("encoder") {
sources = openh264_encoder_sources
- if (is_chromeos && target_cpu == "arm") {
+ if (target_cpu == "arm") {
sources += openh264_encoder_sources_asm_arm
}
include_dirs = openh264_encoder_include_dirs
@@ -1,66 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat Oct 28 10:09:41 2017 +0200
Do not track google search results clicks
Limit AMP cleanup to main search results
diff --git a/third_party/WebKit/Source/core/dom/BUILD.gn b/third_party/WebKit/Source/core/dom/BUILD.gn
--- a/third_party/WebKit/Source/core/dom/BUILD.gn
+++ b/third_party/WebKit/Source/core/dom/BUILD.gn
@@ -301,6 +301,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
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -221,6 +221,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"
@@ -5786,8 +5787,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) << "injecting dont-track-me Javascript payload";
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
+ 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
@@ -1,18 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:43:35 2018 +0100
Never send any crash upload data
diff --git a/chrome/browser/tracing/crash_service_uploader.cc b/chrome/browser/tracing/crash_service_uploader.cc
--- a/chrome/browser/tracing/crash_service_uploader.cc
+++ b/chrome/browser/tracing/crash_service_uploader.cc
@@ -122,6 +122,9 @@ void TraceCrashServiceUploader::DoUpload(
std::unique_ptr<const base::DictionaryValue> metadata,
const UploadProgressCallback& progress_callback,
const UploadDoneCallback& done_callback) {
+
+ return;
+
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
progress_callback_ = progress_callback;
@@ -1,21 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed Feb 14 12:56:01 2018 +0100
Never fetch popular sites
diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/popular_sites_impl.cc
--- a/components/ntp_tiles/popular_sites_impl.cc
+++ b/components/ntp_tiles/popular_sites_impl.cc
@@ -289,6 +289,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
DCHECK(!callback_);
callback_ = callback;
+ if (force_download) {
+ callback_.Run(true);
+ return true;
+ }
+ return false;
+
const base::Time last_download_time = base::Time::FromInternalValue(
prefs_->GetInt64(prefs::kPopularSitesLastDownloadPref));
const base::TimeDelta time_since_last_download =
@@ -1,49 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:14:39 2018 +0100
ungoogled-chromium: Disable signin
diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc
--- a/chrome/browser/ui/chrome_pages.cc
+++ b/chrome/browser/ui/chrome_pages.cc
@@ -76,12 +76,6 @@ void OpenBookmarkManagerForNode(Browser* browser, int64_t node_id) {
ShowSingletonTabOverwritingNTP(browser, params);
}
-void NavigateToSingletonTab(Browser* browser, const GURL& url) {
- NavigateParams params(GetSingletonTabNavigateParams(browser, url));
- params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE;
- ShowSingletonTabOverwritingNTP(browser, params);
-}
-
// Shows either the help app or the appropriate help page for |source|. If
// |browser| is NULL and the help page is used (vs the app), the help page is
// shown in the last active browser. If there is no such browser, a new browser
@@ -396,6 +390,7 @@ void ShowSearchEngineSettings(Browser* browser) {
#if !defined(OS_ANDROID)
void ShowBrowserSignin(Browser* browser,
signin_metrics::AccessPoint access_point) {
+#if 0
Profile* original_profile = browser->profile()->GetOriginalProfile();
SigninManagerBase* manager =
SigninManagerFactory::GetForProfile(original_profile);
@@ -436,6 +431,7 @@ void ShowBrowserSignin(Browser* browser,
false));
DCHECK_GT(browser->tab_strip_model()->count(), 0);
}
+#endif
}
void ShowBrowserSigninOrSettings(Browser* browser,
diff --git a/components/signin/core/browser/signin_manager_base.cc b/components/signin/core/browser/signin_manager_base.cc
--- a/components/signin/core/browser/signin_manager_base.cc
+++ b/components/signin/core/browser/signin_manager_base.cc
@@ -158,7 +158,7 @@ void SigninManagerBase::Initialize(PrefService* local_state) {
bool SigninManagerBase::IsInitialized() const { return initialized_; }
bool SigninManagerBase::IsSigninAllowed() const {
- return client_->GetPrefs()->GetBoolean(prefs::kSigninAllowed);
+ return false;
}
AccountInfo SigninManagerBase::GetAuthenticatedAccountInfo() const {
@@ -1,117 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:21:36 2018 +0100
ungoogled-chromium: Disable webRTC log uploader
Disables WebRTC log uploading to Google - ported patch
diff --git a/chrome/browser/media/webrtc/webrtc_log_uploader.cc b/chrome/browser/media/webrtc/webrtc_log_uploader.cc
--- a/chrome/browser/media/webrtc/webrtc_log_uploader.cc
+++ b/chrome/browser/media/webrtc/webrtc_log_uploader.cc
@@ -115,30 +115,10 @@ void WebRtcLogUploader::LoggingStoppedDoUpload(
DCHECK(meta_data.get());
DCHECK(!upload_done_data.log_path.empty());
- std::string compressed_log;
- CompressLog(&compressed_log, log_buffer.get());
-
- std::string local_log_id;
-
if (base::PathExists(upload_done_data.log_path)) {
webrtc_logging::DeleteOldWebRtcLogFiles(upload_done_data.log_path);
-
- local_log_id = base::NumberToString(base::Time::Now().ToDoubleT());
- base::FilePath log_file_path =
- upload_done_data.log_path.AppendASCII(local_log_id)
- .AddExtension(FILE_PATH_LITERAL(".gz"));
- WriteCompressedLogToFile(compressed_log, log_file_path);
-
- base::FilePath log_list_path =
- webrtc_logging::LogList::GetWebRtcLogListFileForDirectory(
- upload_done_data.log_path);
- AddLocallyStoredLogInfoToUploadListFile(log_list_path, local_log_id);
}
-
- WebRtcLogUploadDoneData upload_done_data_with_log_id = upload_done_data;
- upload_done_data_with_log_id.local_log_id = local_log_id;
- PrepareMultipartPostData(compressed_log, std::move(meta_data),
- upload_done_data_with_log_id);
+ NotifyUploadDone(net::HTTP_OK, "", upload_done_data);
}
void WebRtcLogUploader::PrepareMultipartPostData(
@@ -149,29 +129,7 @@ void WebRtcLogUploader::PrepareMultipartPostData(
DCHECK(!compressed_log.empty());
DCHECK(meta_data.get());
- std::unique_ptr<std::string> post_data(new std::string());
- SetupMultipart(post_data.get(),
- compressed_log,
- upload_done_data.incoming_rtp_dump,
- upload_done_data.outgoing_rtp_dump,
- *meta_data.get());
-
- // If a test has set the test string pointer, write to it and skip uploading.
- // Still fire the upload callback so that we can run an extension API test
- // using the test framework for that without hanging.
- // TODO(grunell): Remove this when the api test for this feature is fully
- // implemented according to the test plan. http://crbug.com/257329.
- if (post_data_) {
- *post_data_ = *post_data;
- NotifyUploadDone(net::HTTP_OK, "", upload_done_data);
- return;
- }
-
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::BindOnce(&WebRtcLogUploader::UploadCompressedLog,
- base::Unretained(this), upload_done_data,
- base::Passed(&post_data)));
+ NotifyUploadDone(net::HTTP_OK, "", upload_done_data);
}
void WebRtcLogUploader::UploadStoredLog(
@@ -237,44 +195,6 @@ void WebRtcLogUploader::LoggingStoppedDoStore(
webrtc_logging::DeleteOldWebRtcLogFiles(log_paths.log_path);
- base::FilePath log_list_path =
- webrtc_logging::LogList::GetWebRtcLogListFileForDirectory(
- log_paths.log_path);
-
- // Store the native log with a ".gz" extension.
- std::string compressed_log;
- CompressLog(&compressed_log, log_buffer.get());
- base::FilePath native_log_path = log_paths.log_path.AppendASCII(log_id)
- .AddExtension(FILE_PATH_LITERAL(".gz"));
- WriteCompressedLogToFile(compressed_log, native_log_path);
- AddLocallyStoredLogInfoToUploadListFile(log_list_path, log_id);
-
- // Move the rtp dump files to the log directory with a name of
- // <log id>.rtp_[in|out].
- if (!log_paths.incoming_rtp_dump.empty()) {
- base::FilePath rtp_path = log_paths.log_path.AppendASCII(log_id)
- .AddExtension(FILE_PATH_LITERAL(".rtp_in"));
- base::Move(log_paths.incoming_rtp_dump, rtp_path);
- }
-
- if (!log_paths.outgoing_rtp_dump.empty()) {
- base::FilePath rtp_path = log_paths.log_path.AppendASCII(log_id)
- .AddExtension(FILE_PATH_LITERAL(".rtp_out"));
- base::Move(log_paths.outgoing_rtp_dump, rtp_path);
- }
-
- if (meta_data.get() && !meta_data->empty()) {
- base::Pickle pickle;
- for (const auto& it : *meta_data.get()) {
- pickle.WriteString(it.first);
- pickle.WriteString(it.second);
- }
- base::FilePath meta_path = log_paths.log_path.AppendASCII(log_id)
- .AddExtension(FILE_PATH_LITERAL(".meta"));
- base::WriteFile(meta_path, static_cast<const char*>(pickle.data()),
- pickle.size());
- }
-
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
base::BindOnce(done_callback, true, ""));
@@ -1,114 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:28:11 2018 +0100
ungoogled-chromium: Disable untraceable URLs
Disable additional URLs that are not caught by the "trk" scheme
diff --git a/chrome/browser/android/rlz/rlz_ping_handler.cc b/chrome/browser/android/rlz/rlz_ping_handler.cc
--- a/chrome/browser/android/rlz/rlz_ping_handler.cc
+++ b/chrome/browser/android/rlz/rlz_ping_handler.cc
@@ -66,7 +66,7 @@ void RlzPingHandler::Ping(
DCHECK_EQ(id.length(), 50u);
GURL request_url(base::StringPrintf(
- "https://%s%s?", rlz_lib::kFinancialServer, rlz_lib::kFinancialPingPath));
+ "about:blank"));
request_url = net::AppendQueryParameter(
request_url, rlz_lib::kProductSignatureCgiVariable, "chrome");
request_url =
diff --git a/chrome/browser/plugins/plugins_resource_service.cc b/chrome/browser/plugins/plugins_resource_service.cc
--- a/chrome/browser/plugins/plugins_resource_service.cc
+++ b/chrome/browser/plugins/plugins_resource_service.cc
@@ -69,7 +69,7 @@ GURL GetPluginsServerURL() {
#error Unknown platform
#endif
- return GURL(kPluginsServerUrl + filename);
+ return GURL("about:blank");
}
} // namespace
diff --git a/chrome/browser/safe_browsing/client_side_model_loader.cc b/chrome/browser/safe_browsing/client_side_model_loader.cc
--- a/chrome/browser/safe_browsing/client_side_model_loader.cc
+++ b/chrome/browser/safe_browsing/client_side_model_loader.cc
@@ -34,8 +34,6 @@ namespace safe_browsing {
// Model Loader strings
const size_t ModelLoader::kMaxModelSizeBytes = 150 * 1024;
const int ModelLoader::kClientModelFetchIntervalMs = 3600 * 1000;
-const char ModelLoader::kClientModelUrlPrefix[] =
- "https://ssl.gstatic.com/safebrowsing/csd/";
const char ModelLoader::kClientModelNamePattern[] =
"client_model_v5%s_variation_%d.pb";
const char ModelLoader::kClientModelFinchExperiment[] =
@@ -88,7 +86,7 @@ ModelLoader::ModelLoader(base::Closure update_renderers_callback,
net::URLRequestContextGetter* request_context_getter,
bool is_extended_reporting)
: name_(FillInModelName(is_extended_reporting, GetModelNumber())),
- url_(kClientModelUrlPrefix + name_),
+ url_("about:blank"),
update_renderers_callback_(update_renderers_callback),
request_context_getter_(request_context_getter),
weak_factory_(this) {
@@ -99,7 +97,7 @@ ModelLoader::ModelLoader(base::Closure update_renderers_callback,
ModelLoader::ModelLoader(base::Closure update_renderers_callback,
const std::string& model_name)
: name_(model_name),
- url_(kClientModelUrlPrefix + name_),
+ url_("about:blank"),
update_renderers_callback_(update_renderers_callback),
request_context_getter_(NULL),
weak_factory_(this) {
diff --git a/chrome/browser/safe_browsing/client_side_model_loader.h b/chrome/browser/safe_browsing/client_side_model_loader.h
--- a/chrome/browser/safe_browsing/client_side_model_loader.h
+++ b/chrome/browser/safe_browsing/client_side_model_loader.h
@@ -43,7 +43,6 @@ class ModelLoader : public net::URLFetcherDelegate {
static const int kClientModelFetchIntervalMs;
static const char kClientModelFinchExperiment[];
static const char kClientModelFinchParam[];
- static const char kClientModelUrlPrefix[];
static const char kClientModelNamePattern[];
// Constructs a model loader to fetch a model using |request_context_getter|.
diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc
--- a/rlz/lib/financial_ping.cc
+++ b/rlz/lib/financial_ping.cc
@@ -366,7 +366,7 @@ bool FinancialPing::PingServer(const char* request, std::string* response) {
// Open network connection.
InternetHandle connection_handle = InternetConnectA(inet_handle,
- kFinancialServer, kFinancialPort, "", "", INTERNET_SERVICE_HTTP,
+ "about:blank", kFinancialPort, "", "", INTERNET_SERVICE_HTTP,
INTERNET_FLAG_NO_CACHE_WRITE, 0);
if (!connection_handle)
return false;
@@ -410,7 +410,7 @@ bool FinancialPing::PingServer(const char* request, std::string* response) {
return true;
#else
std::string url =
- base::StringPrintf("https://%s%s", kFinancialServer, request);
+ base::StringPrintf("about:blank");
// Use a waitable event to cause this function to block, to match the
// wininet implementation.
diff --git a/rlz/lib/lib_values.cc b/rlz/lib/lib_values.cc
--- a/rlz/lib/lib_values.cc
+++ b/rlz/lib/lib_values.cc
@@ -41,7 +41,6 @@ const char kSetDccResponseVariable[] = "set_dcc";
//
const char kFinancialPingPath[] = "/tools/pso/ping";
-const char kFinancialServer[] = "clients1.google.com";
const int kFinancialPort = 443;
// Ping times in 100-nanosecond intervals.
diff --git a/rlz/lib/lib_values.h b/rlz/lib/lib_values.h
--- a/rlz/lib/lib_values.h
+++ b/rlz/lib/lib_values.h
@@ -72,7 +72,6 @@ extern const char kSetDccResponseVariable[];
//
extern const char kFinancialPingPath[];
-extern const char kFinancialServer[];
extern const int kFinancialPort;
@@ -1,46 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:28:53 2018 +0100
ungoogled-chromium: Disable translate
Disable Google Translate integration
diff --git a/components/translate/content/renderer/translate_helper.cc b/components/translate/content/renderer/translate_helper.cc
--- a/components/translate/content/renderer/translate_helper.cc
+++ b/components/translate/content/renderer/translate_helper.cc
@@ -74,7 +74,9 @@ TranslateHelper::TranslateHelper(content::RenderFrame* render_frame,
world_id_(world_id),
extension_scheme_(extension_scheme),
binding_(this),
- weak_method_factory_(this) {}
+ weak_method_factory_(this) {
+ CancelPendingTranslation();
+}
TranslateHelper::~TranslateHelper() {
}
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
--- a/components/translate/core/browser/translate_manager.cc
+++ b/components/translate/core/browser/translate_manager.cc
@@ -102,7 +102,7 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
if (net::NetworkChangeNotifier::IsOffline())
return;
- if (!ignore_missing_key_for_testing_ && !::google_apis::HasKeysConfigured()) {
+ if (true) {
// Without an API key, translate won't work, so don't offer to translate in
// the first place. Leave prefs::kOfferTranslateEnabled on, though, because
// that settings syncs and we don't want to turn off translate everywhere
diff --git a/components/translate/core/browser/translate_script.cc b/components/translate/core/browser/translate_script.cc
--- a/components/translate/core/browser/translate_script.cc
+++ b/components/translate/core/browser/translate_script.cc
@@ -149,9 +149,8 @@ void TranslateScript::OnScriptFetchComplete(
base::StringAppendF(&data_, "var serverParams = '%s';\n",
server_params.c_str());
- GURL security_origin = translate::GetTranslateSecurityOrigin();
base::StringAppendF(
- &data_, "var securityOrigin = '%s';", security_origin.spec().c_str());
+ &data_, "var securityOrigin = '';");
// Append embedded translate.js and a remote element library.
base::StringPiece str =
@@ -1,30 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:29:30 2018 +0100
ungoogled-chromium: Disable profile avatar downloading
Stop downloading profile avatar
diff --git a/chrome/browser/profiles/profile_avatar_downloader.cc b/chrome/browser/profiles/profile_avatar_downloader.cc
--- a/chrome/browser/profiles/profile_avatar_downloader.cc
+++ b/chrome/browser/profiles/profile_avatar_downloader.cc
@@ -16,19 +16,13 @@
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "ui/gfx/image/image.h"
-namespace {
-const char kHighResAvatarDownloadUrlPrefix[] =
- "https://www.gstatic.com/chrome/profile_avatars/";
-}
-
ProfileAvatarDownloader::ProfileAvatarDownloader(
size_t icon_index,
const FetchCompleteCallback& callback)
: icon_index_(icon_index),
callback_(callback) {
DCHECK(!callback_.is_null());
- GURL url(std::string(kHighResAvatarDownloadUrlPrefix) +
- profiles::GetDefaultAvatarIconFileNameAtIndex(icon_index));
+ GURL url(std::string("about:blank"));
net::NetworkTrafficAnnotationTag traffic_annotation =
net::DefineNetworkTrafficAnnotation("profile_avatar", R"(
semantics {
@@ -1,21 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:30:30 2018 +0100
ungoogled-chromium: Disable intranet redirect detector
Disables the intranet redirect detector. It generates extra DNS requests and the functionality using this is disabled
See this page for more information: https://mikewest.org/2012/02/chrome-connects-to-three-random-domains-at-startup
diff --git a/chrome/browser/intranet_redirect_detector.cc b/chrome/browser/intranet_redirect_detector.cc
--- a/chrome/browser/intranet_redirect_detector.cc
+++ b/chrome/browser/intranet_redirect_detector.cc
@@ -72,9 +72,7 @@ void IntranetRedirectDetector::FinishSleep() {
fetchers_.clear();
resulting_origins_.clear();
- const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
- if (cmd_line->HasSwitch(switches::kDisableBackgroundNetworking))
- return;
+ return;
DCHECK(fetchers_.empty() && resulting_origins_.empty());
@@ -1,363 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:36:33 2018 +0100
ungoogled-chromium: Disable Google host detection
Disables various detections of Google hosts and functionality specific to them
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_util.cc b/chrome/browser/page_load_metrics/page_load_metrics_util.cc
--- a/chrome/browser/page_load_metrics/page_load_metrics_util.cc
+++ b/chrome/browser/page_load_metrics/page_load_metrics_util.cc
@@ -169,9 +169,7 @@ bool DidObserveLoadingBehaviorInAnyFrame(
}
bool IsGoogleSearchHostname(const GURL& url) {
- base::Optional<std::string> result =
- page_load_metrics::GetGoogleHostnamePrefix(url);
- return result && result.value() == "www";
+ return false;
}
bool IsGoogleSearchResultUrl(const GURL& url) {
diff --git a/chrome/common/page_load_metrics/page_load_metrics_util.cc b/chrome/common/page_load_metrics/page_load_metrics_util.cc
--- a/chrome/common/page_load_metrics/page_load_metrics_util.cc
+++ b/chrome/common/page_load_metrics/page_load_metrics_util.cc
@@ -12,38 +12,7 @@
namespace page_load_metrics {
base::Optional<std::string> GetGoogleHostnamePrefix(const GURL& url) {
- const size_t registry_length =
- net::registry_controlled_domains::GetRegistryLength(
- url,
-
- // Do not include unknown registries (registries that don't have any
- // matches in effective TLD names).
- net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES,
-
- // Do not include private registries, such as appspot.com. We don't
- // want to match URLs like www.google.appspot.com.
- net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
-
- const base::StringPiece hostname = url.host_piece();
- if (registry_length == 0 || registry_length == std::string::npos ||
- registry_length >= hostname.length()) {
- return base::Optional<std::string>();
- }
-
- // Removes the tld and the preceding dot.
- const base::StringPiece hostname_minus_registry =
- hostname.substr(0, hostname.length() - (registry_length + 1));
-
- if (hostname_minus_registry == "google")
- return std::string("");
-
- if (!base::EndsWith(hostname_minus_registry, ".google",
- base::CompareCase::INSENSITIVE_ASCII)) {
- return base::Optional<std::string>();
- }
-
- return std::string(hostname_minus_registry.substr(
- 0, hostname_minus_registry.length() - strlen(".google")));
+ return base::Optional<std::string>();
}
bool IsGoogleHostname(const GURL& url) {
diff --git a/components/google/core/browser/google_util.cc b/components/google/core/browser/google_util.cc
--- a/components/google/core/browser/google_util.cc
+++ b/components/google/core/browser/google_util.cc
@@ -41,118 +41,16 @@ namespace {
bool gUseMockLinkDoctorBaseURLForTesting = false;
-bool IsPathHomePageBase(base::StringPiece path) {
- return (path == "/") || (path == "/webhp");
-}
-
-// Removes a single trailing dot if present in |host|.
-void StripTrailingDot(base::StringPiece* host) {
- if (host->ends_with("."))
- host->remove_suffix(1);
-}
-
-// True if the given canonical |host| is "[www.]<domain_in_lower_case>.<TLD>"
-// with a valid TLD. If |subdomain_permission| is ALLOW_SUBDOMAIN, we check
-// against host "*.<domain_in_lower_case>.<TLD>" instead. Will return the TLD
-// string in |tld|, if specified and the |host| can be parsed.
-bool IsValidHostName(base::StringPiece host,
- base::StringPiece domain_in_lower_case,
- SubdomainPermission subdomain_permission,
- base::StringPiece* tld) {
- // Fast path to avoid searching the registry set.
- if (host.find(domain_in_lower_case) == base::StringPiece::npos)
- return false;
-
- size_t tld_length =
- net::registry_controlled_domains::GetCanonicalHostRegistryLength(
- host, net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES,
- net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES);
- if ((tld_length == 0) || (tld_length == std::string::npos))
- return false;
-
- // Removes the tld and the preceding dot.
- base::StringPiece host_minus_tld =
- host.substr(0, host.length() - tld_length - 1);
-
- if (tld)
- *tld = host.substr(host.length() - tld_length);
-
- if (base::LowerCaseEqualsASCII(host_minus_tld, domain_in_lower_case))
- return true;
-
- if (subdomain_permission == ALLOW_SUBDOMAIN) {
- std::string dot_domain(".");
- domain_in_lower_case.AppendToString(&dot_domain);
- return base::EndsWith(host_minus_tld, dot_domain,
- base::CompareCase::INSENSITIVE_ASCII);
- }
-
- std::string www_domain("www.");
- domain_in_lower_case.AppendToString(&www_domain);
- return base::LowerCaseEqualsASCII(host_minus_tld, www_domain);
-}
-
-// True if |url| is a valid URL with HTTP or HTTPS scheme. If |port_permission|
-// is DISALLOW_NON_STANDARD_PORTS, this also requires |url| to use the standard
-// port for its scheme (80 for HTTP, 443 for HTTPS).
-bool IsValidURL(const GURL& url, PortPermission port_permission) {
- return url.is_valid() && url.SchemeIsHTTPOrHTTPS() &&
- (url.port().empty() || (port_permission == ALLOW_NON_STANDARD_PORTS));
-}
-
-bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host,
- SubdomainPermission subdomain_permission) {
- const GURL& base_url(CommandLineGoogleBaseURL());
- if (base_url.is_valid() && (canonical_host == base_url.host_piece()))
- return true;
-
- base::StringPiece tld;
- if (!IsValidHostName(canonical_host, "google", subdomain_permission, &tld))
- return false;
-
- // Remove the trailing dot from tld if present, as for google domain it's the
- // same page.
- StripTrailingDot(&tld);
-
- CR_DEFINE_STATIC_LOCAL(std::set<std::string>, google_tlds,
- ({GOOGLE_TLD_LIST}));
- return base::ContainsKey(google_tlds, tld.as_string());
-}
-
-// True if |url| is a valid URL with a host that is in the static list of
-// Google subdomains for google search, and an HTTP or HTTPS scheme. Requires
-// |url| to use the standard port for its scheme (80 for HTTP, 443 for HTTPS).
-bool IsGoogleSearchSubdomainUrl(const GURL& url) {
- if (!IsValidURL(url, PortPermission::DISALLOW_NON_STANDARD_PORTS))
- return false;
-
- base::StringPiece host(url.host_piece());
- StripTrailingDot(&host);
-
- CR_DEFINE_STATIC_LOCAL(std::set<std::string>, google_subdomains,
- ({"ipv4.google.com", "ipv6.google.com"}));
-
- return base::ContainsKey(google_subdomains, host.as_string());
-}
-
} // namespace
// Global functions -----------------------------------------------------------
bool HasGoogleSearchQueryParam(base::StringPiece str) {
- url::Component query(0, static_cast<int>(str.length())), key, value;
- while (url::ExtractQueryKeyValue(str.data(), &query, &key, &value)) {
- base::StringPiece key_str = str.substr(key.begin, key.len);
- if (key_str == "q" || key_str == "as_q")
- return true;
- }
return false;
}
GURL LinkDoctorBaseURL() {
- if (gUseMockLinkDoctorBaseURLForTesting)
- return GURL("http://mock.linkdoctor.url/for?testing");
- return GURL(LINKDOCTOR_SERVER_REQUEST_URL);
+ return GURL();
}
void SetMockLinkDoctorBaseURLForTesting() {
@@ -166,119 +64,50 @@ std::string GetGoogleLocale(const std::string& application_locale) {
GURL AppendGoogleLocaleParam(const GURL& url,
const std::string& application_locale) {
- return net::AppendQueryParameter(
- url, "hl", GetGoogleLocale(application_locale));
+ return url;
}
std::string GetGoogleCountryCode(const GURL& google_homepage_url) {
- base::StringPiece google_hostname = google_homepage_url.host_piece();
- // TODO(igorcov): This needs a fix for case when the host has a trailing dot,
- // like "google.com./". https://crbug.com/720295.
- const size_t last_dot = google_hostname.find_last_of('.');
- DCHECK_NE(std::string::npos, last_dot);
- base::StringPiece country_code = google_hostname.substr(last_dot + 1);
- // Assume the com TLD implies the US.
- if (country_code == "com")
- return "us";
- // Google uses the Unicode Common Locale Data Repository (CLDR), and the CLDR
- // code for the UK is "gb".
- if (country_code == "uk")
- return "gb";
- // Catalonia does not have a CLDR country code, since it's a region in Spain,
- // so use Spain instead.
- if (country_code == "cat")
- return "es";
- return country_code.as_string();
+ return "nolocale";
}
GURL GetGoogleSearchURL(const GURL& google_homepage_url) {
- // To transform the homepage URL into the corresponding search URL, add the
- // "search" and the "q=" query string.
- GURL::Replacements replacements;
- replacements.SetPathStr("search");
- replacements.SetQueryStr("q=");
- return google_homepage_url.ReplaceComponents(replacements);
+ return google_homepage_url;
}
const GURL& CommandLineGoogleBaseURL() {
- // Unit tests may add command-line flags after the first call to this
- // function, so we don't simply initialize a static |base_url| directly and
- // then unconditionally return it.
- CR_DEFINE_STATIC_LOCAL(std::string, switch_value, ());
CR_DEFINE_STATIC_LOCAL(GURL, base_url, ());
- std::string current_switch_value(
- base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
- switches::kGoogleBaseURL));
- if (current_switch_value != switch_value) {
- switch_value = current_switch_value;
- base_url = url_formatter::FixupURL(switch_value, std::string());
- if (!base_url.is_valid() || base_url.has_query() || base_url.has_ref())
- base_url = GURL();
- }
+ base_url = GURL();
return base_url;
}
bool StartsWithCommandLineGoogleBaseURL(const GURL& url) {
- const GURL& base_url(CommandLineGoogleBaseURL());
- return base_url.is_valid() &&
- base::StartsWith(url.possibly_invalid_spec(), base_url.spec(),
- base::CompareCase::SENSITIVE);
+ return false;
}
bool IsGoogleHostname(base::StringPiece host,
SubdomainPermission subdomain_permission) {
- url::CanonHostInfo host_info;
- return IsCanonicalHostGoogleHostname(net::CanonicalizeHost(host, &host_info),
- subdomain_permission);
+ return false;
}
bool IsGoogleDomainUrl(const GURL& url,
SubdomainPermission subdomain_permission,
PortPermission port_permission) {
- return IsValidURL(url, port_permission) &&
- IsCanonicalHostGoogleHostname(url.host_piece(), subdomain_permission);
+ return false;
}
bool IsGoogleHomePageUrl(const GURL& url) {
- // First check to see if this has a Google domain.
- if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN,
- DISALLOW_NON_STANDARD_PORTS) &&
- !IsGoogleSearchSubdomainUrl(url)) {
- return false;
- }
-
- // Make sure the path is a known home page path.
- base::StringPiece path(url.path_piece());
- return IsPathHomePageBase(path) ||
- base::StartsWith(path, "/ig", base::CompareCase::INSENSITIVE_ASCII);
+ return false;
}
bool IsGoogleSearchUrl(const GURL& url) {
- // First check to see if this has a Google domain.
- if (!IsGoogleDomainUrl(url, DISALLOW_SUBDOMAIN,
- DISALLOW_NON_STANDARD_PORTS) &&
- !IsGoogleSearchSubdomainUrl(url)) {
- return false;
- }
-
- // Make sure the path is a known search path.
- base::StringPiece path(url.path_piece());
- bool is_home_page_base = IsPathHomePageBase(path);
- if (!is_home_page_base && (path != "/search"))
- return false;
-
- // Check for query parameter in URL parameter and hash fragment, depending on
- // the path type.
- return HasGoogleSearchQueryParam(url.ref_piece()) ||
- (!is_home_page_base && HasGoogleSearchQueryParam(url.query_piece()));
+ return false;
}
bool IsYoutubeDomainUrl(const GURL& url,
SubdomainPermission subdomain_permission,
PortPermission port_permission) {
- return IsValidURL(url, port_permission) &&
- IsValidHostName(url.host_piece(), "youtube", subdomain_permission,
- nullptr);
+ return false;
}
const std::vector<std::string>& GetGoogleRegistrableDomains() {
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
@@ -510,11 +510,6 @@ base::string16 TemplateURLRef::SearchTermToString16(
bool TemplateURLRef::HasGoogleBaseURLs(
const SearchTermsData& search_terms_data) const {
ParseIfNecessary(search_terms_data);
- for (size_t i = 0; i < replacements_.size(); ++i) {
- if ((replacements_[i].type == GOOGLE_BASE_URL) ||
- (replacements_[i].type == GOOGLE_BASE_SUGGEST_URL))
- return true;
- }
return false;
}
diff --git a/net/base/url_util.cc b/net/base/url_util.cc
--- a/net/base/url_util.cc
+++ b/net/base/url_util.cc
@@ -397,28 +397,6 @@ void GetIdentityFromURL(const GURL& url,
}
bool HasGoogleHost(const GURL& url) {
- static const char* kGoogleHostSuffixes[] = {
- ".google.com",
- ".youtube.com",
- ".gmail.com",
- ".doubleclick.net",
- ".gstatic.com",
- ".googlevideo.com",
- ".googleusercontent.com",
- ".googlesyndication.com",
- ".google-analytics.com",
- ".googleadservices.com",
- ".googleapis.com",
- ".ytimg.com",
- };
- base::StringPiece host = url.host_piece();
- for (const char* suffix : kGoogleHostSuffixes) {
- // Here it's possible to get away with faster case-sensitive comparisons
- // because the list above is all lowercase, and a GURL's host name will
- // always be canonicalized to lowercase as well.
- if (base::EndsWith(host, suffix, base::CompareCase::SENSITIVE))
- return true;
- }
return false;
}
@@ -1,33 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:37:10 2018 +0100
ungoogled-chromium: Disable GCM
Disable Google Cloud Messaging (GCM) client
diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gcm_client_impl.cc
--- a/components/gcm_driver/gcm_client_impl.cc
+++ b/components/gcm_driver/gcm_client_impl.cc
@@ -502,6 +502,7 @@ void GCMClientImpl::StartGCM() {
}
void GCMClientImpl::InitializeMCSClient() {
+ return;
std::vector<GURL> endpoints;
endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
@@ -699,6 +700,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
}
void GCMClientImpl::StartCheckin() {
+ return;
// Make sure no checkin is in progress.
if (checkin_request_.get())
return;
@@ -777,6 +779,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
}
void GCMClientImpl::SchedulePeriodicCheckin() {
+ return;
// Make sure no checkin is in progress.
if (checkin_request_.get() || !device_checkin_info_.accounts_set)
return;
@@ -1,121 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:37:52 2018 +0100
ungoogled-chromium: Disable Gaia
Disables Gaia code
Somehow it is still activated even without being signed-in: https://github.com/Eloston/ungoogled-chromium/issues/104
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -301,7 +301,6 @@
<include name="IDR_INLINE_LOGIN_HTML" file="resources\inline_login\inline_login.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
<include name="IDR_INLINE_LOGIN_CSS" file="resources\inline_login\inline_login.css" flattenhtml="true" type="BINDATA" />
<include name="IDR_INLINE_LOGIN_JS" file="resources\inline_login\inline_login.js" flattenhtml="true" type="BINDATA" />
- <include name="IDR_GAIA_AUTH_AUTHENTICATOR_JS" file="resources\gaia_auth_host\authenticator.js" flattenhtml="true" type="BINDATA" />
<include name="IDR_INSPECT_CSS" file="resources\inspect\inspect.css" flattenhtml="true" type="BINDATA" />
<include name="IDR_INSPECT_HTML" file="resources\inspect\inspect.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
<include name="IDR_INSPECT_JS" file="resources\inspect\inspect.js" flattenhtml="true" type="BINDATA" />
@@ -437,7 +436,6 @@
</if>
<include name="IDR_WEBSTORE_MANIFEST" file="resources\webstore_app\manifest.json" type="BINDATA" />
<include name="IDR_CRYPTOTOKEN_MANIFEST" file="resources\cryptotoken\manifest.json" type="BINDATA" />
- <include name="IDR_GAIA_AUTH_MANIFEST" file="resources\gaia_auth\manifest.json" type="BINDATA" />
<if expr="chromeos">
<if expr="optimize_webui">
<then>
diff --git a/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc b/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
--- a/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
+++ b/chrome/browser/extensions/component_extensions_whitelist/whitelist.cc
@@ -68,7 +68,6 @@ bool IsComponentExtensionWhitelisted(int manifest_resource_id) {
#endif
case IDR_CRYPTOTOKEN_MANIFEST:
case IDR_FEEDBACK_MANIFEST:
- case IDR_GAIA_AUTH_MANIFEST:
#if BUILDFLAG(ENABLE_HANGOUT_SERVICES_EXTENSION)
case IDR_HANGOUT_SERVICES_MANIFEST:
#endif
diff --git a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc b/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
--- a/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
+++ b/chrome/browser/extensions/signin/gaia_auth_extension_loader.cc
@@ -42,18 +42,11 @@ extensions::ComponentLoader* GetComponentLoader(BrowserContext* context) {
void LoadGaiaAuthExtension(BrowserContext* context) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- extensions::ComponentLoader* component_loader = GetComponentLoader(context);
const base::CommandLine* command_line =
base::CommandLine::ForCurrentProcess();
if (command_line->HasSwitch(switches::kAuthExtensionPath)) {
- base::FilePath auth_extension_path =
- command_line->GetSwitchValuePath(switches::kAuthExtensionPath);
- component_loader->Add(IDR_GAIA_AUTH_MANIFEST, auth_extension_path);
return;
}
-
- component_loader->Add(IDR_GAIA_AUTH_MANIFEST,
- base::FilePath(FILE_PATH_LITERAL("gaia_auth")));
}
void UnloadGaiaAuthExtension(BrowserContext* context) {
diff --git a/chrome/browser/resources/component_extension_resources.grd b/chrome/browser/resources/component_extension_resources.grd
--- a/chrome/browser/resources/component_extension_resources.grd
+++ b/chrome/browser/resources/component_extension_resources.grd
@@ -40,8 +40,6 @@
<include name="IDR_BOOKMARK_MANAGER_BOOKMARK_BMM_JS" file="bookmark_manager/js/bmm.js" type="BINDATA" />
<!-- Material Design Bookmarks -->
<include name="IDR_COMPONENT_MD_BOOKMARKS_BOOKMARKS_HTML" file="md_bookmarks/bookmarks.html" type="BINDATA" />
- <!-- Gaia auth extension -->
- <include name="IDR_GAIA_AUTH_SUCCESS" file="gaia_auth/success.html" allowexternalscript="true" type="BINDATA" />
<!-- Hangout Services extension, included in Google Chrome builds only. -->
<if expr="_google_chrome or enable_hangout_services_extension">
<include name="IDR_HANGOUT_SERVICES_BACKGROUND_HTML" file="hangout_services/background.html" type="BINDATA" />
diff --git a/chrome/browser/ui/webui/signin/inline_login_ui.cc b/chrome/browser/ui/webui/signin/inline_login_ui.cc
--- a/chrome/browser/ui/webui/signin/inline_login_ui.cc
+++ b/chrome/browser/ui/webui/signin/inline_login_ui.cc
@@ -44,7 +44,6 @@ content::WebUIDataSource* CreateWebUIDataSource() {
source->AddResourcePath("inline_login.css", IDR_INLINE_LOGIN_CSS);
source->AddResourcePath("inline_login.js", IDR_INLINE_LOGIN_JS);
- source->AddResourcePath("gaia_auth_host.js", IDR_GAIA_AUTH_AUTHENTICATOR_JS);
source->AddLocalizedString("title", IDS_CHROME_SIGNIN_TITLE);
source->AddLocalizedString(
diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_fetcher.cc
--- a/google_apis/gaia/gaia_auth_fetcher.cc
+++ b/google_apis/gaia/gaia_auth_fetcher.cc
@@ -219,35 +219,6 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
int load_flags,
const net::NetworkTrafficAnnotationTag& traffic_annotation) {
DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
- fetcher_ = net::URLFetcher::Create(
- 0, gaia_gurl, body.empty() ? net::URLFetcher::GET : net::URLFetcher::POST,
- this, traffic_annotation);
- fetcher_->SetRequestContext(getter_);
- fetcher_->SetUploadData("application/x-www-form-urlencoded", body);
- gaia::MarkURLFetcherAsGaia(fetcher_.get());
-
- VLOG(2) << "Gaia fetcher URL: " << gaia_gurl.spec();
- VLOG(2) << "Gaia fetcher headers: " << headers;
- VLOG(2) << "Gaia fetcher body: " << body;
-
- // The Gaia token exchange requests do not require any cookie-based
- // identification as part of requests. We suppress sending any cookies to
- // maintain a separation between the user's browsing and Chrome's internal
- // services. Where such mixing is desired (MergeSession or OAuthLogin), it
- // will be done explicitly.
- fetcher_->SetLoadFlags(load_flags);
-
- // Fetchers are sometimes cancelled because a network change was detected,
- // especially at startup and after sign-in on ChromeOS. Retrying once should
- // be enough in those cases; let the fetcher retry up to 3 times just in case.
- // http://crbug.com/163710
- fetcher_->SetAutomaticallyRetryOnNetworkChanges(3);
-
- if (!headers.empty())
- fetcher_->SetExtraRequestHeaders(headers);
-
- fetch_pending_ = true;
- fetcher_->Start();
}
// static
@@ -1,166 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon Feb 12 21:45:21 2018 +0100
ungoogled-chromium: Clear HTTP cache menu item
Adds a menu item under "More tools" to clear the HTTP authentication cache on demand
diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h
--- a/chrome/app/chrome_command_ids.h
+++ b/chrome/app/chrome_command_ids.h
@@ -148,6 +148,7 @@
#define IDC_DEV_TOOLS_INSPECT 40023
#define IDC_UPGRADE_DIALOG 40024
#define IDC_VIEW_INCOMPATIBILITIES 40025
+#define IDC_CLEAR_HTTP_AUTH_CACHE 40026
#define IDC_SHOW_KEYBOARD_OVERLAY 40027
#define IDC_PROFILING_ENABLED 40028
#define IDC_BOOKMARKS_MENU 40029
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -1067,6 +1067,9 @@ are declared in build/common.gypi.
<message name="IDS_CLEAR_BROWSING_DATA" desc="The text label for the menu item for clearing of browsing data">
&amp;Clear browsing data...
</message>
+ <message name="IDS_CLEAR_HTTP_AUTH_CACHE" desc="The text label for the menu item for clearing the HTTP authentication cache">
+ Clear &amp;HTTP auth cache
+ </message>
<message name="IDS_SHOW_DOWNLOADS" desc="The show downloads menu in the app menu">
&amp;Downloads
</message>
@@ -1105,6 +1108,9 @@ are declared in build/common.gypi.
<message name="IDS_CLEAR_BROWSING_DATA" desc="In Title Case: The text label for the menu item for clearing of browsing data">
&amp;Clear Browsing Data...
</message>
+ <message name="IDS_CLEAR_HTTP_AUTH_CACHE" desc="In Title Case: The text label for the menu item for clearing the HTTP authentication cache">
+ Clear &amp;HTTP Auth Cache
+ </message>
<message name="IDS_SHOW_DOWNLOADS" desc="In Title Case: The show downloads menu in the app menu">
&amp;Downloads
</message>
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -58,6 +58,9 @@
#include "extensions/browser/extension_system.h"
#include "printing/features/features.h"
#include "ui/events/keycodes/keyboard_codes.h"
+#include "net/url_request/url_request_context.h"
+#include "net/url_request/url_request_context_getter.h"
+#include "net/http/http_transaction_factory.h"
#if defined(OS_MACOSX)
#include "chrome/browser/ui/browser_commands_mac.h"
@@ -625,6 +628,9 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
case IDC_CLEAR_BROWSING_DATA:
ShowClearBrowsingDataDialog(browser_);
break;
+ case IDC_CLEAR_HTTP_AUTH_CACHE:
+ profile()->GetRequestContext()->GetURLRequestContext()->http_transaction_factory()->GetSession()->http_auth_cache()->Clear();
+ break;
case IDC_IMPORT_SETTINGS:
ShowImportDialog(browser_);
break;
@@ -867,6 +873,7 @@ void BrowserCommandController::InitCommandState() {
!profile()->IsOffTheRecord());
command_updater_.UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA,
!guest_session);
+ command_updater_.UpdateCommandEnabled(IDC_CLEAR_HTTP_AUTH_CACHE, true);
#if defined(OS_CHROMEOS)
command_updater_.UpdateCommandEnabled(IDC_TAKE_SCREENSHOT, true);
#else
diff --git a/chrome/browser/ui/toolbar/app_menu_model.cc b/chrome/browser/ui/toolbar/app_menu_model.cc
--- a/chrome/browser/ui/toolbar/app_menu_model.cc
+++ b/chrome/browser/ui/toolbar/app_menu_model.cc
@@ -215,6 +215,7 @@ void ToolsMenuModel::Build(Browser* browser) {
AddSeparator(ui::NORMAL_SEPARATOR);
AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA);
+ AddItemWithStringId(IDC_CLEAR_HTTP_AUTH_CACHE, IDS_CLEAR_HTTP_AUTH_CACHE);
AddItemWithStringId(IDC_MANAGE_EXTENSIONS, IDS_SHOW_EXTENSIONS);
if (chrome::CanOpenTaskManager())
AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER);
@@ -475,6 +476,13 @@ void AppMenuModel::LogMenuMetrics(int command_id) {
}
LogMenuAction(MENU_ACTION_CLEAR_BROWSING_DATA);
break;
+ case IDC_CLEAR_HTTP_AUTH_CACHE:
+ if (!uma_action_recorded_) {
+ UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ClearHttpAuthCache",
+ delta);
+ }
+ LogMenuAction(MENU_ACTION_CLEAR_HTTP_AUTH_CACHE);
+ break;
case IDC_VIEW_SOURCE:
if (!uma_action_recorded_)
UMA_HISTOGRAM_MEDIUM_TIMES("WrenchMenu.TimeToAction.ViewSource", delta);
diff --git a/chrome/browser/ui/toolbar/app_menu_model.h b/chrome/browser/ui/toolbar/app_menu_model.h
--- a/chrome/browser/ui/toolbar/app_menu_model.h
+++ b/chrome/browser/ui/toolbar/app_menu_model.h
@@ -76,6 +76,7 @@ enum AppMenuAction {
MENU_ACTION_OPEN_IN_CHROME = 48,
MENU_ACTION_SITE_SETTINGS = 49,
MENU_ACTION_APP_INFO = 50,
+ MENU_ACTION_CLEAR_HTTP_AUTH_CACHE = 51,
LIMIT_MENU_ACTION
};
diff --git a/chrome/browser/ui/views/frame/global_menu_bar_x11.cc b/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
--- a/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
+++ b/chrome/browser/ui/views/frame/global_menu_bar_x11.cc
@@ -225,6 +225,7 @@ GlobalMenuBarCommand tools_menu[] = {
{IDS_TASK_MANAGER, IDC_TASK_MANAGER},
{IDS_CLEAR_BROWSING_DATA, IDC_CLEAR_BROWSING_DATA},
+ {IDS_CLEAR_HTTP_AUTH_CACHE, IDC_CLEAR_HTTP_AUTH_CACHE},
{MENU_SEPARATOR, MENU_SEPARATOR},
diff --git a/net/http/http_auth_cache.cc b/net/http/http_auth_cache.cc
--- a/net/http/http_auth_cache.cc
+++ b/net/http/http_auth_cache.cc
@@ -250,6 +250,10 @@ bool HttpAuthCache::Remove(const GURL& origin,
return false;
}
+void HttpAuthCache::Clear() {
+ entries_.clear();
+}
+
void HttpAuthCache::ClearEntriesAddedWithin(base::TimeDelta duration) {
base::TimeTicks begin_time = base::TimeTicks::Now() - duration;
base::EraseIf(entries_, [begin_time](const Entry& entry) {
diff --git a/net/http/http_auth_cache.h b/net/http/http_auth_cache.h
--- a/net/http/http_auth_cache.h
+++ b/net/http/http_auth_cache.h
@@ -166,6 +166,8 @@ class NET_EXPORT HttpAuthCache {
HttpAuth::Scheme scheme,
const AuthCredentials& credentials);
+ void Clear();
+
// Clears cache entries created within |duration| of base::TimeTicks::Now().
void ClearEntriesAddedWithin(base::TimeDelta duration);
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -46546,6 +46546,7 @@ Called by update_traffic_annotation_histograms.py.-->
<int value="48" label="Open in Chrome"/>
<int value="49" label="Site Settings"/>
<int value="50" label="App Info"/>
+ <int value="51" label="Clear HTTP auth cache"/>
</enum>
<enum name="XFrameOptions">
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -103687,6 +103687,7 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
<suffix name="Overestimate"
label="Tracks when the compositor's estimates were too high and by how
much."/>
+ <suffix name="ClearHttpAuthCache" label="Clear HTTP authentication cache"/>
<suffix name="Underestimate"
label="Tracks when the compositor's estimates were too low and by how
much."/>
File diff suppressed because one or more lines are too long
@@ -1,70 +0,0 @@
Author: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun Feb 18 22:15:25 2018 +0100
Play videos in background
Break Page Visibility API and Fullscreen API for youtube.com and vimeo.com
Original Javascript code by timdream
diff --git a/third_party/WebKit/Source/core/dom/BUILD.gn b/third_party/WebKit/Source/core/dom/BUILD.gn
--- a/third_party/WebKit/Source/core/dom/BUILD.gn
+++ b/third_party/WebKit/Source/core/dom/BUILD.gn
@@ -302,6 +302,7 @@ blink_core_sources("dom") {
"events/WindowEventContext.cpp",
"events/WindowEventContext.h",
"extensions/dont-track-me.h",
+ "extensions/video-bg-play.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
--- a/third_party/WebKit/Source/core/dom/Document.cpp
+++ b/third_party/WebKit/Source/core/dom/Document.cpp
@@ -222,6 +222,7 @@
#include "core/xml_names.h"
#include "core/xmlns_names.h"
#include "extensions/dont-track-me.h"
+#include "extensions/video-bg-play.h"
#include "platform/CrossThreadFunctional.h"
#include "platform/DateComponents.h"
#include "platform/EventDispatchForbiddenScope.h"
@@ -5794,17 +5795,25 @@ void Document::FinishedParsing() {
// determine whether this is a Google search results page
const SecurityOrigin *origin = GetSecurityOrigin();
- if (origin) {
+ auto* bodyElement = body();
+ if (origin && bodyElement) {
WTF::String domain = origin->Domain();
size_t pos = domain.Find(".google.");
- auto* bodyElement = body();
- if (bodyElement && (pos != WTF::kNotFound) && (domain.length() - pos - 8 < 4)) {
+ if ((pos != WTF::kNotFound) && (domain.length() - pos - 8 < 4)) {
LOG(INFO) << "injecting dont-track-me Javascript payload";
HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
e->setText(DONT_TRACK_ME_JS);
bodyElement->AppendChild(e);
}
- }
+
+ // check for eligibility of the video bg fix
+ if ((WTF::kNotFound != domain.Find("youtube.com")) || (WTF::kNotFound != domain.Find("vimeo.com"))) {
+ LOG(INFO) << "injecting video-bg-play Javascript payload";
+ HTMLScriptElement* e = HTMLScriptElement::Create(*this, CreateElementFlags());
+ e->setText(VIDEO_BG_PLAY_JS);
+ bodyElement->AppendChild(e);
+ }
+ } // has origin and body element
}
void Document::ElementDataCacheClearTimerFired(TimerBase*) {
diff --git a/third_party/WebKit/Source/core/dom/extensions/video-bg-play.h b/third_party/WebKit/Source/core/dom/extensions/video-bg-play.h
new file mode 100644
--- /dev/null
+++ b/third_party/WebKit/Source/core/dom/extensions/video-bg-play.h
@@ -0,0 +1,6 @@
+#ifndef video_bg_play_h
+#define video_bg_play_h
+
+#define VIDEO_BG_PLAY_JS "'use strict';\n\n/* video background play fix - original version by timdream */\ndocument.videoBGFix = {};\n\n// Page Visibility API\nObject.defineProperties(document.videoBGFix,\n { 'hidden': {value: false}, 'visibilityState': {value: 'visible'} });\n\nwindow.addEventListener(\n 'visibilitychange', evt => evt.stopImmediatePropagation(), true);\nwindow.addEventListener(\n 'blur', evt => evt.stopImmediatePropagation(), true);\n\n// Fullscreen API\nwindow.addEventListener('fullscreenchange', evt => {\n Object.defineProperties(document.videoBGFix,\n { 'fullscreenEnabled': {value: true},\n 'fullscreen': {value: true},\n 'fullscreenElement': {value: document.fullscreenElement.videoBGFix}});\n window.addEventListener(\n 'fullscreenchange', evt => evt.stopImmediatePropagation(), true);\n}, { capture: true, once: true });\n"
+
+#endif // video_bg_play_h