Compare commits

...
Author SHA1 Message Date
csagan5 79eae0ab09 Release 71.0.3578.120 2019-01-06 13:53:33 +01:00
csagan5 532c9c5c8b Update safe browsing patch for Android to fix issues found by nikolowry 2019-01-04 16:49:17 +01:00
Nikoandcsagan5 f5278822bb Update Remove-Sync-and-Translate-menu.patch to a git binary diff
Restore index meta to updated Remove-Sync-and-Translate-menu.patch
2019-01-04 11:14:33 +01:00
csagan5 a8d215db86 Patches cleanup for safe_browsing 2019-01-02 19:02:12 +01:00
csagan5 2e921bffd8 Mention AdGuard servers 2019-01-02 11:46:49 +01:00
csagan5 fb225cf638 Release 71.0.3578.115 2019-01-01 13:30:36 +01:00
csagan5 9c88a30ac3 Add link to wiki for SystemWebView instructions 2018-12-29 18:31:26 +01:00
csagan5 0c9047e26d Release 71.0.3578.110 2018-12-28 00:00:44 +01:00
csagan5 0d37a542ff Correct safe_browsing flag 2018-12-21 11:02:47 +01:00
csagan5 34b616ba9f Release 71.0.3578.104 2018-12-21 11:01:16 +01:00
csagan5 2e6d2a5c75 Mention GN_ARGS in README 2018-12-21 10:31:38 +01:00
csagan5 f963a09239 Release 71.0.3578.101 2018-12-18 23:53:07 +01:00
csagan5 fcbca7eb8c Release 71.0.3578.98 2018-12-16 07:30:03 +01:00
csagan5 65c50e3ec9 Release 71.0.3578.88 2018-12-13 07:22:42 +01:00
csagan5 6cf627f9d4 Release 71.0.3578.85 2018-12-06 11:31:38 +01:00
csagan5 0f2a48662d Release 71.0.3578.76 2018-12-04 08:46:51 +01:00
csagan5 ac44ac738f Release 71.0.3578.72 2018-11-27 09:42:36 +01:00
csagan5 02fad5a01f Updated CHANGELOG for release 70.0.3538.107 2018-11-17 09:38:39 +01:00
csagan5 b1c0e45b66 Release 70.0.3538.107 2018-11-16 21:18:39 +01:00
CarlandGitHub 1397b5e86a Update wording 2018-11-13 08:44:30 +01:00
csagan5 171c2f224a Mention removed contacts permission 2018-11-11 16:47:19 +01:00
csagan5 628ddf9b60 Release 70.0.3538.102 2018-11-11 16:44:36 +01:00
csagan5 8c3fcd08de Add F.A.Q. about de-googling 2018-11-09 22:10:36 +01:00
csagan5 375ac9bf8b Release 70.0.3538.95 2018-11-06 08:33:58 +01:00
119 changed files with 8590 additions and 2526 deletions
+2 -2
View File
@@ -5,7 +5,7 @@ about: Suggest a privacy-related idea for this project
---
**Is your feature request related to privacy?**
Only privacy-related feature requests are considered.
Features that are not related to privacy are unlikely to be considered.
**Is there a patch available for this feature somewhere?**
...
@@ -14,4 +14,4 @@ Only privacy-related feature requests are considered.
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
A clear and concise description of any alternative solutions or features you have considered.
+41
View File
@@ -1,3 +1,44 @@
# 71.0.3578.120
* fix breakage of translate quick answers by anti-AMP (fixes https://github.com/bromite/bromite/issues/210)
# 71.0.3578.115
* add AdGuard DNS-over-HTTPS option
* use green icon for SystemWebView
# 71.0.3578.110
# 71.0.3578.104
* fix AMP links sanitisation; have it working for news as well (fixes https://github.com/bromite/bromite/issues/202)
* revert upstream patch responsible for the broken save dialog prompt (upstream: https://bugs.chromium.org/p/chromium/issues/detail?id=916606)
# 71.0.3578.101
# 71.0.3578.98
* do not ask permissions for camera when importing bookmarks (fixes https://github.com/bromite/bromite/issues/200)
# 71.0.3578.88
* add proxy configuration page (see https://github.com/bromite/bromite/wiki/ProxyConfiguration)
* use more recent versions in User-Agent (fixes https://github.com/bromite/bromite/issues/156)
# 71.0.3578.85
* fix blurry adaptive icon (fixes https://github.com/bromite/bromite/issues/197)
# 71.0.3578.76
# 71.0.3578.72
* add flag to disable IPv6 probes
# 70.0.3538.107
* added adaptive icon (fixes https://github.com/bromite/bromite/issues/181)
* do not change randomisation at each call (fixes https://github.com/bromite/bromite/issues/177)
* do not enable #enable-scroll-anchor-serialization by default
# 70.0.3538.102
* do not grant notifications to default search engine
* remove all promos from bookmark manager page
* re-introduced various patches to eradicate binary blob dependencies (only Cast left)
* remove contacts picker permission
# 70.0.3538.95
* fix crash on bookmark edit activity (fixes https://github.com/bromite/bromite/issues/172)
* fix slow chrome://flags (fixes https://github.com/bromite/bromite/issues/173)
+13 -2
View File
@@ -38,9 +38,16 @@ Additionally, these features would not be privacy-friendly.
## Does Bromite require root?
No.
## Is Bromite de-googled?
Yes, although this has not been verified (and hardly can be) under all situations; if you were to find connections to cloud-based services please report them via the issue tracker.
Projects which follow a strict approach on this are [Iridium](https://iridiumbrowser.de/) and [Inox patchset](https://github.com/gcarq/inox-patchset).
## 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.
See also [the wiki page](https://github.com/bromite/bromite/wiki/Installing-SystemWebView) for community-contributed installation instructions.
## How to enable DNS-over-HTTPS?
See [this wiki page](https://github.com/bromite/bromite/wiki/Enabling-DNS-over-HTTPS).
@@ -70,7 +77,8 @@ Yes, since version 69. While the desktop version of Chromium has an option to di
* baked-in adblock engine with filters from EasyList, EasyPrivacy and others
* remove click-tracking and AMP from search results
* DNS-over-HTTPS support via Google, Cloudflare and Quad9 servers
* DNS-over-HTTPS support via Google, Cloudflare, Quad9 and AdGuard servers
* [proxy configuration page](https://github.com/bromite/bromite/wiki/ProxyConfiguration) with PAC and custom proxy lists support
* [StartPage](https://startpage.com/), [DuckDuckGo](https://duckduckgo.com/) and [Qwant](https://www.qwant.com/) search engines
* chrome flags to disable custom intents and clear session on exit
* always-incognito mode
@@ -85,7 +93,7 @@ Yes, since version 69. While the desktop version of Chromium has an option to di
* 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
You can inspect all functionality/privacy changes by reading the patches: https://github.com/bromite/bromite/tree/master/build/patches
# Releases
@@ -128,6 +136,9 @@ The [Bromite main repository](https://github.com/bromite/bromite) contains tags
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.
The GN args used to build Bromite are available here: [GN_ARGS](./GN_ARGS).
The patches are to be applied second the order specified in the `patches_list.txt` file (you can use `git am`); the big file `adblock_entries.h` (containing all the AdBlock filters) needs to be copied under `src/net/url_request/`.
# Credits
* [Chromium project](https://www.chromium.org/Home) and developers
+30
View File
@@ -0,0 +1,30 @@
android_channel="stable"
blink_symbol_level=1
dcheck_always_on=false
debuggable_apks=false
enable_ac3_eac3_audio_demuxing=true enable_hevc_demuxing=true enable_iterator_debugging=false
enable_hangout_services_extension=false
enable_mdns=false
enable_mse_mpeg2ts_stream_parser=true ffmpeg_branding="Chrome" proprietary_codecs=true
enable_nacl=false
enable_nacl_nonsfi=false
enable_remoting=false
enable_reporting=false
enable_resource_whitelist_generation=false
enable_vr=false
fieldtrial_testing_like_official_build=true
is_component_build=false
is_debug=false
is_official_build=true
jumbo_file_merge_limit=60
safe_browsing_mode=0
strip_absolute_paths_from_debug_symbols=true
strip_debug_info=false
symbol_level=1
target_os="android"
use_debug_fission=true
use_errorprone_java_compiler=false
use_jumbo_build=true
use_official_google_api_keys=false
use_openh264=true chrome_pgo_phase=0 full_wpo_on_official=true
use_sysroot=false
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 11 Dec 2017 22:42:11 +0100
Subject: Add Google English-only engine
Subject: Add English-only search engine
Add a Google search engine that forces languages to English,
disable from all its searches RLZ and field experiments querystring parameters.
@@ -5,39 +5,41 @@ Subject: Add a flag for DNS-over-HTTPS
Allow selection between Google and Cloudflare endpoints.
Serve DoH requests with maximum priority, remove traffic annotation.
Reduce HTTP headers in DoH requests to bare minimum.
Add AdGuard (default) endpoint
See also: https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-12.txt
See also: https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-14.txt
---
chrome/browser/about_flags.cc | 13 ++++++++++
chrome/browser/about_flags.cc | 14 +++++++++++
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 3 +++
.../browser/net/system_network_context_manager.cc | 16 ++++++-------
.../common/network_features.cc | 6 +++--
.../common/network_features.h | 4 +++-
.../common/network_features.cc | 7 ++++--
.../common/network_features.h | 5 +++-
.../common/network_switch_list.h | 4 ++++
net/base/load_flags_list.h | 6 +++++
net/dns/dns_transaction.cc | 28 +++-------------------
net/url_request/url_request_http_job.cc | 26 ++++++++++++--------
10 files changed, 62 insertions(+), 47 deletions(-)
10 files changed, 65 insertions(+), 47 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -417,6 +417,13 @@ const FeatureEntry::Choice kChromeHomeSwipeLogicChoices[] = {
switches::kChromeHomeSwipeLogicType, "velocity"},
@@ -461,6 +461,14 @@ const FeatureEntry::FeatureVariation kCCTModuleCacheVariations[] = {
base::size(kCCTModuleCache_ThirtyMinutes), nullptr},
};
+const FeatureEntry::Choice kDnsOverHttpsChoices[] = {
+ {features::kDnsOverHttpsChoiceDefault, "", ""},
+ {features::kDnsOverHttpsChoiceGoogle, switches::kDnsOverHttpsServer, "https://dns.google.com/experimental"},
+ {features::kDnsOverHttpsChoiceCloudflare, switches::kDnsOverHttpsServer, "https://1.1.1.1/dns-query"},
+ {features::kDnsOverHttpsChoiceQuad9, switches::kDnsOverHttpsServer, "https://9.9.9.9/dns-query"}
+ {features::kDnsOverHttpsChoiceQuad9, switches::kDnsOverHttpsServer, "https://9.9.9.9/dns-query"},
+ {features::kDnsOverHttpsChoiceAdGuard, switches::kDnsOverHttpsServer, "https://dns.adguard.com/dns-query"}
+};
+
#endif // OS_ANDROID
const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
@@ -3730,6 +3737,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3659,6 +3667,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kAsyncDns)},
#endif // defined(OS_ANDROID)
@@ -53,9 +55,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2252,6 +2252,9 @@ const char kAndroidPaymentAppsDescription[] =
const char kAsyncDnsName[] = "Async DNS resolver";
const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver.";
@@ -2209,6 +2209,9 @@ const char kAutoFetchOnNetErrorPageDescription[] =
"When enabled, and navigation fails with an offline error, schedule a "
"fetch of the page when online again.";
+const char kDnsOverHttpsName[] = "DNS over HTTPS";
+const char kDnsOverHttpsDescription[] = "Enables DNS-over-HTTPS (experimental).";
@@ -66,9 +68,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1356,6 +1356,9 @@ extern const char kAppNotificationStatusMessagingDescription[];
extern const char kAsyncDnsName[];
extern const char kAsyncDnsDescription[];
@@ -1343,6 +1343,9 @@ extern const char kAsyncDnsDescription[];
extern const char kAutoFetchOnNetErrorPageName[];
extern const char kAutoFetchOnNetErrorPageDescription[];
+extern const char kDnsOverHttpsName[];
+extern const char kDnsOverHttpsDescription[];
@@ -79,16 +81,16 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -23,6 +23,7 @@
#include "chrome/browser/component_updater/crl_set_component_installer.h"
@@ -22,6 +22,7 @@
#include "chrome/browser/component_updater/sth_set_component_installer.h"
#include "chrome/browser/io_thread.h"
#include "chrome/browser/net/chrome_mojo_proxy_resolver_factory.h"
+#include "components/network_session_configurator/common/network_switches.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/ssl/ssl_config_service_manager.h"
#include "chrome/common/channel_info.h"
@@ -355,15 +356,12 @@ SystemNetworkContextManager::SystemNetworkContextManager()
base::Value(ShouldEnableAsyncDns()));
@@ -389,15 +390,12 @@ SystemNetworkContextManager::SystemNetworkContextManager(
base::Value(ShouldEnableAsyncDns()));
base::ListValue default_doh_servers;
base::ListValue default_doh_server_methods;
- if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
@@ -107,27 +109,28 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
+ default_doh_servers.AppendString(server);
+ default_doh_server_methods.AppendString("POST");
}
local_state->SetDefaultPrefValue(prefs::kDnsOverHttpsServers,
std::move(default_doh_servers));
local_state_->SetDefaultPrefValue(prefs::kDnsOverHttpsServers,
std::move(default_doh_servers));
diff --git a/components/network_session_configurator/common/network_features.cc b/components/network_session_configurator/common/network_features.cc
--- a/components/network_session_configurator/common/network_features.cc
+++ b/components/network_session_configurator/common/network_features.cc
@@ -11,7 +11,9 @@ namespace features {
// TODO(nharper): Disable kChannelID on all platforms in M69.
const base::Feature kChannelID{"channel-id", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -10,7 +10,10 @@ namespace features {
const base::Feature kChannelID{"channel-id", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kDnsOverHttps{"dns-over-https",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const char kDnsOverHttpsChoiceDefault[] = "Disabled",
+ kDnsOverHttpsChoiceGoogle[] = "Google",
+ kDnsOverHttpsChoiceCloudflare[] = "Cloudflare",
+ kDnsOverHttpsChoiceQuad9[] = "Quad9";
+ kDnsOverHttpsChoiceQuad9[] = "Quad9",
+ kDnsOverHttpsChoiceAdGuard[] = "AdGuard";
} // namespace features
diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h
--- a/components/network_session_configurator/common/network_features.h
+++ b/components/network_session_configurator/common/network_features.h
@@ -13,9 +13,11 @@ namespace features {
@@ -13,9 +13,12 @@ namespace features {
// Enables Channel ID.
NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kChannelID;
@@ -136,7 +139,8 @@ diff --git a/components/network_session_configurator/common/network_features.h b
// (https://tools.ietf.org/id/draft-ietf-doh-dns-over-https-12.txt).
NETWORK_SESSION_CONFIGURATOR_EXPORT extern const base::Feature kDnsOverHttps;
+NETWORK_SESSION_CONFIGURATOR_EXPORT extern const char kDnsOverHttpsChoiceDefault[],
+ kDnsOverHttpsChoiceGoogle[], kDnsOverHttpsChoiceCloudflare[], kDnsOverHttpsChoiceQuad9[];
+ kDnsOverHttpsChoiceGoogle[], kDnsOverHttpsChoiceCloudflare[], kDnsOverHttpsChoiceQuad9[],
+ kDnsOverHttpsChoiceAdGuard[];
} // namespace features
@@ -173,7 +177,7 @@ diff --git a/net/base/load_flags_list.h b/net/base/load_flags_list.h
diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
--- a/net/dns/dns_transaction.cc
+++ b/net/dns/dns_transaction.cc
@@ -357,30 +357,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
@@ -358,30 +358,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
HttpRequestHeaders extra_request_headers;
extra_request_headers.SetHeader("Accept", kDnsOverHttpResponseContentType);
@@ -205,7 +209,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
net_log_ = request_->net_log();
if (use_post) {
@@ -396,6 +373,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
@@ -397,6 +374,7 @@ class DnsHTTPAttempt : public DnsAttempt, public URLRequest::Delegate {
request_->SetExtraRequestHeaders(extra_request_headers);
request_->SetLoadFlags(request_->load_flags() | LOAD_DISABLE_CACHE |
@@ -213,7 +217,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
LOAD_BYPASS_PROXY);
request_->set_allow_credentials(false);
}
@@ -818,7 +796,7 @@ class DnsTransactionImpl : public DnsTransaction,
@@ -819,7 +797,7 @@ class DnsTransactionImpl : public DnsTransaction,
had_tcp_attempt_(false),
doh_attempt_(false),
first_server_index_(0),
@@ -225,7 +229,7 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -434,21 +434,25 @@ void URLRequestHttpJob::Start() {
@@ -434,19 +434,23 @@ void URLRequestHttpJob::Start() {
// plugin could set a referrer although sending the referrer is inhibited.
request_info_.extra_headers.RemoveHeader(HttpRequestHeaders::kReferer);
@@ -242,8 +246,6 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
+ }
}
request_info_.token_binding_referrer = request_->token_binding_referrer();
// This should be kept in sync with the corresponding code in
// URLRequest::GetUserAgent.
- request_info_.extra_headers.SetHeaderIfMissing(
@@ -256,7 +258,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
AddExtraHeaders();
AddCookieHeaderAndStart();
@@ -666,10 +670,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -664,10 +668,12 @@ void URLRequestHttpJob::AddExtraHeaders() {
HttpRequestHeaders::kAcceptEncoding)) {
// Advertise "br" encoding only if transferred data is opaque to proxy.
bool advertise_brotli = false;
@@ -273,7 +275,7 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
}
}
@@ -686,7 +692,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
@@ -684,7 +690,7 @@ void URLRequestHttpJob::AddExtraHeaders() {
advertised_encodings);
}
File diff suppressed because it is too large Load Diff
@@ -19,18 +19,18 @@ clicked links to launch as incognito.
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -23,6 +23,11 @@
android:summary="@string/close_tabs_on_exit_summary"
android:defaultValue="false" />
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
@@ -35,6 +35,11 @@
android:key="usage_and_crash_reports"
android:title="@string/usage_and_crash_reports_title_legacy"
android:fragment="org.chromium.chrome.browser.preferences.privacy.UsageAndCrashReportsPreferenceFragment" />
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
+ android:key="always_incognito"
+ android:title="@string/always_incognito_title"
+ android:summary="@string/always_incognito_summary"
+ android:defaultValue="false" />
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
android:key="safe_browsing_extended_reporting"
android:title="@string/safe_browsing_extended_reporting_title"
android:summary="@string/safe_browsing_extended_reporting_summary" />
<Preference
android:fragment="org.chromium.chrome.browser.preferences.privacy.DoNotTrackPreference"
android:key="do_not_track"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java b/chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
new file mode 100644
--- /dev/null
@@ -111,7 +111,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -238,6 +238,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -249,6 +249,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
// Observes when sync becomes ready to create the mContextReporter.
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
private ChromeFullscreenManager mFullscreenManager;
@@ -1627,6 +1628,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -1707,6 +1708,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -217,10 +217,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabDelegateFactory;
+import org.chromium.chrome.browser.tab.TabObserver;
import org.chromium.chrome.browser.tab.TabRedirectHandler;
import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
import org.chromium.chrome.browser.tabmodel.TabModel.TabSelectionType;
import org.chromium.chrome.browser.util.IntentUtils;
@@ -36,6 +39,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -37,6 +40,7 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
private final ChromeActivity mActivity;
private final boolean mIncognito;
@@ -228,7 +228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
private WindowAndroid mNativeWindow;
private TabModel mTabModel;
@@ -47,6 +51,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -48,6 +52,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
mActivity = activity;
mNativeWindow = nativeWindow;
mIncognito = incognito;
@@ -240,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
}
@Override
@@ -159,6 +168,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -160,6 +169,10 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
tab.getWebContents());
}
@@ -251,7 +251,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
mTabModel.addTab(tab, position, type);
return tab;
} finally {
@@ -199,6 +212,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -200,6 +213,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
Tab tab = Tab.createLiveTab(
Tab.INVALID_TAB_ID, mIncognito, mNativeWindow, type, parentId, !openInForeground);
tab.initialize(webContents, mTabContentManager, delegateFactory, !openInForeground, false);
@@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
mTabModel.addTab(tab, position, type);
return true;
}
@@ -242,7 +260,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -243,7 +261,6 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
*/
public Tab launchUrlFromExternalApp(String url, String referer, String headers,
String appId, boolean forceNewTab, Intent intent, long intentTimestamp) {
@@ -271,7 +271,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
boolean isLaunchedFromChrome = TextUtils.equals(appId, mActivity.getPackageName());
// If an external app sends an intent for a Weblite URL and the Data Reduction Proxy is
@@ -302,6 +319,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
@@ -303,6 +320,11 @@ public class ChromeTabCreator extends TabCreatorManager.TabCreator {
tab.initialize(
null, mTabContentManager, createDefaultTabDelegateFactory(), !selectTab, false);
assert state.isIncognito() == mIncognito;
@@ -308,8 +308,8 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
chrome_java_sources = [
+ "java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java",
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabTaskDescriptionHelper.java",
"java/src/org/chromium/chrome/browser/ActivityTaskDescriptionIconGenerator.java",
--
2.11.0
@@ -7,7 +7,7 @@ Thanks to Arnaud for the snippet on how to add toast notifications
.../java/res/menu/bookmark_action_bar_menu.xml | 14 ++
.../browser/bookmarks/BookmarkActionBar.java | 12 ++
.../chrome/browser/bookmarks/BookmarkActivity.java | 19 ++
.../chrome/browser/bookmarks/BookmarkBridge.java | 55 ++++++
.../chrome/browser/bookmarks/BookmarkBridge.java | 56 ++++++
.../chrome/browser/bookmarks/BookmarkDelegate.java | 10 +
.../chrome/browser/bookmarks/BookmarkManager.java | 20 ++
.../chrome/browser/bookmarks/BookmarkPage.java | 1 +
@@ -20,7 +20,7 @@ Thanks to Arnaud for the snippet on how to add toast notifications
chrome/utility/BUILD.gn | 7 +-
chrome/utility/importer/bookmark_html_reader.cc | 27 ++-
chrome/utility/importer/bookmark_html_reader.h | 9 +
16 files changed, 418 insertions(+), 10 deletions(-)
16 files changed, 419 insertions(+), 10 deletions(-)
diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
--- a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
@@ -196,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
* @param maxNumberOfResult Maximum number of result to fetch.
@@ -840,6 +867,32 @@ public class BookmarkBridge {
@@ -840,6 +867,33 @@ public class BookmarkBridge {
depthList.add(depth);
}
@@ -205,7 +205,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ public void bookmarksImported() {
+ Context context = ContextUtils.getApplicationContext();
+
+ Toast.makeText(ContextUtils.getApplicationContext(), "Bookmarks imported", Toast.LENGTH_LONG).show();
+ //TODO: call this after actual import
+ //Toast.makeText(ContextUtils.getApplicationContext(), "Bookmarks imported", Toast.LENGTH_LONG).show();
+ }
+
+ @CalledByNative
@@ -229,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) {
@@ -906,6 +959,8 @@ public class BookmarkBridge {
@@ -906,6 +960,8 @@ public class BookmarkBridge {
boolean getFolders, boolean getBookmarks, List<BookmarkId> bookmarksList);
private native BookmarkId nativeGetChildAt(long nativeBookmarkBridge, long id, int type,
int index);
@@ -330,7 +331,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -218,6 +218,12 @@ CHAR-LIMIT guidelines:
@@ -224,6 +224,12 @@ CHAR-LIMIT guidelines:
<message name="IDS_SEARCH" desc="The label for a search button.">
Search
</message>
@@ -346,7 +347,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -140,6 +140,10 @@ jumbo_split_static_library("browser") {
@@ -149,6 +149,10 @@ jumbo_split_static_library("browser") {
"bitmap_fetcher/bitmap_fetcher_service.h",
"bitmap_fetcher/bitmap_fetcher_service_factory.cc",
"bitmap_fetcher/bitmap_fetcher_service_factory.h",
@@ -357,7 +358,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
"bookmarks/bookmark_stats.cc",
@@ -2537,8 +2541,6 @@ jumbo_split_static_library("browser") {
@@ -2588,8 +2592,6 @@ jumbo_split_static_library("browser") {
"banners/app_banner_infobar_delegate_desktop.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@@ -366,7 +367,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"certificate_viewer.h",
"chrome_browser_field_trials_desktop.cc",
"chrome_browser_field_trials_desktop.h",
@@ -2627,8 +2629,6 @@ jumbo_split_static_library("browser") {
@@ -2678,8 +2680,6 @@ jumbo_split_static_library("browser") {
"importer/importer_uma.h",
"importer/in_process_importer_bridge.cc",
"importer/in_process_importer_bridge.h",
@@ -712,7 +713,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
--- a/chrome/browser/importer/profile_writer.cc
+++ b/chrome/browser/importer/profile_writer.cc
@@ -109,12 +109,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
@@ -97,12 +97,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
HistoryServiceFactory::GetForProfile(profile_,
ServiceAccessType::EXPLICIT_ACCESS)
->AddPagesWithDetails(page, visit_source);
@@ -720,8 +721,8 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
// Measure the size of the history page after Auto Import on first run.
if (first_run::IsChromeFirstRun() &&
visit_source == history::SOURCE_IE_IMPORTED) {
UMA_HISTOGRAM_COUNTS("Import.ImportedHistorySize.AutoImportFromIE",
page.size());
UMA_HISTOGRAM_COUNTS_1M("Import.ImportedHistorySize.AutoImportFromIE",
page.size());
}
+#endif
}
@@ -730,7 +731,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -443,6 +443,9 @@ static_library("common") {
@@ -442,6 +442,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -55,6 +55,11 @@
@@ -43,6 +43,11 @@
android:title="@string/clear_browsing_data_title"
android:summary="@string/clear_browsing_data_summary"
android:fragment="org.chromium.chrome.browser.preferences.privacy.ClearBrowsingDataTabsFragment" />
@@ -41,7 +41,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.profiles.Profile;
@@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
import org.chromium.chrome.browser.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.DocumentModeAssassin;
@@ -269,6 +270,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -272,6 +273,7 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -60,41 +60,41 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
@@ -42,6 +42,7 @@ public class PrivacyPreferences extends PreferenceFragment
"safe_browsing_extended_reporting";
private static final String PREF_SAFE_BROWSING_SCOUT_REPORTING =
"safe_browsing_scout_reporting";
@@ -38,6 +38,7 @@ public class PrivacyPreferences extends PreferenceFragment
implements OnPreferenceChangeListener {
private static final String PREF_NAVIGATION_ERROR = "navigation_error";
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
+ public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
@@ -139,6 +140,11 @@ public class PrivacyPreferences extends PreferenceFragment
? PREF_SAFE_BROWSING_EXTENDED_REPORTING : PREF_SAFE_BROWSING_SCOUT_REPORTING;
preferenceScreen.removePreference(findPreference(extended_reporting_pref_to_remove));
private static final String PREF_NETWORK_PREDICTIONS = "network_predictions";
@@ -101,6 +102,11 @@ public class PrivacyPreferences extends PreferenceFragment
navigationErrorPref.setOnPreferenceChangeListener(this);
navigationErrorPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+ ChromeBaseCheckBoxPreference allowCustomTabIntentsPref =
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_ALLOW_CUSTOM_TAB_INTENTS);
+ allowCustomTabIntentsPref.setOnPreferenceChangeListener(this);
+ allowCustomTabIntentsPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
ChromeBaseCheckBoxPreference safeBrowsingPref =
(ChromeBaseCheckBoxPreference) findPreference(PREF_SAFE_BROWSING);
safeBrowsingPref.setOnPreferenceChangeListener(this);
@@ -158,6 +164,10 @@ public class PrivacyPreferences extends PreferenceFragment
|| PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
PrefServiceBridge.getInstance().setSafeBrowsingExtendedReportingEnabled(
(boolean) newValue);
ChromeBaseCheckBoxPreference searchSuggestionsPref =
(ChromeBaseCheckBoxPreference) findPreference(PREF_SEARCH_SUGGESTIONS);
searchSuggestionsPref.setOnPreferenceChangeListener(this);
@@ -123,6 +129,10 @@ public class PrivacyPreferences extends PreferenceFragment
recordNetworkPredictionEnablingUMA((boolean) newValue);
} else if (PREF_NAVIGATION_ERROR.equals(key)) {
PrefServiceBridge.getInstance().setResolveNavigationErrorEnabled((boolean) newValue);
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
+ sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
+ sharedPreferencesEditor.apply();
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrefServiceBridge.getInstance().setNetworkPredictionEnabled((boolean) newValue);
recordNetworkPredictionEnablingUMA((boolean) newValue);
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
PrefServiceBridge.getInstance().setBoolean(
Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -3763,6 +3763,13 @@ However, you arent invisible. Going private doesnt hide your browsing from
@@ -3875,6 +3875,13 @@ However, you arent invisible. Going private doesnt hide your browsing from
Browse
</message>
@@ -13,7 +13,7 @@ Corrected Exit functionality
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -78,6 +78,8 @@
@@ -80,6 +80,8 @@
android:title="@string/menu_help" />
<item android:id="@+id/enter_vr_id"
android:title="@string/enter_vr" />
@@ -25,7 +25,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2019,6 +2019,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2100,6 +2100,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
RecordUserAction.record("MobileMenuSettings");
} else if (id == R.id.show_menu) {
showAppMenuForKeyboardEvent();
@@ -53,7 +53,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2921,6 +2921,9 @@ To obtain new licenses, connect to the internet and play your downloaded content
@@ -2992,6 +2992,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_PREFERENCES" desc="Menu item for opening browser preferences. [CHAR-LIMIT=27]">
Settings
</message>
@@ -18,7 +18,7 @@ with limited CPU/memory resources and it is disabled by default.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -910,6 +910,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
@@ -964,6 +964,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
net::kEffectiveConnectionType4G},
};
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// Ensure that all effective connection types returned by Network Quality
// Estimator (NQE) are also exposed via flags.
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
@@ -2608,6 +2613,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2607,6 +2612,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kMaterialDesignIncognitoNTPName,
flag_descriptions::kMaterialDesignIncognitoNTPDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kMaterialDesignIncognitoNTP)},
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1145,6 +1145,10 @@ const char kMaterialDesignIncognitoNTPDescription[] =
@@ -1142,6 +1142,10 @@ const char kMaterialDesignIncognitoNTPDescription[] =
"If enabled, the Incognito New Tab page uses the new material design with "
"a better readable text.";
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -711,6 +711,9 @@ extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
@@ -710,6 +710,9 @@ extern const char kMarkHttpAsWarningAndDangerousOnPasswordsAndCreditCards[];
extern const char kMaterialDesignIncognitoNTPName[];
extern const char kMaterialDesignIncognitoNTPDescription[];
@@ -77,9 +77,9 @@ diff --git a/components/network_session_configurator/common/network_features.cc
+const char kMaxConnectionsPerHostChoiceDefault[] = "6",
+ kMaxConnectionsPerHostChoice15[] = "15";
+
// TODO(nharper): Disable kChannelID on all platforms in M69.
const base::Feature kChannelID{"channel-id", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kChannelID{"channel-id", base::FEATURE_DISABLED_BY_DEFAULT};
const char kDnsOverHttpsChoiceDefault[] = "Disabled",
diff --git a/components/network_session_configurator/common/network_features.h b/components/network_session_configurator/common/network_features.h
--- a/components/network_session_configurator/common/network_features.h
+++ b/components/network_session_configurator/common/network_features.h
@@ -13,8 +13,8 @@ Disable it by default on Android as it is everywhere else
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3520,6 +3520,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(media::kPictureInPicture)},
@@ -3439,6 +3439,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kUseGoogleLocalNtp)},
#endif // !defined(OS_ANDROID)
+ {"resume-background-video",
@@ -23,12 +23,12 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
+
#if defined(OS_MACOSX)
{"mac-touchbar", flag_descriptions::kMacTouchBarName,
flag_descriptions::kMacTouchBarDescription, kOsMac,
{"mac-rtl", flag_descriptions::kMacRTLName,
flag_descriptions::kMacRTLDescription, kOsMac,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -747,6 +747,11 @@ const char kEnablePictureInPictureName[] = "Enable Picture-in-Picture.";
@@ -759,6 +759,11 @@ const char kEnablePictureInPictureName[] = "Enable Picture-in-Picture.";
const char kEnablePictureInPictureDescription[] =
"Enable the Picture-in-Picture feature for videos.";
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -465,6 +465,9 @@ extern const char kOOPHPStackModePseudo[];
@@ -470,6 +470,9 @@ extern const char kOOPHPStackModePseudo[];
extern const char kEnablePictureInPictureName[];
extern const char kEnablePictureInPictureDescription[];
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -220,11 +220,7 @@ const base::Feature kPreloadMetadataSuspend{"PreloadMetadataSuspend",
@@ -221,11 +221,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
@@ -0,0 +1,110 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 18 Nov 2018 13:06:49 +0100
Subject: Add flag to disable IPv6 probes
---
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
net/dns/host_resolver_impl.cc | 10 ++++++++--
services/network/public/cpp/features.cc | 3 +++
services/network/public/cpp/features.h | 2 ++
6 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3499,6 +3499,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kEnableVirtualKeyboardUkm)},
#endif // OS_CHROMEOS
+ {"ipv6-probing",
+ flag_descriptions::kIPv6ProbingName,
+ flag_descriptions::kIPv6ProbingDescription, kOsAll,
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
+
#if !defined(OS_ANDROID)
{"enable-picture-in-picture",
flag_descriptions::kEnablePictureInPictureName,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -763,6 +763,10 @@ const char kOOPHPStackModeNative[] = "Native";
const char kOOPHPStackModeNativeWithThreadNames[] = "Native with thread names";
const char kOOPHPStackModePseudo[] = "Trace events";
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
+const char kIPv6ProbingDescription[] =
+ "Send IPv6 probes to a RIPE DNS address to verify IPv6 connectivity.";
+
const char kEnablePictureInPictureName[] = "Enable Picture-in-Picture.";
const char kEnablePictureInPictureDescription[] =
"Enable the Picture-in-Picture feature for videos.";
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -473,6 +473,9 @@ extern const char kOOPHPStackModeNative[];
extern const char kOOPHPStackModeNativeWithThreadNames[];
extern const char kOOPHPStackModePseudo[];
+extern const char kIPv6ProbingName[];
+extern const char kIPv6ProbingDescription[];
+
extern const char kEnablePictureInPictureName[];
extern const char kEnablePictureInPictureDescription[];
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
--- a/net/dns/host_resolver_impl.cc
+++ b/net/dns/host_resolver_impl.cc
@@ -76,6 +76,7 @@
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
+#include "services/network/public/cpp/features.h"
#include "url/url_canon_ip.h"
#if BUILDFLAG(ENABLE_MDNS)
@@ -2719,8 +2720,13 @@ bool HostResolverImpl::IsIPv6Reachable(const NetLogWithSource& net_log) {
bool cached = true;
if ((tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
- last_ipv6_probe_result_ =
- IsGloballyReachable(IPAddress(kIPv6ProbeAddress), net_log);
+ if (!base::FeatureList::IsEnabled(network::features::kIPv6Probing)) {
+ // pretend IPv6 connectivy probe is successful when probing is disabled
+ last_ipv6_probe_result_ = true;
+ } else {
+ last_ipv6_probe_result_ =
+ IsGloballyReachable(IPAddress(kIPv6ProbeAddress), net_log);
+ }
last_ipv6_probe_time_ = tick_clock_->NowTicks();
cached = false;
}
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -14,6 +14,9 @@ const base::Feature kExpectCTReporting{"ExpectCTReporting",
const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
base::FEATURE_ENABLED_BY_DEFAULT};
+
+const base::Feature kIPv6Probing{"IPv6Probing",
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Enables the network service.
const base::Feature kNetworkService{"NetworkService",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -18,6 +18,8 @@ extern const base::Feature kNetworkErrorLogging;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kNetworkService;
COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kIPv6Probing;
+COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kOutOfBlinkCORS;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kReporting;
--
2.11.0
@@ -20,7 +20,7 @@ legacy acceleration events.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3041,6 +3041,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3005,6 +3005,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-generic-sensor", flag_descriptions::kEnableGenericSensorName,
flag_descriptions::kEnableGenericSensorDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kGenericSensor)},
@@ -36,7 +36,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -556,6 +556,14 @@ const char kEnableGenericSensorDescription[] =
@@ -551,6 +551,14 @@ const char kEnableGenericSensorDescription[] =
"Accelerometer, LinearAccelerationSensor, Gyroscope, "
"AbsoluteOrientationSensor and RelativeOrientationSensor interfaces.";
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -366,6 +366,12 @@ extern const char kEnableEnumeratingAudioDevicesDescription[];
@@ -362,6 +362,12 @@ extern const char kEnableEnumeratingAudioDevicesDescription[];
extern const char kEnableGenericSensorName[];
extern const char kEnableGenericSensorDescription[];
@@ -70,7 +70,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -144,6 +144,9 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs(
@@ -143,6 +143,9 @@ void SetRuntimeFeaturesDefaultsAndUpdateFromArgs(
if (command_line.HasSwitch(switches::kDisableSharedWorkers))
WebRuntimeFeatures::EnableSharedWorker(false);
@@ -83,7 +83,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -590,6 +590,16 @@ const base::Feature kWebRtcUseGpuMemoryBufferVideoFrames{
@@ -570,6 +570,16 @@ const base::Feature kWebRtcHideLocalIpsWithMdns{
// https://wicg.github.io/webusb
const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -103,7 +103,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -155,6 +155,8 @@ CONTENT_EXPORT extern const char kWebXrRenderPathParamValueGpuFence[];
@@ -152,6 +152,8 @@ CONTENT_EXPORT extern const char kWebXrRenderPathParamValueGpuFence[];
CONTENT_EXPORT extern const char kWebXrRenderPathParamValueSharedBuffer[];
#endif // defined(OS_ANDROID)
@@ -115,7 +115,7 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -84,6 +84,8 @@ class WebRuntimeFeatures {
@@ -85,6 +85,8 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableCSSFragmentIdentifiers(bool);
BLINK_PLATFORM_EXPORT static void EnableScrollTopLeftInterop(bool);
BLINK_PLATFORM_EXPORT static void EnableDatabase(bool);
@@ -146,7 +146,7 @@ diff --git a/third_party/blink/renderer/modules/modules_initializer.cc b/third_p
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -140,6 +140,14 @@ void WebRuntimeFeatures::EnableDatabase(bool enable) {
@@ -136,6 +136,14 @@ void WebRuntimeFeatures::EnableDatabase(bool enable) {
RuntimeEnabledFeatures::SetDatabaseEnabled(enable);
}
@@ -164,7 +164,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -348,6 +348,14 @@
@@ -357,6 +357,14 @@
status: "stable",
},
{
@@ -45,7 +45,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -59,6 +59,7 @@
@@ -61,6 +61,7 @@
android:title="@string/menu_add_to_homescreen" />
<item android:id="@+id/open_webapk_id"
android:title="@string/menu_open_webapk" />
@@ -53,7 +53,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
<item android:id="@+id/request_desktop_site_row_menu_id"
android:title="@null">
<menu>
@@ -69,6 +70,18 @@
@@ -71,6 +72,18 @@
android:checkable="true" />
</menu>
</item>
@@ -75,7 +75,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2111,6 +2111,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2195,6 +2195,14 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent();
currentTab.setUseDesktopUserAgent(!usingDesktopUserAgent, reloadOnChange);
RecordUserAction.record("MobileMenuRequestDesktopSite");
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -1711,6 +1711,14 @@ public class ChromeTabbedActivity
@@ -1718,6 +1718,14 @@ public class ChromeTabbedActivity
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
import org.chromium.chrome.browser.ShortcutHelper;
import org.chromium.chrome.browser.UrlConstants;
import org.chromium.chrome.browser.banners.AppBannerManager;
@@ -197,6 +198,8 @@ public class AppMenuPropertiesDelegate {
@@ -209,6 +210,8 @@ public class AppMenuPropertiesDelegate {
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
// Only display reader mode settings menu option if the current page is in reader mode.
menu.findItem(R.id.reader_mode_prefs_id)
.setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.getUrl()));
@@ -436,6 +439,41 @@ public class AppMenuPropertiesDelegate {
@@ -448,6 +451,41 @@ public class AppMenuPropertiesDelegate {
}
/**
@@ -173,7 +173,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -172,6 +172,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -182,6 +182,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
}
updateRequestDesktopSiteMenuItem(menu, currentTab, requestDesktopSiteVisible);
@@ -184,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2906,6 +2906,17 @@ To obtain new licenses, connect to the internet and play your downloaded content
@@ -2977,6 +2977,17 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_FIND_IN_PAGE" desc="Menu item allowing users to find text within the current page. [CHAR-LIMIT=27]">
Find in page
</message>
@@ -26,8 +26,8 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -18,6 +18,11 @@
android:summary="@string/search_suggestions_summary"
@@ -13,6 +13,11 @@
android:summary="@string/navigation_error_summary"
android:defaultValue="true" />
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
+ android:key="close_tabs_on_exit"
@@ -35,13 +35,13 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
+ android:summary="@string/close_tabs_on_exit_summary"
+ android:defaultValue="false" />
+ <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
android:key="safe_browsing_extended_reporting"
android:title="@string/safe_browsing_extended_reporting_title"
android:summary="@string/safe_browsing_extended_reporting_summary" />
android:key="search_suggestions"
android:title="@string/search_suggestions_title"
android:summary="@string/search_suggestions_summary"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -1023,8 +1023,10 @@ public class ChromeTabbedActivity
@@ -1030,8 +1030,10 @@ public class ChromeTabbedActivity
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -72,7 +72,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
@@ -47,6 +49,7 @@ public class PrivacyPreferences extends PreferenceFragment
@@ -42,6 +44,7 @@ public class PrivacyPreferences extends PreferenceFragment
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
private static final String PREF_NETWORK_PREDICTIONS = "network_predictions";
@@ -80,19 +80,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_USAGE_AND_CRASH_REPORTING = "usage_and_crash_reports";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
@@ -150,6 +153,11 @@ public class PrivacyPreferences extends PreferenceFragment
safeBrowsingPref.setOnPreferenceChangeListener(this);
safeBrowsingPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
@@ -91,6 +94,11 @@ public class PrivacyPreferences extends PreferenceFragment
preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK_DIVIDER));
preferenceScreen.removePreference(findPreference(PREF_SYNC_AND_SERVICES_LINK));
+ ChromeBaseCheckBoxPreference closeTabsOnExitPref =
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
+ closeTabsOnExitPref.setOnPreferenceChangeListener(this);
+ closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
updateSummaries();
}
@@ -176,6 +184,12 @@ public class PrivacyPreferences extends PreferenceFragment
ChromeBaseCheckBoxPreference networkPredictionPref =
(ChromeBaseCheckBoxPreference) findPreference(PREF_NETWORK_PREDICTIONS);
networkPredictionPref.setChecked(prefServiceBridge.getNetworkPredictionEnabled());
@@ -136,6 +144,12 @@ public class PrivacyPreferences extends PreferenceFragment
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
PrefServiceBridge.getInstance().setBoolean(
Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
@@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/pri
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -3655,6 +3655,12 @@ However, you arent invisible. Going private doesnt hide your browsing from
@@ -3765,6 +3765,12 @@ However, you arent invisible. Going private doesnt hide your browsing from
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
IMAGE
</message>
@@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 28 Aug 2018 23:27:23 +0200
Subject: Add privacy option to keep cookies until session exit
Subject: Add site settings option for session-only cookies
---
chrome/android/java/res/values/values.xml | 3 +++
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
/**
* @return Whether third-party cookie blocking is configured by policy
*/
@@ -630,6 +634,10 @@ public class PrefServiceBridge {
@@ -638,6 +642,10 @@ public class PrefServiceBridge {
nativeSetBlockThirdPartyCookiesEnabled(enabled);
}
@@ -66,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
public void setDoNotTrackEnabled(boolean enabled) {
nativeSetDoNotTrackEnabled(enabled);
}
@@ -1072,6 +1080,7 @@ public class PrefServiceBridge {
@@ -1086,6 +1094,7 @@ public class PrefServiceBridge {
private native boolean nativeGetAutoplayEnabled();
private native boolean nativeGetBackgroundSyncEnabled();
private native boolean nativeGetBlockThirdPartyCookiesEnabled();
@@ -74,14 +74,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Pre
private native boolean nativeGetBlockThirdPartyCookiesManaged();
private native boolean nativeGetRememberPasswordsEnabled();
private native boolean nativeGetPasswordManagerAutoSigninEnabled();
@@ -1118,6 +1127,7 @@ public class PrefServiceBridge {
private native void nativeSetAllowCookiesEnabled(boolean allow);
private native void nativeSetBackgroundSyncEnabled(boolean allow);
private native void nativeSetBlockThirdPartyCookiesEnabled(boolean enabled);
@@ -1132,6 +1141,7 @@ public class PrefServiceBridge {
private native void nativeSetAutoplayEnabled(boolean enabled);
private native void nativeSetAllowCookiesEnabled(boolean enabled);
private native void nativeSetBackgroundSyncEnabled(boolean enabled);
+ private native void nativeSetCookiesSessionOnlyEnabled(boolean enabled);
private native void nativeSetClipboardEnabled(boolean allow);
private native void nativeSetBlockThirdPartyCookiesEnabled(boolean enabled);
private native void nativeSetClipboardEnabled(boolean enabled);
private native void nativeSetDoNotTrackEnabled(boolean enabled);
private native void nativeSetRememberPasswordsEnabled(boolean allow);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SingleCategoryPreferences.java
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
public static final String NOTIFICATIONS_VIBRATE_TOGGLE_KEY = "notifications_vibrate";
public static final String EXPLAIN_PROTECTED_MEDIA_KEY = "protected_content_learn_more";
private static final String ADD_EXCEPTION_KEY = "add_exception";
@@ -460,6 +461,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
@@ -438,6 +439,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
if (type == SiteSettingsCategory.Type.COOKIES) {
updateThirdPartyCookiesCheckBox();
@@ -101,7 +101,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
} else if (type == SiteSettingsCategory.Type.NOTIFICATIONS) {
updateNotificationsVibrateCheckBox();
}
@@ -498,6 +500,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
@@ -476,6 +478,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
getInfoForOrigins();
} else if (THIRD_PARTY_COOKIES_TOGGLE_KEY.equals(preference.getKey())) {
prefServiceBridge.setBlockThirdPartyCookiesEnabled(!((boolean) newValue));
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
} else if (NOTIFICATIONS_VIBRATE_TOGGLE_KEY.equals(preference.getKey())) {
prefServiceBridge.setNotificationsVibrateEnabled((boolean) newValue);
}
@@ -754,6 +758,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
@@ -738,6 +742,8 @@ public class SingleCategoryPreferences extends PreferenceFragment
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) screen.findPreference(TRI_STATE_TOGGLE_KEY);
Preference thirdPartyCookies = screen.findPreference(THIRD_PARTY_COOKIES_TOGGLE_KEY);
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
Preference notificationsVibrate = screen.findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
Preference explainProtectedMediaKey = screen.findPreference(EXPLAIN_PROTECTED_MEDIA_KEY);
PreferenceGroup allowedGroup = (PreferenceGroup) screen.findPreference(ALLOWED_GROUP);
@@ -768,6 +774,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
@@ -752,6 +758,7 @@ public class SingleCategoryPreferences extends PreferenceFragment
screen.removePreference(binaryToggle);
screen.removePreference(triStateToggle);
screen.removePreference(thirdPartyCookies);
@@ -127,7 +127,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
screen.removePreference(notificationsVibrate);
screen.removePreference(explainProtectedMediaKey);
screen.removePreference(allowedGroup);
@@ -803,12 +810,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
@@ -787,12 +794,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
configureBinaryToggle(binaryToggle, contentType);
}
@@ -144,7 +144,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/web
}
// Configure/hide the notifications vibrate toggle, as needed.
@@ -894,6 +904,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
@@ -878,6 +888,15 @@ public class SingleCategoryPreferences extends PreferenceFragment
preference -> PrefServiceBridge.getInstance().isBlockThirdPartyCookiesManaged());
}
@@ -179,7 +179,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc
--- a/chrome/browser/android/preferences/pref_service_bridge.cc
+++ b/chrome/browser/android/preferences/pref_service_bridge.cc
@@ -304,6 +304,17 @@ static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesEnabled(
@@ -310,6 +310,17 @@ static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesEnabled(
return GetPrefService()->GetBoolean(prefs::kBlockThirdPartyCookies);
}
@@ -197,7 +197,7 @@ diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/
static jboolean JNI_PrefServiceBridge_GetBlockThirdPartyCookiesManaged(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
@@ -756,6 +767,20 @@ static void JNI_PrefServiceBridge_SetBlockThirdPartyCookiesEnabled(
@@ -774,6 +785,20 @@ static void JNI_PrefServiceBridge_SetBlockThirdPartyCookiesEnabled(
GetPrefService()->SetBoolean(prefs::kBlockThirdPartyCookies, enabled);
}
@@ -0,0 +1,767 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 18 Sep 2018 08:06:14 +0200
Subject: Allow building without safebrowsing for Android
Fix build from scratch (issue found by nikolowry)
---
.../android/java/res/xml/privacy_preferences.xml | 12 -----
.../preferences/privacy/PrivacyPreferences.java | 58 ----------------------
.../chrome_browsing_data_remover_delegate.cc | 10 ----
chrome/browser/chrome_content_browser_client.cc | 14 +-----
.../file_type_policies_component_installer.cc | 2 +
.../download/chrome_download_manager_delegate.cc | 14 +++++-
.../download/chrome_download_manager_delegate.h | 6 +++
chrome/browser/download/download_item_model.cc | 10 ++++
chrome/browser/download/download_item_model.h | 4 ++
chrome/browser/download/download_prefs.cc | 4 ++
.../browser/download/download_target_determiner.cc | 18 +++++++
.../browser/download/download_target_determiner.h | 6 +++
chrome/browser/download/download_target_info.cc | 4 ++
chrome/browser/download/download_target_info.h | 4 ++
chrome/browser/download/download_ui_model.cc | 4 ++
chrome/browser/download/download_ui_model.h | 4 ++
.../chrome_resource_dispatcher_host_delegate.cc | 4 ++
chrome/browser/net/chrome_network_delegate.cc | 35 +------------
18 files changed, 85 insertions(+), 128 deletions(-)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -18,18 +18,6 @@
android:summary="@string/search_suggestions_summary"
android:defaultValue="true" />
<org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
- android:key="safe_browsing_extended_reporting"
- android:title="@string/safe_browsing_extended_reporting_title"
- android:summary="@string/safe_browsing_extended_reporting_summary" />
- <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
- android:key="safe_browsing_scout_reporting"
- android:title="@string/safe_browsing_scout_reporting_title"
- android:summary="@string/safe_browsing_scout_reporting_summary" />
- <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
- android:key="safe_browsing"
- android:title="@string/safe_browsing_title"
- android:summary="@string/safe_browsing_summary" />
- <org.chromium.chrome.browser.preferences.ChromeBaseCheckBoxPreference
android:key="network_predictions"
android:title="@string/network_predictions_title"
android:summary="@string/network_predictions_summary"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/privacy/PrivacyPreferences.java
@@ -38,11 +38,6 @@ public class PrivacyPreferences extends PreferenceFragment
implements OnPreferenceChangeListener {
private static final String PREF_NAVIGATION_ERROR = "navigation_error";
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
- private static final String PREF_SAFE_BROWSING_EXTENDED_REPORTING =
- "safe_browsing_extended_reporting";
- private static final String PREF_SAFE_BROWSING_SCOUT_REPORTING =
- "safe_browsing_scout_reporting";
- private static final String PREF_SAFE_BROWSING = "safe_browsing";
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
private static final String PREF_NETWORK_PREDICTIONS = "network_predictions";
@@ -76,10 +71,6 @@ public class PrivacyPreferences extends PreferenceFragment
// Remove preferences that were migrated to SyncAndServicesPreferences.
preferenceScreen.removePreference(findPreference(PREF_NAVIGATION_ERROR));
preferenceScreen.removePreference(findPreference(PREF_SEARCH_SUGGESTIONS));
- preferenceScreen.removePreference(
- findPreference(PREF_SAFE_BROWSING_EXTENDED_REPORTING));
- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING_SCOUT_REPORTING));
- preferenceScreen.removePreference(findPreference(PREF_SAFE_BROWSING));
preferenceScreen.removePreference(findPreference(PREF_NETWORK_PREDICTIONS));
preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH));
preferenceScreen.removePreference(findPreference(PREF_USAGE_AND_CRASH_REPORTING));
@@ -119,27 +110,6 @@ public class PrivacyPreferences extends PreferenceFragment
preferenceScreen.removePreference(findPreference(PREF_CONTEXTUAL_SEARCH));
}
- // Listen to changes to both Extended Reporting prefs.
- ChromeBaseCheckBoxPreference legacyExtendedReportingPref =
- (ChromeBaseCheckBoxPreference) findPreference(
- PREF_SAFE_BROWSING_EXTENDED_REPORTING);
- legacyExtendedReportingPref.setOnPreferenceChangeListener(this);
- legacyExtendedReportingPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
- ChromeBaseCheckBoxPreference scoutReportingPref =
- (ChromeBaseCheckBoxPreference) findPreference(PREF_SAFE_BROWSING_SCOUT_REPORTING);
- scoutReportingPref.setOnPreferenceChangeListener(this);
- scoutReportingPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
- // Remove the extended reporting preference that is NOT active.
- String extended_reporting_pref_to_remove =
- prefServiceBridge.isSafeBrowsingScoutReportingActive()
- ? PREF_SAFE_BROWSING_EXTENDED_REPORTING : PREF_SAFE_BROWSING_SCOUT_REPORTING;
- preferenceScreen.removePreference(findPreference(extended_reporting_pref_to_remove));
-
- ChromeBaseCheckBoxPreference safeBrowsingPref =
- (ChromeBaseCheckBoxPreference) findPreference(PREF_SAFE_BROWSING);
- safeBrowsingPref.setOnPreferenceChangeListener(this);
- safeBrowsingPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
-
updateSummaries();
}
@@ -148,12 +118,6 @@ public class PrivacyPreferences extends PreferenceFragment
String key = preference.getKey();
if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
PrefServiceBridge.getInstance().setSearchSuggestEnabled((boolean) newValue);
- } else if (PREF_SAFE_BROWSING.equals(key)) {
- PrefServiceBridge.getInstance().setSafeBrowsingEnabled((boolean) newValue);
- } else if (PREF_SAFE_BROWSING_EXTENDED_REPORTING.equals(key)
- || PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
- PrefServiceBridge.getInstance().setSafeBrowsingExtendedReportingEnabled(
- (boolean) newValue);
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrefServiceBridge.getInstance().setNetworkPredictionEnabled((boolean) newValue);
recordNetworkPredictionEnablingUMA((boolean) newValue);
@@ -202,21 +166,6 @@ public class PrivacyPreferences extends PreferenceFragment
searchSuggestionsPref.setChecked(prefServiceBridge.isSearchSuggestEnabled());
}
- String extended_reporting_pref = prefServiceBridge.isSafeBrowsingScoutReportingActive()
- ? PREF_SAFE_BROWSING_SCOUT_REPORTING : PREF_SAFE_BROWSING_EXTENDED_REPORTING;
- CheckBoxPreference extendedReportingPref =
- (CheckBoxPreference) findPreference(extended_reporting_pref);
- if (extendedReportingPref != null) {
- extendedReportingPref.setChecked(
- prefServiceBridge.isSafeBrowsingExtendedReportingEnabled());
- }
-
- CheckBoxPreference safeBrowsingPref =
- (CheckBoxPreference) findPreference(PREF_SAFE_BROWSING);
- if (safeBrowsingPref != null) {
- safeBrowsingPref.setChecked(prefServiceBridge.isSafeBrowsingEnabled());
- }
-
CheckBoxPreference canMakePaymentPref =
(CheckBoxPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
if (canMakePaymentPref != null) {
@@ -253,13 +202,6 @@ public class PrivacyPreferences extends PreferenceFragment
if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
return prefs.isSearchSuggestManaged();
}
- if (PREF_SAFE_BROWSING_EXTENDED_REPORTING.equals(key)
- || PREF_SAFE_BROWSING_SCOUT_REPORTING.equals(key)) {
- return prefs.isSafeBrowsingExtendedReportingManaged();
- }
- if (PREF_SAFE_BROWSING.equals(key)) {
- return prefs.isSafeBrowsingManaged();
- }
if (PREF_NETWORK_PREDICTIONS.equals(key)) {
return prefs.isNetworkPredictionManaged();
}
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -254,16 +254,6 @@ bool DoesOriginMatchEmbedderMask(int origin_type_mask,
return false;
}
-// Callback for when cookies have been deleted. Invokes NotifyIfDone.
-// Receiving |cookie_manager| as a parameter so that the receive pipe is
-// not deleted before the response is received.
-void OnClearedCookies(base::OnceClosure done,
- network::mojom::CookieManagerPtr cookie_manager,
- uint32_t num_deleted) {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- std::move(done).Run();
-}
-
} // namespace
ChromeBrowsingDataRemoverDelegate::ChromeBrowsingDataRemoverDelegate(
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
@@ -4853,19 +4853,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
content::ResourceContext* resource_context) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
- ProfileIOData* io_data = ProfileIOData::FromResourceContext(resource_context);
- if (!io_data->safe_browsing_enabled()->GetValue())
- return nullptr;
-
- // |safe_browsing_service_| may be unavailable in tests.
- if (safe_browsing_service_ && !safe_browsing_url_checker_delegate_) {
- safe_browsing_url_checker_delegate_ =
- base::MakeRefCounted<safe_browsing::UrlCheckerDelegateImpl>(
- safe_browsing_service_->database_manager(),
- safe_browsing_service_->ui_manager());
- }
-
- return safe_browsing_url_checker_delegate_.get();
+ return nullptr;
}
base::Optional<std::string>
diff --git a/chrome/browser/component_updater/file_type_policies_component_installer.cc b/chrome/browser/component_updater/file_type_policies_component_installer.cc
--- a/chrome/browser/component_updater/file_type_policies_component_installer.cc
+++ b/chrome/browser/component_updater/file_type_policies_component_installer.cc
@@ -18,7 +18,9 @@
#include "base/path_service.h"
#include "base/task/post_task.h"
#include "base/version.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/file_type_policies.h"
+#endif
#include "components/component_updater/component_updater_paths.h"
using component_updater::ComponentUpdateService;
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
@@ -38,8 +38,10 @@
#include "chrome/browser/download/save_package_file_picker.h"
#include "chrome/browser/platform_util.h"
#include "chrome/browser/profiles/profile.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+#endif
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/chrome_pages.h"
@@ -49,7 +51,9 @@
#include "chrome/common/chrome_features.h"
#include "chrome/common/pdf_util.h"
#include "chrome/common/pref_names.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/file_type_policies.h"
+#endif
#include "chrome/grit/generated_resources.h"
#include "components/download/database/in_progress/in_progress_cache_impl.h"
#include "components/download/public/common/download_interrupt_reasons.h"
@@ -95,8 +99,10 @@
using content::BrowserThread;
using download::DownloadItem;
using content::DownloadManager;
+#if defined(FULL_SAFE_BROWSING)
using safe_browsing::DownloadFileType;
using safe_browsing::DownloadProtectionService;
+#endif
namespace {
@@ -746,19 +752,19 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() const {
return std::string(chrome::kApplicationClientIDStringForAVScanning);
}
+#if defined(FULL_SAFE_BROWSING)
DownloadProtectionService*
ChromeDownloadManagerDelegate::GetDownloadProtectionService() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
-#if defined(FULL_SAFE_BROWSING)
safe_browsing::SafeBrowsingService* sb_service =
g_browser_process->safe_browsing_service();
if (sb_service && sb_service->download_protection_service() &&
profile_->GetPrefs()->GetBoolean(prefs::kSafeBrowsingEnabled)) {
return sb_service->download_protection_service();
}
-#endif
return NULL;
}
+#endif
void ChromeDownloadManagerDelegate::NotifyExtensions(
DownloadItem* download,
@@ -1201,13 +1207,17 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
#endif
+#if defined(FULL_SAFE_BROWSING)
DownloadItemModel(item).SetDangerLevel(target_info->danger_level);
+#endif
}
+#if defined(FULL_SAFE_BROWSING)
if (ShouldBlockFile(target_info->danger_type, item)) {
target_info->result = download::DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED;
// A dangerous type would take precendence over the blocking of the file.
target_info->danger_type = download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS;
}
+#endif
callback.Run(target_info->target_path, target_info->target_disposition,
target_info->danger_type, target_info->intermediate_path,
diff --git a/chrome/browser/download/chrome_download_manager_delegate.h b/chrome/browser/download/chrome_download_manager_delegate.h
--- a/chrome/browser/download/chrome_download_manager_delegate.h
+++ b/chrome/browser/download/chrome_download_manager_delegate.h
@@ -22,8 +22,10 @@
#include "chrome/browser/download/download_path_reservation_tracker.h"
#include "chrome/browser/download/download_target_determiner_delegate.h"
#include "chrome/browser/download/download_target_info.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
#include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
+#endif
#include "components/download/public/common/download_danger_type.h"
#include "components/download/public/common/download_item.h"
#include "content/public/browser/download_manager_delegate.h"
@@ -131,8 +133,10 @@ class ChromeDownloadManagerDelegate
DownloadPrefs* download_prefs() { return download_prefs_.get(); }
protected:
+#if defined(FULL_SAFE_BROWSING)
virtual safe_browsing::DownloadProtectionService*
GetDownloadProtectionService();
+#endif
// Show file picker for |download|.
virtual void ShowFilePickerForDownload(
@@ -197,9 +201,11 @@ class ChromeDownloadManagerDelegate
const content::NotificationSource& source,
const content::NotificationDetails& details) override;
+#if defined(FULL_SAFE_BROWSING)
// Callback function after the DownloadProtectionService completes.
void CheckClientDownloadDone(uint32_t download_id,
safe_browsing::DownloadCheckResult result);
+#endif
// Internal gateways for ShouldCompleteDownload().
bool IsDownloadReadyForCompletion(
diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/download/download_item_model.cc
--- a/chrome/browser/download/download_item_model.cc
+++ b/chrome/browser/download/download_item_model.cc
@@ -22,9 +22,11 @@
#include "chrome/browser/download/download_stats.h"
#include "chrome/browser/download/offline_item_utils.h"
#include "chrome/browser/profiles/profile.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/browser/safe_browsing/download_protection/download_feedback_service.h"
#include "chrome/common/safe_browsing/download_file_types.pb.h"
#include "chrome/common/safe_browsing/file_type_policies.h"
+#endif
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/download/public/common/download_danger_type.h"
@@ -37,7 +39,9 @@
using base::TimeDelta;
using download::DownloadItem;
+#if defined(FULL_SAFE_BROWSING)
using safe_browsing::DownloadFileType;
+#endif
namespace {
@@ -67,9 +71,11 @@ class DownloadItemModelData : public base::SupportsUserData::Data {
// for the file type.
bool should_prefer_opening_in_browser_;
+#if defined(FULL_SAFE_BROWSING)
// Danger level of the file determined based on the file type and whether
// there was a user action associated with the download.
DownloadFileType::DangerLevel danger_level_;
+#endif
// Whether the download is currently being revived.
bool is_being_revived_;
@@ -106,7 +112,9 @@ DownloadItemModelData::DownloadItemModelData()
: should_show_in_shelf_(true),
was_ui_notified_(false),
should_prefer_opening_in_browser_(false),
+#if defined(FULL_SAFE_BROWSING)
danger_level_(DownloadFileType::NOT_DANGEROUS),
+#endif
is_being_revived_(false) {}
} // namespace
@@ -376,6 +384,7 @@ void DownloadItemModel::SetShouldPreferOpeningInBrowser(bool preference) {
data->should_prefer_opening_in_browser_ = preference;
}
+#if defined(FULL_SAFE_BROWSING)
DownloadFileType::DangerLevel DownloadItemModel::GetDangerLevel() const {
const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
return data ? data->danger_level_ : DownloadFileType::NOT_DANGEROUS;
@@ -386,6 +395,7 @@ void DownloadItemModel::SetDangerLevel(
DownloadItemModelData* data = DownloadItemModelData::GetOrCreate(download_);
data->danger_level_ = danger_level;
}
+#endif
bool DownloadItemModel::IsBeingRevived() const {
const DownloadItemModelData* data = DownloadItemModelData::Get(download_);
diff --git a/chrome/browser/download/download_item_model.h b/chrome/browser/download/download_item_model.h
--- a/chrome/browser/download/download_item_model.h
+++ b/chrome/browser/download/download_item_model.h
@@ -11,7 +11,9 @@
#include "base/macros.h"
#include "base/strings/string16.h"
#include "chrome/browser/download/download_ui_model.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/download_file_types.pb.h"
+#endif
#include "components/download/public/common/download_item.h"
// Implementation of DownloadUIModel that wrappers around a |DownloadItem*|. As
@@ -48,9 +50,11 @@ class DownloadItemModel : public DownloadUIModel,
void SetWasUINotified(bool should_notify) override;
bool ShouldPreferOpeningInBrowser() const override;
void SetShouldPreferOpeningInBrowser(bool preference) override;
+#if defined(FULL_SAFE_BROWSING)
safe_browsing::DownloadFileType::DangerLevel GetDangerLevel() const override;
void SetDangerLevel(
safe_browsing::DownloadFileType::DangerLevel danger_level) override;
+#endif
void OpenUsingPlatformHandler() override;
bool IsBeingRevived() const override;
void SetIsBeingRevived(bool is_being_revived) override;
diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download/download_prefs.cc
--- a/chrome/browser/download/download_prefs.cc
+++ b/chrome/browser/download/download_prefs.cc
@@ -33,7 +33,9 @@
#include "chrome/common/chrome_features.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/file_type_policies.h"
+#endif
#include "components/download/public/common/download_item.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_service.h"
@@ -55,7 +57,9 @@
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
+#if defined(FULL_SAFE_BROWSING)
using safe_browsing::FileTypePolicies;
+#endif
namespace {
diff --git a/chrome/browser/download/download_target_determiner.cc b/chrome/browser/download/download_target_determiner.cc
--- a/chrome/browser/download/download_target_determiner.cc
+++ b/chrome/browser/download/download_target_determiner.cc
@@ -22,7 +22,9 @@
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/file_type_policies.h"
+#endif
#include "chrome/grit/generated_resources.h"
#include "components/download/public/common/download_interrupt_reasons.h"
#include "components/history/core/browser/history_service.h"
@@ -56,13 +58,16 @@
using content::BrowserThread;
using download::DownloadItem;
+#if defined(FULL_SAFE_BROWSING)
using safe_browsing::DownloadFileType;
+#endif
namespace {
const base::FilePath::CharType kCrdownloadSuffix[] =
FILE_PATH_LITERAL(".crdownload");
+#if defined(FULL_SAFE_BROWSING)
// Condenses the results from HistoryService::GetVisibleVisitCountToHost() to a
// single bool. A host is considered visited before if prior visible visits were
// found in history and the first such visit was earlier than the most recent
@@ -76,6 +81,7 @@ void VisitCountsToVisitedBefore(
found_visits && count > 0 &&
(first_visit.LocalMidnight() < base::Time::Now().LocalMidnight()));
}
+#endif
#if defined(OS_WIN)
// Keeps track of whether Adobe Reader is up to date.
@@ -100,7 +106,9 @@ DownloadTargetDeterminer::DownloadTargetDeterminer(
create_target_directory_(false),
conflict_action_(conflict_action),
danger_type_(download->GetDangerType()),
+#if defined(FULL_SAFE_BROWSING)
danger_level_(DownloadFileType::NOT_DANGEROUS),
+#endif
virtual_path_(initial_virtual_path),
is_filetype_handled_safely_(false),
#if defined(OS_ANDROID)
@@ -719,6 +727,7 @@ DownloadTargetDeterminer::Result
return CONTINUE;
}
+#if defined(FULL_SAFE_BROWSING)
// First determine the danger level assuming that the user doesn't have any
// prior visits to the referrer recoreded in history. The resulting danger
// level would be ALLOW_ON_USER_GESTURE if the level depends on the visit
@@ -755,6 +764,7 @@ DownloadTargetDeterminer::Result
// invalid, then assume the referrer has not been visited before.
if (danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)
danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE;
+#endif
return CONTINUE;
}
@@ -762,11 +772,13 @@ void DownloadTargetDeterminer::CheckVisitedReferrerBeforeDone(
bool visited_referrer_before) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
DCHECK_EQ(STATE_DETERMINE_INTERMEDIATE_PATH, next_state_);
+#if defined(FULL_SAFE_BROWSING)
danger_level_ = GetDangerLevel(
visited_referrer_before ? VISITED_REFERRER : NO_VISITS_TO_REFERRER);
if (danger_level_ != DownloadFileType::NOT_DANGEROUS &&
danger_type_ == download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS)
danger_type_ = download::DOWNLOAD_DANGER_TYPE_DANGEROUS_FILE;
+#endif
DoLoop();
}
@@ -861,7 +873,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
<< " Intermediate:" << intermediate_path_.AsUTF8Unsafe()
<< " Confirmation reason:" << static_cast<int>(confirmation_reason_)
<< " Danger type:" << danger_type_
+#if defined(FULL_SAFE_BROWSING)
<< " Danger level:" << danger_level_
+#endif
<< " Result:" << static_cast<int>(result);
std::unique_ptr<DownloadTargetInfo> target_info(new DownloadTargetInfo);
@@ -873,7 +887,9 @@ void DownloadTargetDeterminer::ScheduleCallbackAndDeleteSelf(
? DownloadItem::TARGET_DISPOSITION_PROMPT
: DownloadItem::TARGET_DISPOSITION_OVERWRITE);
target_info->danger_type = danger_type_;
+#if defined(FULL_SAFE_BROWSING)
target_info->danger_level = danger_level_;
+#endif
target_info->intermediate_path = intermediate_path_;
target_info->mime_type = mime_type_;
target_info->is_filetype_handled_safely = is_filetype_handled_safely_;
@@ -959,6 +975,7 @@ bool DownloadTargetDeterminer::HasPromptedForPath() const {
DownloadItem::TARGET_DISPOSITION_PROMPT);
}
+#if defined(FULL_SAFE_BROWSING)
DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
PriorVisitsToReferrer visits) const {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -990,6 +1007,7 @@ DownloadFileType::DangerLevel DownloadTargetDeterminer::GetDangerLevel(
return DownloadFileType::NOT_DANGEROUS;
}
+#endif
void DownloadTargetDeterminer::OnDownloadDestroyed(
DownloadItem* download) {
diff --git a/chrome/browser/download/download_target_determiner.h b/chrome/browser/download/download_target_determiner.h
--- a/chrome/browser/download/download_target_determiner.h
+++ b/chrome/browser/download/download_target_determiner.h
@@ -17,7 +17,9 @@
#include "chrome/browser/download/download_path_reservation_tracker.h"
#include "chrome/browser/download/download_target_determiner_delegate.h"
#include "chrome/browser/download/download_target_info.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/download_file_types.pb.h"
+#endif
#include "components/download/public/common/download_danger_type.h"
#include "components/download/public/common/download_item.h"
#include "content/public/browser/download_manager_delegate.h"
@@ -297,6 +299,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
// operation.
bool HasPromptedForPath() const;
+#if defined(FULL_SAFE_BROWSING)
// Returns true if this download should show the "dangerous file" warning.
// Various factors are considered, such as the type of the file, whether a
// user action initiated the download, and whether the user has explicitly
@@ -306,6 +309,7 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
// to true if the download requires explicit user consent.
safe_browsing::DownloadFileType::DangerLevel GetDangerLevel(
PriorVisitsToReferrer visits) const;
+#endif
// download::DownloadItem::Observer
void OnDownloadDestroyed(download::DownloadItem* download) override;
@@ -317,7 +321,9 @@ class DownloadTargetDeterminer : public download::DownloadItem::Observer {
bool create_target_directory_;
DownloadPathReservationTracker::FilenameConflictAction conflict_action_;
download::DownloadDangerType danger_type_;
+#if defined(FULL_SAFE_BROWSING)
safe_browsing::DownloadFileType::DangerLevel danger_level_;
+#endif
base::FilePath virtual_path_;
base::FilePath local_path_;
base::FilePath intermediate_path_;
diff --git a/chrome/browser/download/download_target_info.cc b/chrome/browser/download/download_target_info.cc
--- a/chrome/browser/download/download_target_info.cc
+++ b/chrome/browser/download/download_target_info.cc
@@ -4,12 +4,16 @@
#include "chrome/browser/download/download_target_info.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/file_type_policies.h"
+#endif
DownloadTargetInfo::DownloadTargetInfo()
: target_disposition(download::DownloadItem::TARGET_DISPOSITION_OVERWRITE),
danger_type(download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS),
+#if defined(FULL_SAFE_BROWSING)
danger_level(safe_browsing::DownloadFileType::NOT_DANGEROUS),
+#endif
is_filetype_handled_safely(false),
result(download::DOWNLOAD_INTERRUPT_REASON_NONE) {}
diff --git a/chrome/browser/download/download_target_info.h b/chrome/browser/download/download_target_info.h
--- a/chrome/browser/download/download_target_info.h
+++ b/chrome/browser/download/download_target_info.h
@@ -8,7 +8,9 @@
#include <string>
#include "base/files/file_path.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/download_file_types.pb.h"
+#endif
#include "components/download/public/common/download_danger_type.h"
#include "components/download/public/common/download_interrupt_reasons.h"
#include "components/download/public/common/download_item.h"
@@ -32,6 +34,7 @@ struct DownloadTargetInfo {
// Danger type of the download.
download::DownloadDangerType danger_type;
+#if defined(FULL_SAFE_BROWSING)
// The danger type of the download could be set to MAYBE_DANGEROUS_CONTENT if
// the file type is handled by SafeBrowsing. However, if the SafeBrowsing
// service is unable to verify whether the file is safe or not, we are on our
@@ -57,6 +60,7 @@ struct DownloadTargetInfo {
// SafeBrowsing may flag the file as being malicious, in which case the
// malicious classification should take precedence.
safe_browsing::DownloadFileType::DangerLevel danger_level;
+#endif
// Suggested intermediate path. The downloaded bytes should be written to this
// path until all the bytes are available and the user has accepted a
diff --git a/chrome/browser/download/download_ui_model.cc b/chrome/browser/download/download_ui_model.cc
--- a/chrome/browser/download/download_ui_model.cc
+++ b/chrome/browser/download/download_ui_model.cc
@@ -23,7 +23,9 @@
using base::TimeDelta;
using download::DownloadItem;
+#if defined(FULL_SAFE_BROWSING)
using safe_browsing::DownloadFileType;
+#endif
using offline_items_collection::FailState;
namespace {
@@ -368,12 +370,14 @@ bool DownloadUIModel::ShouldPreferOpeningInBrowser() const {
void DownloadUIModel::SetShouldPreferOpeningInBrowser(bool preference) {}
+#if defined(FULL_SAFE_BROWSING)
DownloadFileType::DangerLevel DownloadUIModel::GetDangerLevel() const {
return DownloadFileType::NOT_DANGEROUS;
}
void DownloadUIModel::SetDangerLevel(
DownloadFileType::DangerLevel danger_level) {}
+#endif
void DownloadUIModel::OpenUsingPlatformHandler() {}
diff --git a/chrome/browser/download/download_ui_model.h b/chrome/browser/download/download_ui_model.h
--- a/chrome/browser/download/download_ui_model.h
+++ b/chrome/browser/download/download_ui_model.h
@@ -14,7 +14,9 @@
#include "base/strings/string16.h"
#include "build/build_config.h"
#include "chrome/browser/profiles/profile_manager.h"
+#if defined(FULL_SAFE_BROWSING)
#include "chrome/common/safe_browsing/download_file_types.pb.h"
+#endif
#include "components/download/public/common/download_item.h"
#include "components/offline_items_collection/core/offline_item.h"
@@ -172,6 +174,7 @@ class DownloadUIModel {
// Change what's returned by ShouldPreferOpeningInBrowser to |preference|.
virtual void SetShouldPreferOpeningInBrowser(bool preference);
+#if defined(FULL_SAFE_BROWSING)
// Return the danger level determined during download target determination.
// The value returned here is independent of the danger level as determined by
// the Safe Browsing.
@@ -180,6 +183,7 @@ class DownloadUIModel {
// Change what's returned by GetDangerLevel().
virtual void SetDangerLevel(
safe_browsing::DownloadFileType::DangerLevel danger_level);
+#endif
// Open the download using the platform handler for the download. The behavior
// of this method will be different from DownloadItem::OpenDownload() if
diff --git a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
--- a/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
+++ b/chrome/browser/loader/chrome_resource_dispatcher_host_delegate.cc
@@ -451,14 +451,18 @@ void ChromeResourceDispatcherHostDelegate::AppendStandardResourceThrottles(
content::ResourceContext* resource_context,
ResourceType resource_type,
std::vector<std::unique_ptr<content::ResourceThrottle>>* throttles) {
+#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
ProfileIOData* io_data = ProfileIOData::FromResourceContext(resource_context);
+#endif // defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
// Insert either safe browsing or data reduction proxy throttle at the front
// of the list, so one of them gets to decide if the resource is safe.
content::ResourceThrottle* first_throttle = NULL;
#if defined(OS_ANDROID)
+#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
first_throttle = DataReductionProxyResourceThrottle::MaybeCreate(
request, resource_context, resource_type, nullptr);
+#endif
#endif // defined(OS_ANDROID)
#if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -79,19 +79,6 @@ namespace {
bool g_access_to_all_files_enabled = false;
-// Gets called when the extensions finish work on the URL. If the extensions
-// did not do a redirect (so |new_url| is empty) then we enforce the
-// SafeSearch parameters. Otherwise we will get called again after the
-// redirect and we enforce SafeSearch then.
-void ForceGoogleSafeSearchCallbackWrapper(net::CompletionOnceCallback callback,
- net::URLRequest* request,
- GURL* new_url,
- int rv) {
- if (rv == net::OK && new_url->is_empty())
- safe_search_util::ForceGoogleSafeSearch(request->url(), new_url);
- std::move(callback).Run(rv);
-}
-
bool IsAccessAllowedInternal(const base::FilePath& path,
const base::FilePath& profile_path) {
if (g_access_to_all_files_enabled)
@@ -213,26 +200,8 @@ int ChromeNetworkDelegate::OnBeforeURLRequest(
GURL* new_url) {
extensions_delegate_->ForwardStartRequestStatus(request);
- // The non-redirect case is handled in GoogleURLLoaderThrottle.
- bool force_safe_search =
- (force_google_safe_search_ && force_google_safe_search_->GetValue() &&
- request->is_redirecting());
-
- net::CompletionOnceCallback wrapped_callback = std::move(callback);
-
- if (force_safe_search) {
- wrapped_callback = base::BindOnce(
- &ForceGoogleSafeSearchCallbackWrapper, std::move(wrapped_callback),
- base::Unretained(request), base::Unretained(new_url));
- }
-
- int rv = extensions_delegate_->NotifyBeforeURLRequest(
- request, std::move(wrapped_callback), new_url);
-
- if (force_safe_search && rv == net::OK && new_url->is_empty())
- safe_search_util::ForceGoogleSafeSearch(request->url(), new_url);
-
- return rv;
+ return extensions_delegate_->NotifyBeforeURLRequest(
+ request, std::move(callback), new_url);
}
int ChromeNetworkDelegate::OnBeforeStartTransaction(
--
2.11.0
@@ -10,7 +10,7 @@ Subject: Allow playing audio in background
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
--- a/media/blink/webmediaplayer_impl.cc
+++ b/media/blink/webmediaplayer_impl.cc
@@ -879,6 +879,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -908,6 +908,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -23,7 +23,7 @@ diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_imp
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const blink::WebVector<blink::WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -2993,7 +2999,10 @@ bool WebMediaPlayerImpl::ShouldPauseVideoWhenHidden() const {
@@ -3053,7 +3059,10 @@ bool WebMediaPlayerImpl::ShouldPauseVideoWhenHidden() const {
// If suspending background video, pause any video that's not remoted or
// not unlocked to play in the background.
if (IsBackgroundSuspendEnabled(delegate_)) {
@@ -1,7 +1,6 @@
From: xsmile <xsmile@users.noreply.github.com>
Date: Thu, 11 Oct 2018 21:29:35 +0200
Subject: Allow sign-in to Google sites like Gmail without signing in to
Chromium
Subject: Allow website sign-in without account sign-in
Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found in chrome://settings
---
@@ -11,7 +10,7 @@ Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
@@ -172,7 +172,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
@@ -175,7 +175,7 @@ void AccountConsistencyModeManager::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kAccountConsistencyMirrorRequired,
false);
#endif
@@ -11,7 +11,7 @@ Do not read experiment value for cronet async DNS configuration
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -202,7 +202,7 @@ void OnAuthPrefsChanged(const std::string& pref_name) {
@@ -216,7 +216,7 @@ void OnAuthPrefsChanged(PrefService* local_state,
// Android this includes checking the Android version in the field trial.
bool ShouldEnableAsyncDns() {
bool feature_can_be_enabled = true;
@@ -23,7 +23,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/components/cronet/url_request_context_config.cc b/components/cronet/url_request_context_config.cc
--- a/components/cronet/url_request_context_config.cc
+++ b/components/cronet/url_request_context_config.cc
@@ -466,7 +466,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
@@ -476,7 +476,8 @@ void URLRequestContextConfig::ParseAndSetExperimentalOptions(
effective_experimental_options->Remove(it.key(), nullptr);
continue;
}
@@ -43,7 +43,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/thir
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -315,6 +315,7 @@ void AudioContext::StopRendering() {
@@ -320,6 +320,7 @@ void AudioContext::StopRendering() {
double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());
@@ -43,7 +43,7 @@ diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/thi
return;
}
-
- Document* document = ToDocument(GetExecutionContext());
- Document* document = To<Document>(GetExecutionContext());
- DCHECK(document);
- if (document->IsContextPaused() || document->IsContextDestroyed())
- return;
@@ -21,9 +21,9 @@ New mechanism for adblocking based on Brave's adblocking hook
chrome/browser/net/chrome_network_delegate.cc | 62 ++++
.../subresource_filter_content_settings_manager.cc | 1 +
net/BUILD.gn | 7 +
net/url_request/adblock_intercept.cc | 325 +++++++++++++++++++++
net/url_request/adblock_intercept.h | 24 ++
12 files changed, 509 insertions(+)
net/url_request/adblock_intercept.cc | 341 +++++++++++++++++++++
net/url_request/adblock_intercept.h | 41 +++
12 files changed, 542 insertions(+)
create mode 100644 net/url_request/adblock_intercept.cc
create mode 100644 net/url_request/adblock_intercept.h
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -82,6 +82,17 @@
@@ -84,6 +84,17 @@
</menu>
</item>
@@ -73,7 +73,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2121,6 +2121,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2205,6 +2205,14 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
RecordUserAction.record("MobileMenuRequestEnableJavascript");
} else if (id == R.id.reader_mode_prefs_id) {
DomDistillerUIUtils.openSettings(currentTab.getWebContents());
@@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -1669,6 +1669,14 @@ public class ChromeTabbedActivity
@@ -1676,6 +1676,14 @@ public class ChromeTabbedActivity
reportNewTabShortcutUsed(true);
getTabCreator(true).launchNTP();
}
@@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuPropertiesDelegate.java
@@ -196,6 +196,8 @@ public class AppMenuPropertiesDelegate {
@@ -208,6 +208,8 @@ public class AppMenuPropertiesDelegate {
&& !TextUtils.isEmpty(url);
prepareAddToHomescreenMenuItem(menu, currentTab, canShowHomeScreenMenuItem);
@@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */);
updateEnableJavascriptMenuItem(menu, currentTab);
@@ -474,6 +476,42 @@ public class AppMenuPropertiesDelegate {
@@ -486,6 +488,42 @@ public class AppMenuPropertiesDelegate {
}
/**
@@ -164,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -171,6 +171,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -181,6 +181,8 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
}
}
@@ -176,7 +176,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd
--- a/chrome/android/java/strings/android_chrome_strings.grd
+++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2926,6 +2926,17 @@ To obtain new licenses, connect to the internet and play your downloaded content
@@ -2997,6 +2997,17 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_REQUEST_DESKTOP_SITE_OFF" desc="Accessibility description for when Request Desktop Site is disabled.">
Turn on Request desktop site
</message>
@@ -197,7 +197,7 @@ diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/and
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -24,6 +24,7 @@
@@ -25,6 +25,7 @@
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
@@ -205,7 +205,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
#include "chrome/browser/custom_handlers/protocol_handler_registry.h"
#include "chrome/browser/net/chrome_extensions_network_delegate.h"
@@ -57,6 +58,7 @@
@@ -60,6 +61,7 @@
#if defined(OS_ANDROID)
#include "base/android/path_utils.h"
#include "chrome/browser/io_thread.h"
@@ -213,7 +213,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
#endif
#if defined(OS_CHROMEOS)
@@ -174,15 +176,75 @@ void ChromeNetworkDelegate::set_cookie_settings(
@@ -194,16 +196,76 @@ void ChromeNetworkDelegate::set_cookie_settings(
cookie_settings_ = cookie_settings;
}
@@ -280,6 +280,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
+#endif // OS_ANDROID
+
extensions_delegate_->ForwardStartRequestStatus(request);
return extensions_delegate_->NotifyBeforeURLRequest(
request, std::move(callback), new_url);
}
@@ -303,7 +304,7 @@ diff --git a/chrome/browser/subresource_filter/subresource_filter_content_settin
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1712,6 +1712,13 @@ component("net") {
@@ -1731,6 +1731,13 @@ component("net") {
"url_request/websocket_handshake_userdata_key.h",
]
@@ -321,7 +322,23 @@ diff --git a/net/url_request/adblock_intercept.cc b/net/url_request/adblock_inte
new file mode 100644
--- /dev/null
+++ b/net/url_request/adblock_intercept.cc
@@ -0,0 +1,325 @@
@@ -0,0 +1,341 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+#include "url/gurl.h"
+
+#ifdef ADB_TESTER
@@ -651,7 +668,24 @@ diff --git a/net/url_request/adblock_intercept.h b/net/url_request/adblock_inter
new file mode 100644
--- /dev/null
+++ b/net/url_request/adblock_intercept.h
@@ -0,0 +1,24 @@
@@ -0,0 +1,41 @@
+/*
+ This file is part of Bromite.
+
+ Bromite is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ Bromite is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#ifndef NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
+#define NET_URL_REQUEST_ADBLOCK_INTERCEPT_H_
+
@@ -10,13 +10,35 @@ without a visible effect.
Credits to Slaviro (https://github.com/Slaviro) for coming up with a better
approach to change color components.
---
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 4 +-
.../modules/webgl/webgl_debug_renderer_info.cc | 4 +-
third_party/blink/renderer/platform/BUILD.gn | 4 +-
.../platform/graphics/image_data_buffer.cc | 5 +
.../platform/graphics/static_bitmap_image.cc | 156 +++++++++++++++++++++
.../platform/graphics/static_bitmap_image.h | 2 +
5 files changed, 168 insertions(+), 3 deletions(-)
6 files changed, 169 insertions(+), 6 deletions(-)
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc
@@ -33,8 +33,6 @@
#include "third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.h"
-#include "base/rand_util.h"
-
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/public/platform/web_scroll_into_view_params.h"
@@ -788,7 +786,7 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
GetState().GetTextAlign(), text);
// scale text metrics by 3/1000000th
- auto shuffleFactor = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleFactor = 1 + (canvas()->GetDocument().GetShuffleFactorX() - 0.5) * 0.000003;
textMetrics->Shuffle(shuffleFactor);
return textMetrics;
diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc b/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
--- a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.cc
@@ -37,7 +59,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_debug_renderer_info.
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1428,7 +1428,9 @@ jumbo_component("platform") {
@@ -1432,7 +1432,9 @@ jumbo_component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@@ -87,10 +109,10 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
#include "third_party/skia/include/core/SkImage.h"
#include "third_party/skia/include/core/SkPaint.h"
+#include "third_party/skia/src/core/SkColorData.h"
#include "third_party/skia/include/core/SkSurface.h"
#include "third_party/skia/include/gpu/GrContext.h"
namespace blink {
@@ -154,10 +157,163 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
@@ -176,10 +179,163 @@ bool StaticBitmapImage::ConvertToArrayBufferContents(
DCHECK(read_pixels_successful ||
!sk_image->bounds().intersect(SkIRect::MakeXYWH(
rect.X(), rect.Y(), info.width(), info.height())));
@@ -9,8 +9,8 @@ Subject: Disable NTP remote suggestions by default
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
+++ b/components/ntp_snippets/features.cc
@@ -39,13 +39,13 @@ const base::Feature kArticleSuggestionsExpandableHeader{
"NTPArticleSuggestionsExpandableHeader", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -35,13 +35,13 @@ const base::Feature* const kAllFeatures[] = {
&kRemoteSuggestionsBackendFeature};
const base::Feature kArticleSuggestionsFeature{
- "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -22,7 +22,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/net/spdyproxy/DataReductionProxySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java
@@ -153,6 +153,7 @@ public class DataReductionProxySettings {
@@ -131,6 +131,7 @@ public class DataReductionProxySettings {
// DataReductionProxySettings is a singleton that lives forever and there's no clean
// shutdown of Chrome on Android
mNativeDataReductionProxySettings = nativeInit();
@@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/net/spdyproxy/D
}
/** Returns true if the SPDY proxy promo is allowed to be shown. */
@@ -175,6 +176,7 @@ public class DataReductionProxySettings {
@@ -153,6 +154,7 @@ public class DataReductionProxySettings {
* data reduction statistics if this is the first time the SPDY proxy has been enabled.
*/
public void setDataReductionProxyEnabled(Context context, boolean enabled) {
@@ -4,8 +4,8 @@ Subject: Disable fetching of all field trials
---
.../src/org/chromium/chrome/browser/ChromeFeatureList.java | 12 +++---------
components/variations/service/variations_service.cc | 4 ++++
2 files changed, 7 insertions(+), 9 deletions(-)
components/variations/service/variations_service.cc | 12 +-----------
2 files changed, 4 insertions(+), 20 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureList.java
@@ -46,21 +46,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeFeatureLi
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
--- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc
@@ -225,6 +225,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
@@ -232,17 +232,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {
+#if 0
#if !defined(GOOGLE_CHROME_BUILD)
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kVariationsServerURL) &&
@@ -236,6 +237,9 @@ bool IsFetchingEnabled() {
}
#endif
return true;
+#else
-#if !defined(GOOGLE_CHROME_BUILD)
- if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kVariationsServerURL) &&
- !g_should_fetch_for_testing) {
- DVLOG(1)
- << "Not performing repeated fetching in unofficial build without --"
- << switches::kVariationsServerURL << " specified.";
- return false;
- }
-#endif
- return true;
+ return false;
+#endif
}
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
@@ -9,7 +9,7 @@ Subject: Disable metrics on all I/O threads
diff --git a/chrome/browser/profiles/profile_io_data.cc b/chrome/browser/profiles/profile_io_data.cc
--- a/chrome/browser/profiles/profile_io_data.cc
+++ b/chrome/browser/profiles/profile_io_data.cc
@@ -956,7 +956,7 @@ void ProfileIOData::InitializeMetricsEnabledStateOnUIThread() {
@@ -873,7 +873,7 @@ void ProfileIOData::InitializeMetricsEnabledStateOnUIThread() {
bool ProfileIOData::GetMetricsEnabledStateOnIOThread() const {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@@ -9,7 +9,7 @@ Subject: Disable plugins enumeration
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -1219,10 +1219,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
@@ -1294,10 +1294,8 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -0,0 +1,169 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 10 Nov 2018 17:20:21 +0100
Subject: Disable promos displayed in bookmarks manager
Remove personalized signin promo view from
bookmarks, never reach signin thresholds.
---
.../personalized_signin_promo_view_bookmarks.xml | 30 ----------------------
.../browser/bookmarks/BookmarkItemsAdapter.java | 23 ++---------------
.../browser/signin/SigninPromoController.java | 19 ++------------
chrome/android/java_sources.gni | 1 -
4 files changed, 4 insertions(+), 69 deletions(-)
delete mode 100644 chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
diff --git a/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml b/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
deleted file mode 100644
--- a/chrome/android/java/res/layout/personalized_signin_promo_view_bookmarks.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright 2017 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. -->
-
-<org.chromium.chrome.browser.signin.PersonalizedSigninPromoView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/signin_promo_view_container"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_margin="16dp"
- android:background="@drawable/hairline_border_card_background"
- android:gravity="center_horizontal"
- android:orientation="vertical"
- android:paddingBottom="12dp"
- android:paddingTop="14dp">
-
- <FrameLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="12dp"
- android:layout_marginEnd="12dp"
- android:layout_marginStart="12dp">
-
- <include layout="@layout/personalized_signin_promo_view_header"/>
- </FrameLayout>
-
- <include layout="@layout/personalized_signin_promo_view_body"/>
-
-</org.chromium.chrome.browser.signin.PersonalizedSigninPromoView>
\ No newline at end of file
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
@@ -57,7 +57,6 @@ class BookmarkItemsAdapter
private BookmarkDelegate mDelegate;
private Context mContext;
- private BookmarkPromoHeader mPromoHeaderManager;
private String mSearchText;
private BookmarkId mCurrentFolder;
@@ -211,9 +210,9 @@ class BookmarkItemsAdapter
switch (viewType) {
case ViewType.PERSONALIZED_SIGNIN_PROMO:
- return mPromoHeaderManager.createPersonalizedSigninPromoHolder(parent);
+ return null;
case ViewType.SYNC_PROMO:
- return mPromoHeaderManager.createSyncPromoHolder(parent);
+ return null;
case ViewType.FOLDER:
BookmarkFolderRow folder = (BookmarkFolderRow) LayoutInflater.from(
parent.getContext()).inflate(R.layout.bookmark_folder_row, parent, false);
@@ -234,8 +233,6 @@ class BookmarkItemsAdapter
public void onBindViewHolder(ViewHolder holder, int position) {
switch (holder.getItemViewType()) {
case ViewType.PERSONALIZED_SIGNIN_PROMO:
- PersonalizedSigninPromoView view = (PersonalizedSigninPromoView) holder.itemView;
- mPromoHeaderManager.setupPersonalizedSigninPromo(view);
break;
case ViewType.SYNC_PROMO:
break;
@@ -254,7 +251,6 @@ class BookmarkItemsAdapter
public void onViewRecycled(ViewHolder holder) {
switch (holder.getItemViewType()) {
case ViewType.PERSONALIZED_SIGNIN_PROMO:
- mPromoHeaderManager.detachPersonalizePromoView();
break;
default:
// Other view holders don't have special recycling code.
@@ -289,7 +285,6 @@ class BookmarkItemsAdapter
}
};
- mPromoHeaderManager = new BookmarkPromoHeader(mContext, promoHeaderChangeAction);
populateTopLevelFoldersList();
notifyDataSetChanged();
}
@@ -300,7 +295,6 @@ class BookmarkItemsAdapter
mDelegate.removeUIObserver(this);
mDelegate.getModel().removeObserver(mBookmarkModelObserver);
mDelegate = null;
- mPromoHeaderManager.destroy();
}
@Override
@@ -367,19 +361,6 @@ class BookmarkItemsAdapter
if (currentUIState == BookmarkUIState.STATE_SEARCHING) return;
assert currentUIState == BookmarkUIState.STATE_FOLDER : "Unexpected UI state";
-
- switch (mPromoHeaderManager.getPromoState()) {
- case BookmarkPromoHeader.PromoState.PROMO_NONE:
- return;
- case BookmarkPromoHeader.PromoState.PROMO_SIGNIN_PERSONALIZED:
- mPromoHeaderSection.add(ViewType.PERSONALIZED_SIGNIN_PROMO);
- return;
- case BookmarkPromoHeader.PromoState.PROMO_SYNC:
- mPromoHeaderSection.add(ViewType.SYNC_PROMO);
- return;
- default:
- assert false : "Unexpected value for promo state!";
- }
}
private void populateTopLevelFoldersList() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninPromoController.java
@@ -77,23 +77,8 @@ public class SigninPromoController {
*/
public static boolean hasNotReachedImpressionLimit(@AccessPoint int accessPoint) {
SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences();
- switch (accessPoint) {
- case SigninAccessPoint.BOOKMARK_MANAGER:
- return sharedPreferences.getInt(SIGNIN_PROMO_IMPRESSIONS_COUNT_BOOKMARKS, 0)
- < MAX_IMPRESSIONS_BOOKMARKS;
- case SigninAccessPoint.NTP_CONTENT_SUGGESTIONS:
- // There is no impression limit for NTP content suggestions.
- return true;
- case SigninAccessPoint.RECENT_TABS:
- // There is no impression limit for Recent Tabs.
- return true;
- case SigninAccessPoint.SETTINGS:
- return sharedPreferences.getInt(SIGNIN_PROMO_IMPRESSIONS_COUNT_SETTINGS, 0)
- < MAX_IMPRESSIONS_SETTINGS;
- default:
- assert false : "Unexpected value for access point: " + accessPoint;
- return false;
- }
+ // never show anything
+ return true;
}
/**
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -140,7 +140,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java",
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkModel.java",
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkPage.java",
- "java/src/org/chromium/chrome/browser/bookmarks/BookmarkPromoHeader.java",
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkRow.java",
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIObserver.java",
"java/src/org/chromium/chrome/browser/bookmarks/BookmarkUIState.java",
--
2.11.0
@@ -4,45 +4,41 @@ Subject: Disable signin and data saver preferences
Never show the data saver promo snackbar
---
chrome/android/java/res/xml/main_preferences.xml | 8 ++---
chrome/android/java/res/xml/main_preferences.xml | 9 -----
.../chromium/chrome/browser/ChromeActivity.java | 6 ++--
.../browser/preferences/MainPreferences.java | 42 ++++++++++++----------
3 files changed, 31 insertions(+), 25 deletions(-)
.../browser/preferences/MainPreferences.java | 39 +++++++++++-----------
3 files changed, 24 insertions(+), 30 deletions(-)
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -10,10 +10,10 @@
@@ -10,10 +10,6 @@
android:key="account_section"
android:order="0"
android:title="@string/prefs_section_account"/>
- <org.chromium.chrome.browser.preferences.SignInPreference
+ <!-- org.chromium.chrome.browser.preferences.SignInPreference
android:key="sign_in"
android:order="1"
- android:key="sign_in"
- android:order="1"
- android:title="@string/sign_in_to_chrome"/>
+ android:title="@string/sign_in_to_chrome"/-->
<org.chromium.chrome.browser.preferences.ChromeBasePreference
android:fragment="org.chromium.chrome.browser.preferences.SyncAndServicesPreferences"
android:key="sync_and_services"
@@ -79,11 +79,11 @@
android:key="languages"
android:order="14"
android:title="@string/prefs_languages"/>
- <org.chromium.chrome.browser.preferences.ChromeBasePreference
+ <!-- org.chromium.chrome.browser.preferences.ChromeBasePreference
android:fragment="org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferences"
android:key="data_reduction"
@@ -85,11 +81,6 @@
android:order="15"
- android:title="@string/data_reduction_title"/>
+ android:title="@string/data_reduction_title"/-->
android:title="@string/prefs_languages"/>
<org.chromium.chrome.browser.preferences.ChromeBasePreference
- android:fragment="org.chromium.chrome.browser.preferences.datareduction.DataReductionPreferences"
- android:key="data_reduction"
- android:order="16"
- android:title="@string/data_reduction_title"/>
- <org.chromium.chrome.browser.preferences.ChromeBasePreference
android:fragment="org.chromium.chrome.browser.preferences.download.DownloadPreferences"
android:key="downloads"
android:order="17"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -114,7 +114,7 @@ import org.chromium.chrome.browser.printing.TabPrinter;
@@ -118,7 +118,7 @@ import org.chromium.chrome.browser.printing.TabPrinter;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.share.ShareMenuActionHandler;
import org.chromium.chrome.browser.snackbar.BottomContainer;
@@ -51,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
import org.chromium.chrome.browser.snackbar.SnackbarManager;
import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.chrome.browser.sync.ProfileSyncService;
@@ -252,7 +252,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -263,7 +263,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
protected ReaderModeManager mReaderModeManager;
private SnackbarManager mSnackbarManager;
private ModalDialogManager mModalDialogManager;
@@ -60,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
private AppMenuPropertiesDelegate mAppMenuPropertiesDelegate;
private AppMenuHandler mAppMenuHandler;
private ToolbarManager mToolbarManager;
@@ -600,6 +600,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -666,6 +666,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(mTabModelSelector) {
@Override
public void didFirstVisuallyNonEmptyPaint(Tab tab) {
@@ -68,7 +64,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
// Only alert about data savings once the first paint has happened. It
// doesn't make sense to show a snackbar about savings when nothing has been
// displayed yet.
@@ -613,6 +614,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -679,6 +680,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
DataReductionProxySettings.getInstance()
.getTotalHttpContentLengthSaved());
}
@@ -79,10 +75,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/MainPreferences.java
@@ -18,9 +18,9 @@ import org.chromium.chrome.R;
@@ -17,9 +17,9 @@ import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.autofill.PersonalDataManager;
import org.chromium.chrome.browser.contextual_suggestions.EnabledStateMonitor;
import org.chromium.chrome.browser.contextual_suggestions.ContextualSuggestionsEnabledStateUtils;
-import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
+//import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.partnercustomizations.HomepageManager;
@@ -91,32 +87,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
import org.chromium.chrome.browser.search_engines.TemplateUrl;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.signin.SigninManager;
@@ -35,21 +35,21 @@ import java.util.Map;
@@ -34,13 +34,11 @@ import java.util.Map;
public class MainPreferences extends PreferenceFragment
implements SigninManager.SignInStateObserver, TemplateUrlService.LoadListener {
public static final String PREF_ACCOUNT_SECTION = "account_section";
- public static final String PREF_SIGN_IN = "sign_in";
+// public static final String PREF_SIGN_IN = "sign_in";
public static final String PREF_SYNC_AND_SERVICES = "sync_and_services";
public static final String PREF_AUTOFILL_SETTINGS = "autofill_settings";
public static final String PREF_SEARCH_ENGINE = "search_engine";
public static final String PREF_SAVED_PASSWORDS = "saved_passwords";
public static final String PREF_CONTEXTUAL_SUGGESTIONS = "contextual_suggestions";
public static final String PREF_HOMEPAGE = "homepage";
- public static final String PREF_DATA_REDUCTION = "data_reduction";
+// public static final String PREF_DATA_REDUCTION = "data_reduction";
public static final String PREF_NOTIFICATIONS = "notifications";
public static final String PREF_LANGUAGES = "languages";
public static final String PREF_DOWNLOADS = "downloads";
@@ -52,7 +50,6 @@ public class MainPreferences extends PreferenceFragment
private final ManagedPreferenceDelegate mManagedPreferenceDelegate;
private final Map<String, Preference> mAllPreferences = new HashMap<>();
- private SignInPreference mSignInPreference;
+// private SignInPreference mSignInPreference;
public MainPreferences() {
setHasOptionsMenu(true);
@@ -65,25 +65,29 @@ public class MainPreferences extends PreferenceFragment
@@ -68,25 +65,29 @@ public class MainPreferences extends PreferenceFragment
@Override
public void onDestroy() {
super.onDestroy();
@@ -147,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
@Override
@@ -96,9 +100,9 @@ public class MainPreferences extends PreferenceFragment
@@ -99,16 +100,16 @@ public class MainPreferences extends PreferenceFragment
PreferenceUtils.addPreferencesFromResource(this, R.xml.main_preferences);
cachePreferences();
@@ -159,16 +152,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
getPreferenceScreen().removePreference(findPreference(PREF_ACCOUNT_SECTION));
getPreferenceScreen().removePreference(findPreference(PREF_SYNC_AND_SERVICES));
}
@@ -106,7 +110,7 @@ public class MainPreferences extends PreferenceFragment
setManagedPreferenceDelegateForPreference(PREF_SEARCH_ENGINE);
setManagedPreferenceDelegateForPreference(PREF_AUTOFILL_SETTINGS);
setManagedPreferenceDelegateForPreference(PREF_SAVED_PASSWORDS);
- setManagedPreferenceDelegateForPreference(PREF_DATA_REDUCTION);
+ //setManagedPreferenceDelegateForPreference(PREF_DATA_REDUCTION);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// If we are on Android O+ the Notifications preference should lead to the Android
@@ -162,7 +166,7 @@ public class MainPreferences extends PreferenceFragment
@@ -164,7 +165,7 @@ public class MainPreferences extends PreferenceFragment
Preference preference = getPreferenceScreen().getPreference(index);
mAllPreferences.put(preference.getKey(), preference);
}
@@ -177,7 +169,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
private void setManagedPreferenceDelegateForPreference(String key) {
@@ -171,12 +175,6 @@ public class MainPreferences extends PreferenceFragment
@@ -173,12 +174,6 @@ public class MainPreferences extends PreferenceFragment
}
private void updatePreferences() {
@@ -190,7 +182,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
updateSearchEnginePreference();
if (HomepageManager.shouldShowHomepageSetting()) {
@@ -197,9 +195,11 @@ public class MainPreferences extends PreferenceFragment
@@ -201,9 +196,11 @@ public class MainPreferences extends PreferenceFragment
removePreferenceIfPresent(PREF_CONTEXTUAL_SUGGESTIONS);
}
@@ -202,7 +194,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
private Preference addPreferenceIfAbsent(String key) {
@@ -250,11 +250,11 @@ public class MainPreferences extends PreferenceFragment
@@ -254,11 +251,11 @@ public class MainPreferences extends PreferenceFragment
private void onSignInPreferenceStateChanged() {
// Remove "Account" section header if the personalized sign-in promo is shown.
@@ -217,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
}
// TemplateUrlService.LoadListener implementation.
@@ -280,9 +280,11 @@ public class MainPreferences extends PreferenceFragment
@@ -280,9 +277,11 @@ public class MainPreferences extends PreferenceFragment
if (PREF_SAVED_PASSWORDS.equals(preference.getKey())) {
return PrefServiceBridge.getInstance().isRememberPasswordsManaged();
}
@@ -229,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/Mai
if (PREF_SEARCH_ENGINE.equals(preference.getKey())) {
return TemplateUrlService.getInstance().isDefaultSearchManaged();
}
@@ -304,11 +306,13 @@ public class MainPreferences extends PreferenceFragment
@@ -296,11 +295,13 @@ public class MainPreferences extends PreferenceFragment
return prefs.isRememberPasswordsManaged()
&& !prefs.isRememberPasswordsEnabled();
}
@@ -9,7 +9,7 @@ Subject: Disable signin/data reduction promos
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -601,7 +601,7 @@ public class ChromeTabbedActivity
@@ -603,7 +603,7 @@ public class ChromeTabbedActivity
// TODO(tedchoc): Unify promo dialog logic as the search engine promo dialog checks
// might not have completed at this point and we could show multiple
// promos.
@@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
// Promo dialogs in multiwindow mode are broken on some devices: http://crbug.com/354696
boolean isLegacyMultiWindow = MultiWindowUtils.getInstance().isLegacyMultiWindow(this);
if (!isShowingPromo && !mIntentWithEffect && FirstRunStatus.getFirstRunFlowComplete()
@@ -619,7 +619,7 @@ public class ChromeTabbedActivity
@@ -621,7 +621,7 @@ public class ChromeTabbedActivity
ChromePreferenceManager.PROMOS_SKIPPED_ON_FIRST_START, true);
}
@@ -10,7 +10,7 @@ Disable all omissions (already shadowed by first flag)
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
@@ -412,12 +412,12 @@ IDNConversionStatus IDNToUnicodeOneComponent(const base::char16* comp,
@@ -410,12 +410,12 @@ IDNConversionStatus IDNToUnicodeOneComponent(const base::char16* comp,
} // namespace
const FormatUrlType kFormatUrlOmitNothing = 0;
@@ -0,0 +1,23 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 10 Nov 2018 19:47:39 +0100
Subject: Do not grant notifications to default search engine
---
chrome/common/chrome_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -296,7 +296,7 @@ const base::Feature kGeoLanguage{"GeoLanguage",
#if defined(OS_ANDROID)
const base::Feature kGrantNotificationsToDSE{"GrantNotificationsToDSE",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
#endif // defined(OS_ANDROID)
#if defined (OS_CHROMEOS)
--
2.11.0
@@ -9,7 +9,7 @@ Subject: Do not store passwords by default
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -266,10 +266,10 @@ bool IsThereVisiblePasswordField(const FormData& form) {
@@ -363,10 +363,10 @@ void RecordParsingOnSavingDifference(
void PasswordManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
@@ -0,0 +1,23 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 5 Nov 2018 09:39:50 +0100
Subject: Enable TLS 1.3 (final) by default
---
chrome/browser/ssl/ssl_config_service_manager_pref.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/browser/ssl/ssl_config_service_manager_pref.cc b/chrome/browser/ssl/ssl_config_service_manager_pref.cc
--- a/chrome/browser/ssl/ssl_config_service_manager_pref.cc
+++ b/chrome/browser/ssl/ssl_config_service_manager_pref.cc
@@ -180,7 +180,7 @@ SSLConfigServiceManagerPref::SSLConfigServiceManagerPref(
} else if (tls13_variant == "draft23") {
tls13_value = switches::kTLS13VariantDraft23;
version_value = switches::kSSLVersionTLSv13;
- } else if (tls13_variant == "final") {
+ } else if (tls13_variant == "final" || tls13_variant.empty()) {
tls13_value = switches::kTLS13VariantFinal;
version_value = switches::kSSLVersionTLSv13;
}
--
2.11.0
@@ -10,7 +10,7 @@ Set #enable-history-entry-requires-user-gesture to enabled by default
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -1486,7 +1486,7 @@ const FeatureEntry kFeatureEntries[] = {
@@ -1511,7 +1511,7 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-history-entry-requires-user-gesture",
flag_descriptions::kHistoryRequiresUserGestureName,
flag_descriptions::kHistoryRequiresUserGestureDescription, kOsAll,
@@ -9,7 +9,7 @@ Subject: 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
@@ -675,6 +675,9 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
@@ -677,6 +677,9 @@ PermissionResult PermissionManager::GetPermissionStatusHelper(
GURL canonical_requesting_origin =
GetCanonicalOrigin(requesting_origin, embedding_origin);
PermissionContextBase* context = GetPermissionContext(permission);
@@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 12 Jun 2018 15:03:29 +0200
Subject: Hide "Send reports to Google"
Subject: Hide send reports checkbox
---
chrome/android/java/res/layout/fre_tosanduma.xml | 2 +-
@@ -36,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
@@ -1041,7 +1041,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1053,7 +1053,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -96,7 +96,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
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
@@ -385,8 +385,8 @@ void ForceWebBasedSigninFlowForTesting(bool force) {
@@ -353,8 +353,8 @@ void ForceWebBasedSigninFlowForTesting(bool force) {
void RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterIntegerPref(prefs::kSignInPromoStartupCount, 0);
@@ -139,7 +139,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
@@ -143,10 +143,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
@@ -127,10 +127,6 @@ void LocalDiscoveryUI::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kLocalDiscoveryNotificationsEnabled,
@@ -165,7 +165,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
@@ -288,10 +288,7 @@ bool AutofillManager::ShouldShowCreditCardSigninPromo(
@@ -290,10 +290,7 @@ bool AutofillManager::ShouldShowCreditCardSigninPromo(
bool AutofillManager::ShouldParseForms(const std::vector<FormData>& forms,
const base::TimeTicks timestamp) {
bool enabled = IsAutofillEnabled();
@@ -180,7 +180,7 @@ diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/a
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
--- a/components/autofill/core/common/autofill_prefs.cc
+++ b/components/autofill/core/common/autofill_prefs.cc
@@ -75,10 +75,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -91,10 +91,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kAutofillBillingCustomerNumber, 0.0,
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
registry->RegisterBooleanPref(
@@ -193,7 +193,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterIntegerPref(
prefs::kAutofillLastVersionDeduped, 0,
@@ -87,7 +87,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -103,7 +103,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
prefs::kAutofillLastVersionDisusedAddressesDeleted, 0,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
@@ -205,7 +205,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmarks/browser/bookmark_utils.cc
--- a/components/bookmarks/browser/bookmark_utils.cc
+++ b/components/bookmarks/browser/bookmark_utils.cc
@@ -443,12 +443,12 @@ void GetBookmarksMatchingProperties(BookmarkModel* model,
@@ -441,12 +441,12 @@ void GetBookmarksMatchingProperties(BookmarkModel* model,
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kShowBookmarkBar,
@@ -223,7 +223,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
@@ -282,9 +282,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -229,9 +229,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
@@ -238,7 +238,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
@@ -366,14 +366,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
@@ -367,14 +367,6 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
if (is_theme())
return false;
@@ -9,7 +9,7 @@ Subject: Offer builtin autocomplete for chrome://flags
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -228,6 +228,8 @@ std::vector<base::string16>
@@ -242,6 +242,8 @@ std::vector<base::string16>
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<base::string16> builtins_to_provide;
builtins_to_provide.push_back(
@@ -9,7 +9,7 @@ Subject: Open YouTube links in Bromite
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -384,6 +384,13 @@ public class ExternalNavigationHandler {
@@ -386,6 +386,13 @@ public class ExternalNavigationHandler {
return OverrideUrlLoadingResult.NO_OVERRIDE;
}
@@ -10,7 +10,7 @@ Originally from http://bazaar.launchpad.net/~saiarcot895/chromium-browser/chromi
diff --git a/chrome/common/chrome_content_client.cc b/chrome/common/chrome_content_client.cc
--- a/chrome/common/chrome_content_client.cc
+++ b/chrome/common/chrome_content_client.cc
@@ -531,7 +531,7 @@ void ChromeContentClient::AddContentDecryptionModules(
@@ -538,7 +538,7 @@ void ChromeContentClient::AddContentDecryptionModules(
base::FilePath cdm_path;
content::CdmCapability capability;
if (IsWidevineAvailable(&cdm_path, &capability)) {
@@ -0,0 +1,118 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 10 Nov 2018 16:09:26 +0100
Subject: Reduce permissions needed for bookmarks import/export
Completely remove contacts picker permission from the file dialog
---
chrome/android/java/AndroidManifest.xml | 1 -
chrome/browser/android/bookmarks/bookmark_bridge.cc | 20 +++++++++++++++++---
.../src/org/chromium/ui/base/SelectFileDialog.java | 12 ++++++++----
3 files changed, 25 insertions(+), 8 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -35,7 +35,6 @@ by a child template that "extends" this file.
{% endif %}
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
- <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
<uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
<uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc
@@ -552,14 +552,23 @@ void BookmarkBridge::ImportBookmarks(JNIEnv* env,
select_file_dialog_ = ui::SelectFileDialog::Create(
this, std::make_unique<ChromeSelectFilePolicy>(nullptr));
- //NOTE: extension and description are not used on Android
+ //NOTE: extension and description are not used on Android, thus not set
ui::SelectFileDialog::FileTypeInfo file_type_info;
+
+#if defined(OS_ANDROID)
+ static const std::vector<base::string16> v_accept_types = { base::UTF8ToUTF16("text/html") };
+
+ // Android needs the original MIME types and an additional capture value.
+ std::pair<std::vector<base::string16>, bool> accept_types =
+ std::make_pair(v_accept_types, /* use_media_capture */ false);
+#else
file_type_info.extensions.resize(1);
file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("html"));
file_type_info.extensions[0].push_back(FILE_PATH_LITERAL("htm"));
file_type_info.extension_description_overrides.push_back(base::ASCIIToUTF16("Netscape Bookmark"));
file_type_info.allowed_paths =
- ui::SelectFileDialog::FileTypeInfo::NATIVE_OR_DRIVE_PATH;
+ ui::SelectFileDialog::FileTypeInfo::ANY_PATH;
+#endif
select_file_dialog_->SelectFile(
ui::SelectFileDialog::SELECT_OPEN_FILE,
@@ -569,7 +578,12 @@ void BookmarkBridge::ImportBookmarks(JNIEnv* env,
0,
base::FilePath::StringType(),
window,
- NULL);
+#if defined(OS_ANDROID)
+ &accept_types
+#else
+ NULL
+#endif
+);
//NOTE: this should be called after the actual import
Java_BookmarkBridge_bookmarksImported(env, obj);
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -52,6 +52,7 @@ public class SelectFileDialog
private static final String IMAGE_TYPE = "image/";
private static final String VIDEO_TYPE = "video/";
private static final String AUDIO_TYPE = "audio/";
+ private static final String HTML_TYPE = "text/html";
private static final String ALL_IMAGE_TYPES = IMAGE_TYPE + "*";
private static final String ALL_VIDEO_TYPES = VIDEO_TYPE + "*";
private static final String ALL_AUDIO_TYPES = AUDIO_TYPE + "*";
@@ -159,7 +160,7 @@ public class SelectFileDialog
if (!window.hasPermission(Manifest.permission.READ_CONTACTS)) {
missingPermissions.add(Manifest.permission.READ_CONTACTS);
}
- } else if (shouldUsePhotoPicker()) {
+ } else if (shouldUsePhotoPicker() || shouldShowHtmlTypes()) {
if (!window.hasPermission(Manifest.permission.READ_EXTERNAL_STORAGE)) {
missingPermissions.add(Manifest.permission.READ_EXTERNAL_STORAGE);
}
@@ -324,9 +325,7 @@ public class SelectFileDialog
* 3.) There is a valid Android Activity associated with the file request.
*/
private boolean shouldUseContactsPicker() {
- if (mFileTypes.size() != 1) return false;
- if (!mFileTypes.get(0).equals("text/json+contacts")) return false;
- return UiUtils.shouldShowContactsPicker() && mWindowAndroid.getActivity().get() != null;
+ return false;
}
/**
@@ -347,6 +346,7 @@ public class SelectFileDialog
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
+ if (mimeTypes.size() == 0) return null;
return mimeTypes;
}
@@ -649,6 +649,10 @@ public class SelectFileDialog
return countAcceptTypesFor(specificType) > 0;
}
+ private boolean shouldShowHtmlTypes() {
+ return countAcceptTypesFor(HTML_TYPE) > 0;
+ }
+
private boolean shouldShowImageTypes() {
return shouldShowTypes(ALL_IMAGE_TYPES, IMAGE_TYPE);
}
--
2.11.0
@@ -8,9 +8,9 @@ Subject: Remove Sync and Translate menu
.../java/res/drawable-xhdpi/settings_translate.png | Bin 547 -> 0 bytes
.../res/drawable-xxhdpi/settings_translate.png | Bin 793 -> 0 bytes
.../res/drawable-xxxhdpi/settings_translate.png | Bin 1038 -> 0 bytes
.../java/res/xml/site_settings_preferences.xml | 8 +++----
.../website/SiteSettingsPreferences.java | 23 +++------------------
7 files changed, 7 insertions(+), 24 deletions(-)
.../java/res/xml/site_settings_preferences.xml | 8 ++++----
.../website/SiteSettingsPreferences.java | 22 ++-------------------
7 files changed, 6 insertions(+), 24 deletions(-)
delete mode 100644 chrome/android/java/res/drawable-hdpi/settings_translate.png
delete mode 100644 chrome/android/java/res/drawable-mdpi/settings_translate.png
delete mode 100644 chrome/android/java/res/drawable-xhdpi/settings_translate.png
@@ -20,20 +20,111 @@ Subject: Remove Sync and Translate menu
diff --git a/chrome/android/java/res/drawable-hdpi/settings_translate.png b/chrome/android/java/res/drawable-hdpi/settings_translate.png
deleted file mode 100644
index 8067680e81c6ffa1a003c579411173827a3a9f96..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 399
zcmV;A0dW3_P)<h;3K|Lk000e1NJLTq001Na001Ni1ONa4O9@aD00042Nkl<ZcwWuc
zJxjwt0LJme7er{c_yr2Oml}2V3s~G9aP6!}z(tU5et?4AT-<~%x+sFhO}e^tsU(Y=
z0hgddd^pNsLc+Z{l>hP^9KR_C@$!FaVIla45F@WCMg$)o)DW3mQKSdON+{NY%D^rw
zQ6|u}ti|NX7$R7iF@)z*9c+qa0?AUm<7d7%a4MD+^aKw>u^zc5))3o43mLu<Vh_0s
z^onI1i*NbG31VmP*$I~u^o9@~3%Mjy{|2j}Ph4OPO<b`i*Ms^ERzc?^JnUm8&>5G;
z8!SRo0o`C5w_HXQp+hq2?!?{u8c0%8C3Jue>()aulqxVESiz93aydblXyA)AxSXIZ
z^u+3MIY49igeSZ=wug@XJ`tWQp%m)~(480Xl-fZ9?!ILEyg9Ig+E_v&p@gTlA*4tf
tij`2N2SrL~qywpbE;5V|EcpMCd%u4DGPZTzo=E@z002ovPDHLkV1m$asKNjM
diff --git a/chrome/android/java/res/drawable-mdpi/settings_translate.png b/chrome/android/java/res/drawable-mdpi/settings_translate.png
deleted file mode 100644
index 3b9b4cd482d36a60d4ff0a110b0bcefabe4c1060..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 284
zcmV+%0ptFOP)<h;3K|Lk000e1NJLTq000;O000;W1ONa4N`Cco0002vNkl<ZcwV*C
zy$-=p90hPI21^H{kVr7~0h$;*gq(zkcms==tbG8pC$M2)sTe$f#Kz1feE^(W(wipt
z>YqeTIHw=KscAEhFY_CKhZ7#j@Qh~#`t~HT1AWt&iOFYBic(;rl@5Y9UG&&#fH`9r
zbqhPT0Nhc-8hg~aB!JnVj0zT9La;<0Ijq#SJr@m*036I22Uj!E;6TtuAD4*o-y97Z
ziWuYbs-FagXn-mvsLH_>O?Hzl1RVtIfGq+yWZ%bGZULC0h?xp|DgiD=uf=xl!2Uvo
icHkLEh=B&e`~;qlBW{m=6s{@&0000<MNUMnLSTX)y>C|l
diff --git a/chrome/android/java/res/drawable-xhdpi/settings_translate.png b/chrome/android/java/res/drawable-xhdpi/settings_translate.png
deleted file mode 100644
index 131a57394ca30dcff4bebcb2471bbbf0e1ac134e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 547
zcmV+;0^I$HP)<h;3K|Lk000e1NJLTq001xm001xu1ONa4{R=S+0005%Nkl<ZcwX(-
zziU%b9ER~X&>vK2=pT?4!CJ8B5V|`lSO?MdsRak2|3E2<Ew~ov3nC6K4yBGdHyIT=
z*iKQTa&gEaRP2_R<9E1(_FiJ{F<-%<Je=X3K5*}FI12x`^1wNOsFIKphLn;}MY&1<
zRa%6SwW!7e2_d2+9!QG-C&)S}0;KUkhyudj0~b#<hpahU{YD2gq>+I}uBO%C0%8~2
zqX2{ZjJTXFC*U;?c-ddi5s!R<4~S{LXX_djTCRX~3-JV7yh7Y2cms!wTkrY83}bwB
z2dpi`B^D8n3HSqaSVYzpI`{+pWDRAl*>VMX>`+5Y@YI?>wsz=YK)L(kPe6xV>d0E+
zF#Fw0h$>%W?u)^|9b`@O%&0zU>qXpsF&Oy9RW@l8a&@DCv<Q46cvb|~;{k3U>t;Ei
z!kb9ohzhbQ9F+l#U_I(XZ6fPFVyg@=tm03vA!hhtr^YXT;4QKq66}a~{=i*iH3)XZ
zJ#V1R7-E(l!Okq>w0(hXWNl<?1F`K3EFkM3TL*{*PoRnN1<~{aRuPk2Kh<Oqt6sn{
zQ;3x_<Vp}z9QyzXvi8mZd)X7f1*jwDbN5@1`5@{JK-uDfGz#d(14$IH9}C1i5_>Gi
l0_C5%UG`c2pI-Xsz;EN&!BMZ3jZy#r002ovPDHLkV1l>+@2da+
diff --git a/chrome/android/java/res/drawable-xxhdpi/settings_translate.png b/chrome/android/java/res/drawable-xxhdpi/settings_translate.png
deleted file mode 100644
index 55878e697b1afed1b4f039a561dc6212e24fc024..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 793
zcmV+!1LpjRP)<h;3K|Lk000e1NJLTq002k;002k`1ONa4|Kxkj0008uNkl<ZcwX(=
z%}Z2a6vy!qU&7QD6$CjgbzuaFrMYX-gy1F-TYN#>*(&T0P^f5;ixxw==!FDzQOmLj
zW)TU|$~Iz9Aez>~5MeSGNzOdU;V@i=JI&0U$NLB~{9rb}%fp9z&%hk!M$92gIe;pl
z3Wyj9l9(csBteWw5h(;j9dXi_fJqal&Mqj9DKT-2AY!CT2BnGF10^sPlCTEKJIX71
z)JmT5wgxg*K&DJUmwnQupf11mfI$K*D&+>^c2@3W<t}H1aS^@Zph5Z5CZJigaScjR
zMTBa$!Uuig{eHe=HE-q67$$tsm>kf|A8$jyfS$PkZE!?L6P{+3Y9btC#|6l6Q$SJA
zJsJ|?2*wTQCyfHQr_G#j>iOXcWOyKi8a`n7&M5)i$G8LSaX}DgSmV5K&hghJ$naGk
zn|yMVCHFr+W;};YV_bu_81R4w*m4VcMRV41&CGcb!S=Xdpk;b9jBZ}iok8`oEP#^s
zxZ*(HxIwJ~nwTJkA;knuN_trO9#=T%BSV6b(8Ic?TcZbSdt70l>n4JR)6DpO>*nq3
zafN}FIj#?Cl$~5NU<H)S4chdQct;y?eqjzexj|EYm%9W-*|Z3FLPYa42uQ+JQr19S
z8PKI*ASGG4OG`vN`5X|W4{pi=YD6F%bO`8HV30TDOK#3CCj|0{M*=#@u3OM^=^OdI
zpGG0Qa0|L3{jfB{0*bi=tx_fZf;0;Ps$$h0XjBJU8y)O1SD-zjI?&qaU`I*00lm%)
zv^JT+e&Yso%`?y%9qc|Apbcs~1Fg})u4N;9(71N~84n-S`d?6M*r0iB`k2m2pEmR1
zf(Er&%x+lJW-v@pl6q-6F+S;(uAXFgph;~W`+^>8I~g9RU77~AeL>qaNZ%d;C_u^s
zlss&pgcZ=5Jy6WbGCgY#WaDr39a`*x^u>dcIQ=590n!A0HN&vZEG?C{V=ABuDD3<L
X<=DewY$H`b00000NkvXXu0mjfrJ!K8
diff --git a/chrome/android/java/res/drawable-xxxhdpi/settings_translate.png b/chrome/android/java/res/drawable-xxxhdpi/settings_translate.png
deleted file mode 100644
index 058b50b84dd216d983e9dea2ea264b39773ac318..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1038
zcmV+p1o8WcP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@000BkNkl<ZcwX(>
zK}Zx)90u@NR77ZDqzI8+I%LtIBq1>CB9(`rB#V~#N{sTXQQ#UFR4mj+L_yL)FVdw5
zWziyt2t7o(5K@$fpoFMU*4D8)xU9Pq43Ec~9k(6b`LAza_%8CfJov%x+j;ZfQFNEb
z12`KG-~l{<2LKCHgb{}Zy~t>YBMcRaBe4w#ApzaNBoHbkpa(iZdP)TdK_^P66aW<o
zGC%?<Js=F7FkyN?+%{m2FFR)&5T^%dqyUW`ppydhRRcUgbKdOZfPML2wf+F5xOe~$
za5X2_a&lcrfC1Ws*OwkpL^d<PXBoFq``hX^=<WnOVSo$r0_HGoWCB?$0G$l*T3*0U
zRIr6&7Qk=#4L}fCncqTZ7+{YDaF5Y0%Y7~MjxY7x)Mrs=v_5>56u{HU0Q*gCKWkg%
zzZ!iHpXGBfgAJ^klo-HsmH{^5htXtkfHkMxaUPh*CPp}jjBvX|#jNB2o*};A4dL$x
zZaR^jWPl1(GQd%H9Vr*E#k6n`zua~vj+y|s+;yl=;Uat{fDf0DatmMzyH{Mi0aNk=
z7SV+=VZjqPArQ*Yg+(*KsriBvfHVeB1BIss!$v=x(+(m{a9cQ39AFtk*a}5R2a=qY
zM2G2rH)-YzYX!{XHtL`Vsl}LuIEGp%Af7L*1<;Mkoc-n;k}EEs#5wq==L@R`yh6DE
zXe@BOIf?tU^9B0=>sf0D9wH09K(eHO_}X@%^EiwcGSJsOT46u}y38pI7<D_Kr9^-i
zP=vg64xr$P1wcPDKIJ5!8q?%}`J8W;O8jyTpdd(2xC138cbx<%s3v|R?c{)Z)Ej_Z
zjsbXDFiNzkzJbCM<!8IM&H##xEx>u<B=-&9*y*m*Er37RzyZxh(`*3z`0Eb9fWRFv
zHG}Q|Gzy#Ng3&CnO?9su03QYHao!$h%_sQ*-2z~Qw<D~%AUhz1jU1q2iT6uT*&Xkc
z+<->{wR6Q0;bXZ0hXla52{6vu7MTGve7a+uW@Zs&Q??m-0eu3rC-3h{ugD5mMnC|3
zumC<VKmZvz0Z(nO@k~y@G24JP83D5>w+*PktbBkdCkD`$Cjm}~$_Loa0g=4O2nTGJ
z4KN`LLB8h&d>4i%6LJCCIpB!UT62U0+GPT0sN#Uwe*rNLsDdUBpr7+<3XGr9!nmqm
z9zX*J^g=I?UJhtjCjd!2fc<E02gFGMDSAMd6fjK>P)UbW5mEs8p!*B_)Bwsy8PjNj
zLJc5zn3UxUnxN1F9DJOYCxvN5;D?e6@Sf=Q03N^tcmNOZ5BbKcjE%x^TL1t607*qo
IM6N<$g2Gw1A^-pY
diff --git a/chrome/android/java/res/xml/site_settings_preferences.xml b/chrome/android/java/res/xml/site_settings_preferences.xml
index 81658269058c..518be48cb3c5 100644
--- a/chrome/android/java/res/xml/site_settings_preferences.xml
+++ b/chrome/android/java/res/xml/site_settings_preferences.xml
@@ -50,9 +50,9 @@
@@ -45,10 +136,10 @@ index 81658269058c..518be48cb3c5 100644
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
- android:key="background_sync" />
+ android:key="background_sync" /-->
<!-- Protected content -->
<!-- Automatic Downloads -->
<org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
@@ -73,11 +73,11 @@
@@ -77,11 +77,11 @@
android:fragment="org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences"
android:key="sound" />
<!-- Google Translate -->
@@ -63,10 +154,9 @@ index 81658269058c..518be48cb3c5 100644
<!-- TODO(finnur): Move this over to the new Usage screen, once it exists. -->
<org.chromium.chrome.browser.preferences.website.SiteSettingsPreference
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
index 1274fd3c7118..57b29816fd96 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/preferences/website/SiteSettingsPreferences.java
@@ -38,7 +38,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
@@ -39,7 +39,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
// are defined in the SiteSettingsCategory, additional keys
// are listed here.
static final String MEDIA_KEY = "media";
@@ -74,14 +164,12 @@ index 1274fd3c7118..57b29816fd96 100644
// Whether the Protected Content menu is available for display.
boolean mProtectedContentMenuAvailable;
@@ -84,12 +83,12 @@ public class SiteSettingsPreferences extends PreferenceFragment
for (@SiteSettingsCategory.Type int i = 0; i < SiteSettingsCategory.Type.NUM_ENTRIES;
i++) {
if (i == SiteSettingsCategory.Type.AUTOPLAY
- || i == SiteSettingsCategory.Type.PROTECTED_MEDIA)
+ || i == SiteSettingsCategory.Type.PROTECTED_MEDIA
+ || i == SiteSettingsCategory.Type.BACKGROUND_SYNC)
continue;
@@ -83,11 +82,10 @@ public class SiteSettingsPreferences extends PreferenceFragment
// The Media sub-menu only contains Protected Content and Autoplay, so remove all other
// menus.
for (@Type int i = 0; i < Type.NUM_ENTRIES; i++) {
- if (i == Type.AUTOPLAY || i == Type.PROTECTED_MEDIA) continue;
+ if (i == Type.AUTOPLAY || i == Type.PROTECTED_MEDIA || i == Type.BACKGROUND_SYNC) continue;
getPreferenceScreen().removePreference(findPreference(i));
}
getPreferenceScreen().removePreference(findPreference(MEDIA_KEY));
@@ -89,9 +177,9 @@ index 1274fd3c7118..57b29816fd96 100644
} else {
// If both Autoplay and Protected Content menus are available, they'll be tucked under
// the Media key. Otherwise, we can remove the Media menu entry.
@@ -116,11 +115,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
getPreferenceScreen().removePreference(
findPreference(SiteSettingsCategory.Type.CLIPBOARD));
@@ -109,11 +107,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.CLIPBOARD_CONTENT_SETTING)) {
getPreferenceScreen().removePreference(findPreference(Type.CLIPBOARD));
}
- // The new Languages Preference *feature* is an advanced version of this translate
- // preference. Once Languages Preference is enabled, remove this setting.
@@ -99,9 +187,9 @@ index 1274fd3c7118..57b29816fd96 100644
- getPreferenceScreen().removePreference(findPreference(TRANSLATE_KEY));
- }
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.GENERIC_SENSOR_EXTRA_CLASSES)) {
getPreferenceScreen().removePreference(
findPreference(SiteSettingsCategory.Type.SENSORS));
@@ -131,10 +125,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
getPreferenceScreen().removePreference(findPreference(Type.SENSORS));
}
@@ -123,10 +116,6 @@ public class SiteSettingsPreferences extends PreferenceFragment
private void updatePreferenceStates() {
PrefServiceBridge prefServiceBridge = PrefServiceBridge.getInstance();
@@ -112,16 +200,16 @@ index 1274fd3c7118..57b29816fd96 100644
// Preferences that navigate to Website Settings.
List<Integer> websitePrefs = new ArrayList<Integer>();
if (mMediaSubMenu) {
@@ -149,7 +139,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
@@ -143,7 +132,7 @@ public class SiteSettingsPreferences extends PreferenceFragment
if (!mProtectedContentMenuAvailable) {
websitePrefs.add(SiteSettingsCategory.Type.AUTOPLAY);
websitePrefs.add(Type.AUTOPLAY);
}
- websitePrefs.add(SiteSettingsCategory.Type.BACKGROUND_SYNC);
+ //websitePrefs.add(SiteSettingsCategory.Type.BACKGROUND_SYNC);
websitePrefs.add(SiteSettingsCategory.Type.CAMERA);
- websitePrefs.add(Type.BACKGROUND_SYNC);
+// websitePrefs.add(Type.BACKGROUND_SYNC);
websitePrefs.add(Type.CAMERA);
if (ChromeFeatureList.isEnabled(ChromeFeatureList.CLIPBOARD_CONTENT_SETTING)) {
websitePrefs.add(SiteSettingsCategory.Type.CLIPBOARD);
@@ -247,11 +237,4 @@ public class SiteSettingsPreferences extends PreferenceFragment
websitePrefs.add(Type.CLIPBOARD);
@@ -246,11 +235,4 @@ public class SiteSettingsPreferences extends PreferenceFragment
preference.getTitle().toString());
return false;
}
@@ -12,7 +12,7 @@ Subject: Remove help menu item
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -74,8 +74,6 @@
@@ -76,8 +76,6 @@
android:icon="@drawable/reader_mode_prefs_icon" />
<item android:id="@+id/preferences_id"
android:title="@string/menu_preferences" />
@@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -2043,15 +2043,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2124,15 +2124,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
final Tab currentTab = getActivityTab();
@@ -56,7 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivity.java
@@ -1220,7 +1220,7 @@ public class CustomTabActivity extends ChromeActivity {
@@ -1314,7 +1314,7 @@ public class CustomTabActivity extends ChromeActivity<CustomTabActivityComponent
public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
// Disable creating new tabs, bookmark, history, print, help, focus_url, etc.
if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id
@@ -1,16 +1,16 @@
From: SergeyZhukovsky <serg.zhukovsky@gmail.com>
Date: Tue, 15 Aug 2017 15:33:16 -0400
Subject: Remove google account access permission on reboot
Subject: Remove request for account access permission on reboot
---
chrome/android/BUILD.gn | 3 +--
chrome/android/BUILD.gn | 4 +---
chrome/android/java/AndroidManifest.xml | 4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -924,8 +924,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
@@ -943,8 +943,7 @@ jinja_template_resources("chrome_public_apk_template_resources") {
resources = [
"java/res_template/xml/file_paths.xml",
"java/res_template/xml/launchershortcuts.xml",
@@ -20,10 +20,18 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
]
res_dir = "java/res_template"
variables = chrome_public_jinja_variables
@@ -955,7 +954,6 @@ jinja_template_resources("chrome_sync_shell_apk_template_resources") {
"java/res_template/xml/file_paths.xml",
"java/res_template/xml/launchershortcuts.xml",
"java/res_template/xml/searchable.xml",
- "java/res_template/xml/syncadapter.xml",
]
res_dir = "java/res_template"
variables = chrome_sync_shell_jinja_variables
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -806,14 +806,14 @@ by a child template that "extends" this file.
@@ -829,14 +829,14 @@ by a child template that "extends" this file.
</provider>
<!-- Sync adapter for browser invalidation. -->
@@ -0,0 +1,109 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 20 Dec 2018 18:23:32 +0100
Subject: Revert "Download location android: Check SD card before showing
location dialog."
This reverts commit 9ade596cc0b315f1f9c3292e1fd8d6182e32fde2.
---
.../download/DownloadLocationDialogBridge.java | 50 +++-------------------
1 file changed, 6 insertions(+), 44 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadLocationDialogBridge.java
@@ -4,9 +4,6 @@
package org.chromium.chrome.browser.download;
-import android.content.Context;
-import android.text.TextUtils;
-
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.ChromeActivity;
@@ -17,7 +14,6 @@ import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.ui.base.WindowAndroid;
import java.io.File;
-import java.util.ArrayList;
/**
* Helper class to handle communication between download location dialog and native.
@@ -26,10 +22,6 @@ public class DownloadLocationDialogBridge implements ModalDialogView.Controller
private long mNativeDownloadLocationDialogBridge;
private DownloadLocationDialog mLocationDialog;
private ModalDialogManager mModalDialogManager;
- private long mTotalBytes;
- private @DownloadLocationDialogType int mDialogType;
- private String mSuggestedPath;
- private Context mContext;
private DownloadLocationDialogBridge(long nativeDownloadLocationDialogBridge) {
mNativeDownloadLocationDialogBridge = nativeDownloadLocationDialogBridge;
@@ -60,13 +52,12 @@ public class DownloadLocationDialogBridge implements ModalDialogView.Controller
}
mModalDialogManager = activity.getModalDialogManager();
- mContext = activity;
- mTotalBytes = totalBytes;
- mDialogType = dialogType;
- mSuggestedPath = suggestedPath;
- DownloadDirectoryProvider.getInstance().getAllDirectoriesOptions(
- (ArrayList<DirectoryOption> dirs) -> { onDirectoryOptionsRetrieved(dirs); });
+ if (mLocationDialog != null) return;
+ mLocationDialog = DownloadLocationDialog.create(
+ this, activity, totalBytes, dialogType, new File(suggestedPath));
+
+ mModalDialogManager.showDialog(mLocationDialog, ModalDialogManager.ModalDialogType.APP);
}
@Override
@@ -101,34 +92,6 @@ public class DownloadLocationDialogBridge implements ModalDialogView.Controller
}
/**
- * Called after retrieved the download directory options.
- * @param dirs An list of available download directories.
- */
- private void onDirectoryOptionsRetrieved(ArrayList<DirectoryOption> dirs) {
- // If there is only one directory available, don't show the default dialog, and set the
- // download directory to default. Dialog will still show for other types of dialogs, like
- // name conflict or disk error.
- if (dirs.size() == 1 && mDialogType == DownloadLocationDialogType.DEFAULT) {
- final DirectoryOption dir = dirs.get(0);
- if (dir.type == DirectoryOption.DownloadLocationDirectoryType.DEFAULT) {
- assert(!TextUtils.isEmpty(dir.location));
- PrefServiceBridge.getInstance().setDownloadAndSaveFileDefaultDirectory(
- dir.location);
- nativeOnComplete(mNativeDownloadLocationDialogBridge, mSuggestedPath);
- }
- return;
- }
-
- // Already showing the dialog.
- if (mLocationDialog != null) return;
-
- // Actually show the dialog.
- mLocationDialog = DownloadLocationDialog.create(
- this, mContext, mTotalBytes, mDialogType, new File(mSuggestedPath));
- mModalDialogManager.showDialog(mLocationDialog, ModalDialogManager.ModalDialogType.APP);
- }
-
- /**
* Pass along information from location dialog to native.
*
* @param fileName Name the user gave the file.
@@ -156,8 +119,7 @@ public class DownloadLocationDialogBridge implements ModalDialogView.Controller
nativeOnComplete(mNativeDownloadLocationDialogBridge, file.getAbsolutePath());
}
- // Update preference to show prompt based on whether checkbox is checked only when the user
- // click the positive button.
+ // Update preference to show prompt based on whether checkbox is checked.
if (dontShowAgain) {
PrefServiceBridge.getInstance().setPromptForDownloadAndroid(
DownloadPromptStatus.DONT_SHOW);
--
2.11.0
+157
View File
@@ -0,0 +1,157 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 21 Mar 2018 14:15:28 +0100
Subject: User Agent: anonymize
Use a fixed device name and Chrome product version with the goal of not
disclosing the specific build of Bromite.
---
components/version_info/version_info.cc | 13 +++++-
content/common/user_agent.cc | 72 ++++++++++++++++++++-------------
2 files changed, 57 insertions(+), 28 deletions(-)
diff --git a/components/version_info/version_info.cc b/components/version_info/version_info.cc
--- a/components/version_info/version_info.cc
+++ b/components/version_info/version_info.cc
@@ -7,13 +7,24 @@
#include "base/logging.h"
#include "base/no_destructor.h"
#include "base/version.h"
+#include "base/sys_info.h"
#include "build/build_config.h"
#include "components/version_info/version_info_values.h"
namespace version_info {
std::string GetProductNameAndVersionForUserAgent() {
- return "Chrome/" + GetVersionNumber();
+ int32_t major, minor, bugfix;
+ base::SysInfo::OperatingSystemVersionNumbers(&major,
+ &minor,
+ &bugfix);
+ switch (major) {
+ case 4:
+ return "Chrome/69.0.3497.100";
+ }
+
+ // version 5 and above
+ return "Chrome/70.0.3538.80";
}
std::string GetProductName() {
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
--- a/content/common/user_agent.cc
+++ b/content/common/user_agent.cc
@@ -22,11 +22,6 @@
namespace content {
-#if defined(OS_ANDROID)
-const base::Feature kAndroidUserAgentStringContainsBuildId{
- "AndroidUserAgentStringContainsBuildId", base::FEATURE_DISABLED_BY_DEFAULT};
-#endif // defined(OS_ANDROID)
-
std::string GetWebKitVersion() {
return base::StringPrintf("%d.%d (%s)",
WEBKIT_VERSION_MAJOR,
@@ -66,7 +61,32 @@ std::string BuildOSCpuInfo(bool include_android_build_number) {
}
#elif defined(OS_ANDROID)
std::string android_version_str = base::SysInfo::OperatingSystemVersion();
- std::string android_info_str = GetAndroidOSInfo(include_android_build_number);
+ std::string android_info_str;
+
+ // Send information about the device and build ID.
+ // Use a common device/build ID based on Android major version.
+ switch (os_major_version) {
+ default: // version 9 and above
+ android_info_str = "ONEPLUS A6000";
+ break;
+ case 8:
+ android_info_str = "FIG-LX3";
+ break;
+ case 7:
+ android_info_str = "SM-G610M";
+ break;
+ case 6:
+ android_info_str = "SM-J700M";
+ break;
+ case 5:
+ android_info_str = "XT1033";
+ break;
+ case 4:
+ android_info_str = "ZTE Blade C370 Build/KOT49H";
+ break;
+ }
+
+ android_info_str = " " + android_info_str;
#elif (defined(OS_POSIX) && !defined(OS_MACOSX)) || defined(OS_FUCHSIA)
// Should work on any Posix system.
struct utsname unixinfo;
@@ -102,7 +122,7 @@ std::string BuildOSCpuInfo(bool include_android_build_number) {
os_minor_version,
os_bugfix_version
#elif defined(OS_ANDROID)
- "Android %s%s",
+ "Android %s;%s",
android_version_str.c_str(),
android_info_str.c_str()
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
@@ -137,18 +157,6 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
return BuildUserAgentFromOSAndProduct(os_info, product);
}
-#if defined(OS_ANDROID)
-std::string BuildUserAgentFromProductAndExtraOSInfo(
- const std::string& product,
- const std::string& extra_os_info,
- bool include_android_build_number) {
- std::string os_info;
- base::StringAppendF(&os_info, "%s%s%s", getUserAgentPlatform().c_str(),
- BuildOSCpuInfo(include_android_build_number).c_str(),
- extra_os_info.c_str());
- return BuildUserAgentFromOSAndProduct(os_info, product);
-}
-
std::string GetAndroidOSInfo(bool include_android_build_number) {
std::string android_info_str;
@@ -162,18 +170,28 @@ std::string GetAndroidOSInfo(bool include_android_build_number) {
}
// Append the build ID.
- if (base::FeatureList::IsEnabled(kAndroidUserAgentStringContainsBuildId) ||
- include_android_build_number) {
- std::string android_build_id = base::SysInfo::GetAndroidBuildID();
- if (!android_build_id.empty()) {
- if (!semicolon_inserted)
- android_info_str += ";";
- android_info_str += " Build/" + android_build_id;
- }
+ std::string android_build_id = base::SysInfo::GetAndroidBuildID();
+ if (!android_build_id.empty()) {
+ if (!semicolon_inserted)
+ android_info_str += ";";
+ android_info_str += " Build/" + android_build_id;
}
return android_info_str;
}
+
+#if defined(OS_ANDROID)
+std::string BuildUserAgentFromProductAndExtraOSInfo(
+ const std::string& product,
+ const std::string& extra_os_info,
+ bool include_android_build_number) {
+ std::string os_info;
+ base::StringAppendF(&os_info, "%s%s%s", getUserAgentPlatform().c_str(),
+ BuildOSCpuInfo(include_android_build_number).c_str(),
+ extra_os_info.c_str());
+ return BuildUserAgentFromOSAndProduct(os_info, product);
+}
+
#endif // defined(OS_ANDROID)
std::string BuildUserAgentFromOSAndProduct(const std::string& os_info,
--
2.11.0
@@ -11,7 +11,7 @@ Disables the autofill download manager (trk:158).
diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
--- a/components/autofill/core/browser/autofill_download_manager.cc
+++ b/components/autofill/core/browser/autofill_download_manager.cc
@@ -42,7 +42,6 @@ namespace autofill {
@@ -49,7 +49,6 @@ namespace autofill {
namespace {
@@ -19,7 +19,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
const size_t kAutofillDownloadManagerMaxFormCacheSize = 16;
const size_t kMaxFieldsPerQueryRequest = 100;
@@ -415,6 +414,7 @@ bool AutofillDownloadManager::StartUploadRequest(
@@ -491,6 +490,7 @@ void AutofillDownloadManager::ClearUploadHistory(PrefService* pref_service) {
std::tuple<GURL, std::string> AutofillDownloadManager::GetRequestURLAndMethod(
const FormRequestData& request_data) const {
@@ -27,7 +27,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
std::string method("POST");
std::string query_str;
@@ -437,6 +437,10 @@ std::tuple<GURL, std::string> AutofillDownloadManager::GetRequestURLAndMethod(
@@ -513,6 +513,10 @@ std::tuple<GURL, std::string> AutofillDownloadManager::GetRequestURLAndMethod(
GURL url = autofill_server_url_
.Resolve(RequestTypeToString(request_data.request_type))
.ReplaceComponents(replacements);
@@ -41,7 +41,7 @@ diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/com
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
@@ -1147,9 +1147,11 @@ AutofillManager::AutofillManager(
@@ -1166,9 +1166,11 @@ AutofillManager::AutofillManager(
weak_ptr_factory_(this) {
DCHECK(driver);
DCHECK(client_);
@@ -1,6 +1,6 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: Mon, 15 Sep 2014 10:58:42 +0200
Subject: dns: send IPv6 connectivity probes to RIPE DNS rather than Google
Subject: dns: send IPv6 connectivity probes to RIPE DNS
Short of disabling the code (we may do that in a subsequent patch
anyway), avoid sending to Google.
@@ -11,7 +11,7 @@ anyway), avoid sending to Google.
diff --git a/net/dns/host_resolver_impl.cc b/net/dns/host_resolver_impl.cc
--- a/net/dns/host_resolver_impl.cc
+++ b/net/dns/host_resolver_impl.cc
@@ -110,10 +110,10 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
@@ -115,10 +115,10 @@ const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
// cached.
const int kIPv6ProbePeriodMs = 1000;
@@ -18,7 +18,7 @@ References: https://github.com/iridium-browser/iridium-browser/issues/28
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
@@ -378,9 +378,12 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
@@ -379,9 +379,12 @@ bool Extension::ShouldDisplayInExtensionSettings() const {
}
bool Extension::ShouldExposeViaManagementAPI() const {
@@ -15,7 +15,7 @@ turn it back on.
diff --git a/chrome/browser/extensions/extension_system_impl.cc b/chrome/browser/extensions/extension_system_impl.cc
--- a/chrome/browser/extensions/extension_system_impl.cc
+++ b/chrome/browser/extensions/extension_system_impl.cc
@@ -201,8 +201,7 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) {
@@ -203,8 +203,7 @@ void ExtensionSystemImpl::Shared::Init(bool extensions_enabled) {
// ExtensionService depends on RuntimeData.
runtime_data_.reset(new RuntimeData(ExtensionRegistry::Get(profile_)));
@@ -13,32 +13,85 @@ to poison the well.
See also: http://www.gsd.inesc-id.pt/~mpc/pubs/fingerprinting-trustcom2016.pdf
---
third_party/blink/renderer/core/dom/element.cc | 17 +++++++++++++++++
third_party/blink/renderer/core/dom/range.cc | 20 +++++++++++++++++++-
.../blink/renderer/core/html/canvas/text_metrics.cc | 18 ++++++++++++++++++
.../blink/renderer/core/html/canvas/text_metrics.h | 2 ++
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 10 +++++++++-
5 files changed, 65 insertions(+), 2 deletions(-)
third_party/blink/renderer/core/dom/document.cc | 13 +++++++++++++
third_party/blink/renderer/core/dom/document.h | 5 +++++
third_party/blink/renderer/core/dom/element.cc | 16 ++++++++++++++++
third_party/blink/renderer/core/dom/range.cc | 18 +++++++++++++++++-
.../blink/renderer/core/html/canvas/text_metrics.cc | 18 ++++++++++++++++++
.../blink/renderer/core/html/canvas/text_metrics.h | 2 ++
.../canvas/canvas2d/canvas_rendering_context_2d.cc | 10 +++++++++-
7 files changed, 80 insertions(+), 2 deletions(-)
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -33,6 +33,7 @@
#include "base/auto_reset.h"
#include "base/optional.h"
+#include "base/rand_util.h"
#include "services/metrics/public/cpp/mojo_ukm_recorder.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
@@ -725,6 +726,10 @@ Document::Document(const DocumentInit& initializer,
}
DCHECK(fetcher_);
+ // add X/Y noise factors that will be used to mitigate fingerprinting
+ shuffleFactorX_ = base::RandDouble();
+ shuffleFactorY_ = base::RandDouble();
+
root_scroller_controller_ = RootScrollerController::Create(*this);
// We depend on the url getting immediately set in subframes, but we
@@ -790,6 +795,14 @@ Range* Document::CreateRangeAdjustedToTreeScope(const TreeScope& tree_scope,
Position::BeforeNode(*shadow_host));
}
+double Document::GetShuffleFactorX() {
+ return shuffleFactorX_;
+}
+
+double Document::GetShuffleFactorY() {
+ return shuffleFactorY_;
+}
+
SelectorQueryCache& Document::GetSelectorQueryCache() {
if (!selector_query_cache_)
selector_query_cache_ = std::make_unique<SelectorQueryCache>();
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -427,6 +427,9 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
+ double GetShuffleFactorX();
+ double GetShuffleFactorY();
+
String visibilityState() const;
mojom::PageVisibilityState GetPageVisibilityState() const;
bool hidden() const;
@@ -1780,6 +1783,8 @@ class CORE_EXPORT Document : public ContainerNode,
double start_time_;
+ double shuffleFactorX_, shuffleFactorY_;
+
TraceWrapperMember<ScriptRunner> script_runner_;
HeapVector<Member<ScriptElementBase>> current_script_stack_;
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -27,6 +27,7 @@
#include "third_party/blink/renderer/core/dom/element.h"
#include <memory>
+#include "base/rand_util.h"
#include "third_party/blink/public/platform/web_scroll_into_view_params.h"
#include "third_party/blink/renderer/bindings/core/v8/dictionary.h"
@@ -1383,6 +1384,15 @@ DOMRectList* Element::getClientRects() {
@@ -1363,6 +1363,15 @@ DOMRectList* Element::getClientRects() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
quads, *element_layout_object);
+
+ // scale all quads
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleX = 1 + (GetDocument().GetShuffleFactorX() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (GetDocument().GetShuffleFactorY() - 0.5) * 0.000003;
+
+ for (FloatQuad& quad : quads) {
+ quad.Scale(shuffleX, shuffleY);
@@ -47,14 +100,14 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return DOMRectList::Create(quads);
}
@@ -1400,6 +1410,13 @@ DOMRect* Element::getBoundingClientRect() {
@@ -1380,6 +1389,13 @@ DOMRect* Element::getBoundingClientRect() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
+
+ // scale rect by 3/1000000th
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleX = 1 + (GetDocument().GetShuffleFactorX() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (GetDocument().GetShuffleFactorY() - 0.5) * 0.000003;
+
+ result.Scale(shuffleX, shuffleY);
+
@@ -64,22 +117,13 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/renderer/core/dom/range.cc
--- a/third_party/blink/renderer/core/dom/range.cc
+++ b/third_party/blink/renderer/core/dom/range.cc
@@ -25,6 +25,8 @@
#include "third_party/blink/renderer/core/dom/range.h"
+#include "base/rand_util.h"
+
#include "third_party/blink/renderer/bindings/core/v8/string_or_trusted_html.h"
#include "third_party/blink/renderer/core/dom/character_data.h"
#include "third_party/blink/renderer/core/dom/container_node.h"
@@ -1607,11 +1609,27 @@ DOMRectList* Range::getClientRects() const {
@@ -1606,11 +1606,27 @@ DOMRectList* Range::getClientRects() const {
Vector<FloatQuad> quads;
GetBorderAndTextQuads(quads);
+ // scale all quads by 3/1000000th
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleX = 1 + (owner_document_->GetShuffleFactorX() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (owner_document_->GetShuffleFactorY() - 0.5) * 0.000003;
+
+ for (FloatQuad& quad : quads) {
+ quad.Scale(shuffleX, shuffleY);
@@ -93,8 +137,8 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re
+ auto rect = BoundingRect();
+
+ // scale rect by 3/1000000th
+ auto shuffleX = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (base::RandDouble() - 0.5) * 0.000003;
+ auto shuffleX = 1 + (owner_document_->GetShuffleFactorX() - 0.5) * 0.000003;
+ auto shuffleY = 1 + (owner_document_->GetShuffleFactorY() - 0.5) * 0.000003;
+
+ rect.Scale(shuffleX, shuffleY);
+
@@ -105,7 +149,7 @@ diff --git a/third_party/blink/renderer/core/dom/range.cc b/third_party/blink/re
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
@@ -49,6 +49,24 @@ float TextMetrics::GetFontBaseline(const TextBaseline& text_baseline,
@@ -38,6 +38,24 @@ float TextMetrics::GetFontBaseline(const TextBaseline& text_baseline,
return 0;
}
@@ -135,7 +179,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h
@@ -68,6 +68,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable {
static float GetFontBaseline(const TextBaseline&, const FontMetrics&);
static float GetFontBaseline(const TextBaseline&, const SimpleFontData&);
+ void Shuffle(const double factor);
+
@@ -154,7 +198,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/public/platform/web_scroll_into_view_params.h"
@@ -781,8 +783,14 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
@@ -782,8 +784,14 @@ TextMetrics* CanvasRenderingContext2D::measureText(const String& text) {
else
direction = ToTextDirection(GetState().GetDirection(), canvas());
@@ -3,10 +3,10 @@ Date: Fri, 22 Jun 2018 17:06:15 +0200
Subject: kill Auth
---
.../org/chromium/chrome/browser/signin/SigninHelper.java | 6 ++----
.../org/chromium/components/signin/AccountIdProvider.java | 9 +--------
.../components/signin/SystemAccountManagerDelegate.java | 15 +++++++++------
3 files changed, 12 insertions(+), 18 deletions(-)
.../chrome/browser/signin/SigninHelper.java | 22 +---------
.../components/signin/AccountIdProvider.java | 9 +---
.../signin/SystemAccountManagerDelegate.java | 50 ++--------------------
3 files changed, 5 insertions(+), 76 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHelper.java
@@ -19,22 +19,31 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninHe
-import com.google.android.gms.auth.GoogleAuthException;
-import com.google.android.gms.auth.GoogleAuthUtil;
-
import org.chromium.base.AsyncTask;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
@@ -71,6 +67,7 @@ public class SigninHelper {
import org.chromium.base.VisibleForTesting;
@@ -71,23 +67,7 @@ public class SigninHelper {
@Override
public List<String> getAccountChangeEvents(
Context context, int index, String accountName) {
+ /*
try {
List<AccountChangeEvent> list = GoogleAuthUtil.getAccountChangeEvents(
context, index, accountName);
@@ -88,6 +85,7 @@ public class SigninHelper {
} catch (GoogleAuthException e) {
Log.w(TAG, "Failed to get change events", e);
}
+ */
- try {
- List<AccountChangeEvent> list = GoogleAuthUtil.getAccountChangeEvents(
- context, index, accountName);
- List<String> result = new ArrayList<>(list.size());
- for (AccountChangeEvent e : list) {
- if (e.getChangeType() == GoogleAuthUtil.CHANGE_TYPE_ACCOUNT_RENAMED_TO) {
- result.add(e.getChangeData());
- } else {
- result.add(null);
- }
- }
- return result;
- } catch (IOException e) {
- Log.w(TAG, "Failed to get change events", e);
- } catch (GoogleAuthException e) {
- Log.w(TAG, "Failed to get change events", e);
- }
+
return new ArrayList<>(0);
}
}
@@ -77,56 +86,76 @@ diff --git a/components/signin/core/browser/android/java/src/org/chromium/compon
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GoogleApiAvailability;
@@ -117,9 +114,9 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@@ -117,48 +114,18 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
// so don't report any accounts if Google Play Services are out of date.
checkCanUseGooglePlayServices();
- if (!hasGetAccountsPermission()) {
- return new Account[] {};
- }
- long now = SystemClock.elapsedRealtime();
- Account[] accounts = mAccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
- long elapsed = SystemClock.elapsedRealtime() - now;
- recordElapsedTimeHistogram("Signin.AndroidGetAccountsTime_AccountManager", elapsed);
- if (ThreadUtils.runningOnUiThread()) {
- recordElapsedTimeHistogram(
- "Signin.AndroidGetAccountsTimeUiThread_AccountManager", elapsed);
- }
- return accounts;
+ return new Account[] {};
+
+ /*
long now = SystemClock.elapsedRealtime();
Account[] accounts = mAccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
long elapsed = SystemClock.elapsedRealtime() - now;
@@ -129,12 +126,15 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
"Signin.AndroidGetAccountsTimeUiThread_AccountManager", elapsed);
}
return accounts;
+ */
}
@Override
public String getAuthToken(Account account, String authTokenScope) throws AuthException {
assert !ThreadUtils.runningOnUiThread();
assert AccountManagerFacade.GOOGLE_ACCOUNT_TYPE.equals(account.type);
- try {
- return GoogleAuthUtil.getTokenWithNotification(
- ContextUtils.getApplicationContext(), account, authTokenScope, null);
- } catch (GoogleAuthException ex) {
- // This case includes a UserRecoverableNotifiedException, but most clients will have
- // their own retry mechanism anyway.
- throw new AuthException(AuthException.NONTRANSIENT,
- "Error while getting token for scope '" + authTokenScope + "'", ex);
- } catch (IOException ex) {
- throw new AuthException(AuthException.TRANSIENT, ex);
- }
+ return null;
+ /*
try {
return GoogleAuthUtil.getTokenWithNotification(
ContextUtils.getApplicationContext(), account, authTokenScope, null);
@@ -146,10 +146,12 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
} catch (IOException ex) {
throw new AuthException(AuthException.TRANSIENT, ex);
}
+ */
}
@Override
public void invalidateAuthToken(String authToken) throws AuthException {
+ /*
try {
GoogleAuthUtil.clearToken(ContextUtils.getApplicationContext(), authToken);
} catch (GooglePlayServicesAvailabilityException ex) {
@@ -159,6 +161,7 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
} catch (IOException ex) {
throw new AuthException(AuthException.TRANSIENT, ex);
}
+ */
- public void invalidateAuthToken(String authToken) throws AuthException {
- try {
- GoogleAuthUtil.clearToken(ContextUtils.getApplicationContext(), authToken);
- } catch (GooglePlayServicesAvailabilityException ex) {
- throw new AuthException(AuthException.NONTRANSIENT, ex);
- } catch (GoogleAuthException ex) {
- throw new AuthException(AuthException.NONTRANSIENT, ex);
- } catch (IOException ex) {
- throw new AuthException(AuthException.TRANSIENT, ex);
- }
+ public void invalidateAuthToken(String authToken) {
}
@Override
@@ -198,17 +165,6 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
@SuppressLint("MissingPermission")
@Override
public void createAddAccountIntent(Callback<Intent> callback) {
- AccountManagerCallback<Bundle> accountManagerCallback = accountManagerFuture -> {
- try {
- Bundle bundle = accountManagerFuture.getResult();
- callback.onResult(bundle.getParcelable(AccountManager.KEY_INTENT));
- } catch (OperationCanceledException | IOException | AuthenticatorException e) {
- Log.e(TAG, "Error while creating an intent to add an account: ", e);
- callback.onResult(null);
- }
- };
- mAccountManager.addAccount(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE, null, null, null, null,
- accountManagerCallback, null);
}
// No permission is needed on 23+ and Chrome always has MANAGE_ACCOUNTS permission on lower APIs
--
2.11.0
+978
View File
@@ -0,0 +1,978 @@
From: thermatk <thermatk@thermatk.com>
Date: Fri, 22 Jun 2018 17:11:38 +0200
Subject: kill GCM
---
build/secondary/third_party/android_tools/BUILD.gn | 3 -
chrome/android/BUILD.gn | 1 -
chrome/android/java/AndroidManifest.xml | 62 ---------
.../chrome/browser/BackgroundSyncLauncher.java | 97 --------------
.../chrome/browser/ChromeBackgroundService.java | 1 -
.../invalidation/InvalidationController.java | 13 --
.../browser/ntp/snippets/SnippetsLauncher.java | 44 -------
.../browser/services/gcm/GCMBackgroundTask.java | 2 -
.../gcm/InvalidationGcmUpstreamSender.java | 15 ---
chrome/android/java_sources.gni | 2 -
components/background_task_scheduler/BUILD.gn | 1 -
.../BackgroundTaskSchedulerGcmNetworkManager.java | 146 +--------------------
components/gcm_driver/android/BUILD.gn | 1 -
components/gcm_driver/instance_id/android/BUILD.gn | 1 -
.../gcm_driver/instance_id/InstanceIDBridge.java | 31 +----
components/sync/android/BUILD.gn | 1 -
third_party/cacheinvalidation/BUILD.gn | 6 -
.../client/contrib/MultiplexingGcmListener.java | 92 +------------
.../android2/channel/AndroidNetworkChannel.java | 18 +--
19 files changed, 14 insertions(+), 523 deletions(-)
diff --git a/build/secondary/third_party/android_tools/BUILD.gn b/build/secondary/third_party/android_tools/BUILD.gn
--- a/build/secondary/third_party/android_tools/BUILD.gn
+++ b/build/secondary/third_party/android_tools/BUILD.gn
@@ -53,9 +53,6 @@ if (enable_java_templates) {
testonly = true
java_files = [ "//third_party/android_tools/sdk/extras/chromium/support/src/org/chromium/android/support/PackageManagerWrapper.java" ]
}
- android_java_prebuilt("android_gcm_java") {
- jar_path = "//third_party/android_tools/sdk/extras/google/gcm/gcm-client/dist/gcm.jar"
- }
android_java_prebuilt("emma_device_java") {
jar_path = "//third_party/android_tools/sdk/tools/lib/emma_device.jar"
include_java_resources = true
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -308,7 +308,6 @@ android_library("chrome_java") {
"//third_party/android_deps:javax_inject_javax_inject_java",
"//third_party/android_media:android_media_java",
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
- "//third_party/android_tools:android_gcm_java",
"//third_party/blink/public:android_mojo_bindings_java",
"//third_party/blink/public:blink_headers_java",
"//third_party/blink/public/mojom:android_mojo_bindings_java",
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -77,22 +77,17 @@ by a child template that "extends" this file.
<permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" android:protectionLevel="signature" />
<permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem" />
<permission android:name="{{ manifest_package }}.TOS_ACKED" android:protectionLevel="signatureOrSystem" />
- <!-- Only chrome can receive the messages and registration result -->
- <permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE"
- android:protectionLevel="signature" />
<permission android:name="{{ manifest_package }}.permission.DEBUG"
android:label="Debug web pages"
android:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
android:protectionLevel="signature" />
- <uses-permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE" />
<uses-permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" />
<uses-permission android:name="{{ manifest_package }}.TOS_ACKED" />
<uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
- <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />
@@ -911,43 +906,6 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
android:hardwareAccelerated="false" />
- <!-- Receiver for GCM messages. -->
- <receiver android:name="com.google.android.gms.gcm.GcmReceiver"
- android:exported="true"
- android:permission="com.google.android.c2dm.permission.SEND">
- <intent-filter>
- <action android:name="com.google.android.c2dm.intent.RECEIVE" />
- <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
- <category android:name="{{ manifest_package }}"/>
- </intent-filter>
- </receiver>
- <!-- GcmTaskService for registration for Invalidations. -->
- <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
- android:exported="true"
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" >
- <intent-filter>
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
- </intent-filter>
- </service>
- <!-- InstanceIDListenerService for token refresh events from GCM. -->
- <service android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidInstanceIDListenerService"
- android:exported="false">
- <intent-filter>
- <action android:name="com.google.android.gms.iid.InstanceID"/>
- </intent-filter>
- </service>
- <!-- GcmListenerService for messages from GCM. -->
- <service android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService"
- android:exported="false" >
- <intent-filter>
- <action android:name="com.google.android.c2dm.intent.RECEIVE" />
- </intent-filter>
- </service>
- <meta-data android:name="ipc.invalidation.ticl.gcm_upstream_service_class"
- android:value="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender" />
- <service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
- android:exported="false"/>
-
<!-- Notification service for sync. -->
<meta-data android:name="ipc.invalidation.ticl.listener_service_class"
android:value="org.chromium.chrome.browser.invalidation.ChromeInvalidationClientService"/>
@@ -959,8 +917,6 @@ by a child template that "extends" this file.
</service>
<service android:name="com.google.ipc.invalidation.ticl.android2.TiclService"
android:exported="false"/>
- <service android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"
- android:exported="false"/>
<receiver android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"
android:exported="false"/>
<receiver android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"
@@ -987,24 +943,6 @@ by a child template that "extends" this file.
android:exported="false"
android:permission="android.permission.BIND_JOB_SERVICE"/>
- <!-- Background Task Scheduler GCM task service -->
- <service android:name="org.chromium.components.background_task_scheduler.BackgroundTaskGcmTaskService"
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
- android:exported="true">
- <intent-filter>
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
- </intent-filter>
- </service>
-
- <!-- GcmTaskService implementation to wake Chrome on scheduled events -->
- <service android:name="org.chromium.chrome.browser.ChromeBackgroundService"
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
- android:exported="true">
- <intent-filter>
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
- </intent-filter>
- </service>
-
<service android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
android:exported="true"
tools:ignore="ExportedService" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/BackgroundSyncLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/BackgroundSyncLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/BackgroundSyncLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/BackgroundSyncLauncher.java
@@ -8,10 +8,6 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.os.StrictMode;
-import com.google.android.gms.gcm.GcmNetworkManager;
-import com.google.android.gms.gcm.OneoffTask;
-import com.google.android.gms.gcm.Task;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
@@ -37,8 +33,6 @@ public class BackgroundSyncLauncher {
// BackgroundSyncLauncherAndroid, if any. If it is non-null then the browser is running.
private static BackgroundSyncLauncher sInstance;
- private GcmNetworkManager mScheduler;
-
/**
* Disables the automatic use of the GCMNetworkManager. When disabled, the methods which
* interact with GCM can still be used, but will not be called automatically on creation, or by
@@ -124,30 +118,6 @@ public class BackgroundSyncLauncher {
@VisibleForTesting
@CalledByNative
protected void launchBrowserIfStopped(final boolean shouldLaunch, final long minDelayMs) {
- mLaunchBrowserIfStoppedTask = new AsyncTask<Void>() {
- @Override
- protected Void doInBackground() {
- SharedPreferences prefs = ContextUtils.getAppSharedPreferences();
- prefs.edit()
- .putBoolean(PREF_BACKGROUND_SYNC_LAUNCH_NEXT_ONLINE, shouldLaunch)
- .apply();
- return null;
- }
- @Override
- protected void onPostExecute(Void params) {
- if (sGCMEnabled) {
- if (shouldLaunch) {
- RecordHistogram.recordBooleanHistogram(
- "BackgroundSync.LaunchTask.ScheduleSuccess",
- scheduleLaunchTask(mScheduler, minDelayMs));
- } else {
- RecordHistogram.recordBooleanHistogram(
- "BackgroundSync.LaunchTask.CancelSuccess",
- removeScheduledTasks(mScheduler));
- }
- }
- }
- }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
/**
@@ -159,7 +129,6 @@ public class BackgroundSyncLauncher {
}
protected BackgroundSyncLauncher() {
- mScheduler = GcmNetworkManager.getInstance(ContextUtils.getApplicationContext());
launchBrowserIfStopped(false, 0);
}
@@ -188,72 +157,6 @@ public class BackgroundSyncLauncher {
return !sGCMEnabled;
}
- private static boolean scheduleLaunchTask(GcmNetworkManager scheduler, long minDelayMs) {
- // Google Play Services may not be up to date, if the application was not installed through
- // the Play Store. In this case, scheduling the task will fail silently.
- final long minDelaySecs = minDelayMs / 1000;
- OneoffTask oneoff = new OneoffTask.Builder()
- .setService(ChromeBackgroundService.class)
- .setTag(TASK_TAG)
- // We have to set a non-zero execution window here
- .setExecutionWindow(minDelaySecs, minDelaySecs + 1)
- .setRequiredNetwork(Task.NETWORK_STATE_CONNECTED)
- .setPersisted(true)
- .setUpdateCurrent(true)
- .build();
- try {
- scheduler.schedule(oneoff);
- } catch (IllegalArgumentException e) {
- // Disable GCM for the remainder of this session.
- setGCMEnabled(false);
- // Return false so that the failure will be logged.
- return false;
- }
- return true;
- }
-
- private static boolean removeScheduledTasks(GcmNetworkManager scheduler) {
- // Third-party code causes broadcast to touch disk. http://crbug.com/614679
- StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
- try {
- scheduler.cancelTask(TASK_TAG, ChromeBackgroundService.class);
- } catch (IllegalArgumentException e) {
- // This occurs when BackgroundSyncLauncherService is not found in the application
- // manifest. This should not happen in code that reaches here, but has been seen in
- // the past. See https://crbug.com/548314
- // Disable GCM for the remainder of this session.
- setGCMEnabled(false);
- // Return false so that the failure will be logged.
- return false;
- } finally {
- StrictMode.setThreadPolicy(oldPolicy);
- }
- return true;
- }
-
- /**
- * Reschedule any required background sync tasks, if they have been removed due to an
- * application upgrade.
- *
- * This method checks the saved preferences, and reschedules the sync tasks as appropriate
- * to match the preferences.
- * This method is static so that it can be run without actually instantiating a
- * BackgroundSyncLauncher.
- */
- protected static void rescheduleTasksOnUpgrade(final Context context) {
- final GcmNetworkManager scheduler = GcmNetworkManager.getInstance(context);
- BackgroundSyncLauncher.ShouldLaunchCallback callback = shouldLaunch -> {
- if (shouldLaunch) {
- // It's unclear what time the sync event was supposed to fire, so fire
- // without delay and let the browser reschedule if necessary.
- // TODO(iclelland): If this fails, report the failure via UMA (not now,
- // since the browser is not running, but on next startup.)
- scheduleLaunchTask(scheduler, 0);
- }
- };
- BackgroundSyncLauncher.shouldLaunchBrowserIfStopped(callback);
- }
-
@VisibleForTesting
static void setGCMEnabled(boolean enabled) {
sGCMEnabled = enabled;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
@@ -106,7 +106,6 @@ public class ChromeBackgroundService extends GcmTaskService {
@VisibleForTesting
protected void rescheduleBackgroundSyncTasksOnUpgrade() {
- BackgroundSyncLauncher.rescheduleTasksOnUpgrade(this);
}
private void handleSnippetsOnBrowserUpgraded() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/invalidation/InvalidationController.java
@@ -10,8 +10,6 @@ import android.os.Build;
import android.os.Handler;
import android.os.SystemClock;
-import com.google.ipc.invalidation.ticl.android2.channel.AndroidGcmController;
-
import org.chromium.base.ApplicationState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ContextUtils;
@@ -198,18 +196,7 @@ public class InvalidationController implements ApplicationStatus.ApplicationStat
* Registers for Google Cloud Messaging (GCM) for Invalidations.
*/
private void ensureGcmIsInitialized() {
- if (mGcmInitialized) return;
mGcmInitialized = true;
- new AsyncTask<Void>() {
- @Override
- protected Void doInBackground() {
- boolean useGcmUpstream = true;
- AndroidGcmController.get(ContextUtils.getApplicationContext())
- .initializeGcm(useGcmUpstream);
- return null;
- }
- }
- .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
@VisibleForTesting
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetsLauncher.java
@@ -7,15 +7,10 @@ package org.chromium.chrome.browser.ntp.snippets;
import android.content.Context;
import android.net.ConnectivityManager;
-import com.google.android.gms.gcm.GcmNetworkManager;
-import com.google.android.gms.gcm.PeriodicTask;
-import com.google.android.gms.gcm.Task;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
-import org.chromium.chrome.browser.ChromeBackgroundService;
import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
/**
@@ -40,8 +35,6 @@ public class SnippetsLauncher {
// If it is non-null then the browser is running.
private static SnippetsLauncher sInstance;
- private GcmNetworkManager mScheduler;
-
private boolean mGCMEnabled = true;
/**
@@ -78,7 +71,6 @@ public class SnippetsLauncher {
protected SnippetsLauncher() {
checkGCM();
- mScheduler = GcmNetworkManager.getInstance(ContextUtils.getApplicationContext());
}
private void checkGCM() {
@@ -89,32 +81,7 @@ public class SnippetsLauncher {
}
}
- private static PeriodicTask buildFetchTask(
- String tag, long periodSeconds, int requiredNetwork) {
- // Add a bit of "flex" around the target period. This achieves the following:
- // - It makes sure the task doesn't run (significantly) before its initial period has
- // elapsed. In practice, the scheduler seems to behave like that anyway, but it doesn't
- // guarantee that, so we shouldn't rely on it.
- // - It gives the scheduler a bit of room to optimize for battery life.
- long effectivePeriodSeconds = (long) (periodSeconds * (1.0 + FLEX_FACTOR));
- long flexSeconds = (long) (periodSeconds * (2.0 * FLEX_FACTOR));
- return new PeriodicTask.Builder()
- .setService(ChromeBackgroundService.class)
- .setTag(tag)
- .setPeriod(effectivePeriodSeconds)
- .setFlex(flexSeconds)
- .setRequiredNetwork(requiredNetwork)
- .setPersisted(true)
- .setUpdateCurrent(true)
- .build();
- }
-
private void scheduleOrCancelFetchTask(String taskTag, long period, int requiredNetwork) {
- if (period > 0) {
- mScheduler.schedule(buildFetchTask(taskTag, period, requiredNetwork));
- } else {
- mScheduler.cancelTask(taskTag, ChromeBackgroundService.class);
- }
}
@CalledByNative
@@ -127,23 +94,12 @@ public class SnippetsLauncher {
.edit()
.putBoolean(PREF_IS_SCHEDULED, isScheduled)
.apply();
-
- // Google Play Services may not be up to date, if the application was not installed through
- // the Play Store. In this case, scheduling the task will fail silently.
- try {
- scheduleOrCancelFetchTask(
- TASK_TAG_WIFI, periodWifiSeconds, Task.NETWORK_STATE_UNMETERED);
- scheduleOrCancelFetchTask(
- TASK_TAG_FALLBACK, periodFallbackSeconds, Task.NETWORK_STATE_CONNECTED);
- } catch (IllegalArgumentException e) {
// Disable GCM for the remainder of this session.
mGCMEnabled = false;
ContextUtils.getAppSharedPreferences().edit().remove(PREF_IS_SCHEDULED).apply();
// Return false so that the failure will be logged.
return false;
- }
- return true;
}
@CalledByNative
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java
@@ -39,8 +39,6 @@ public class GCMBackgroundTask implements BackgroundTask {
Log.e(TAG, "The received bundle containing message data could not be validated.");
return false;
}
-
- ChromeGcmListenerService.dispatchMessageToDriver(context, new GCMMessage(extras));
return false;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java
@@ -12,7 +12,6 @@ import android.os.Parcel;
import android.support.annotation.MainThread;
import android.util.Log;
-import com.google.android.gms.gcm.GoogleCloudMessaging;
import com.google.ipc.invalidation.ticl.android2.channel.GcmUpstreamSenderService;
import org.chromium.base.ContextUtils;
@@ -96,20 +95,6 @@ public class InvalidationGcmUpstreamSender extends GcmUpstreamSenderService {
* This function runs on a thread from the AsyncTask.THREAD_POOL_EXECUTOR.
*/
private void sendUpstreamMessage(String to, Bundle data, String token, Context context) {
- // Add the OAuth2 token to the bundle. The token should have the prefix Bearer added to it.
- data.putString("Authorization", "Bearer " + token);
- if (!isMessageWithinLimit(data)) {
- GcmUma.recordGcmUpstreamHistogram(context, GcmUma.UMA_UPSTREAM_SIZE_LIMIT_EXCEEDED);
- return;
- }
- String msgId = UUID.randomUUID().toString();
- try {
- GoogleCloudMessaging.getInstance(ContextUtils.getApplicationContext())
- .send(to, msgId, 1, data);
- } catch (IOException | IllegalArgumentException exception) {
- Log.w(TAG, "Send message failed");
- GcmUma.recordGcmUpstreamHistogram(context, GcmUma.UMA_UPSTREAM_SEND_FAILED);
- }
}
private boolean isMessageWithinLimit(Bundle data) {
diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
--- a/chrome/android/java_sources.gni
+++ b/chrome/android/java_sources.gni
@@ -27,7 +27,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/ChromeActivity.java",
"java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
"java/src/org/chromium/chrome/browser/ChromeApplication.java",
- "java/src/org/chromium/chrome/browser/ChromeBackgroundService.java",
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
"java/src/org/chromium/chrome/browser/ChromeFeatureList.java",
@@ -1344,7 +1343,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java",
"java/src/org/chromium/chrome/browser/services/AndroidEduOwnerCheckCallback.java",
"java/src/org/chromium/chrome/browser/services/GoogleServicesManager.java",
- "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java",
"java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java",
"java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java",
"java/src/org/chromium/chrome/browser/services/gcm/InvalidationGcmUpstreamSender.java",
diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
--- a/components/background_task_scheduler/BUILD.gn
+++ b/components/background_task_scheduler/BUILD.gn
@@ -30,7 +30,6 @@ if (is_android) {
android_library("background_task_scheduler_java") {
java_files = [
"android/java/src/org/chromium/components/background_task_scheduler/BackgroundTask.java",
- "android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskGcmTaskService.java",
"android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskJobService.java",
"android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskReflection.java",
"android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java",
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java
--- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java
+++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerGcmNetworkManager.java
@@ -8,14 +8,6 @@ import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-import com.google.android.gms.gcm.GcmNetworkManager;
-import com.google.android.gms.gcm.OneoffTask;
-import com.google.android.gms.gcm.PeriodicTask;
-import com.google.android.gms.gcm.Task;
-import com.google.android.gms.gcm.TaskParams;
-
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
@@ -34,104 +26,6 @@ class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedule
@VisibleForTesting
static final String BACKGROUND_TASK_EXTRAS_KEY = "_background_task_extras";
- static BackgroundTask getBackgroundTaskFromTaskParams(@NonNull TaskParams taskParams) {
- String backgroundTaskClassName = getBackgroundTaskClassFromTaskParams(taskParams);
- return BackgroundTaskReflection.getBackgroundTaskFromClassName(backgroundTaskClassName);
- }
-
- private static String getBackgroundTaskClassFromTaskParams(@NonNull TaskParams taskParams) {
- Bundle extras = taskParams.getExtras();
- if (extras == null) return null;
- return extras.getString(BACKGROUND_TASK_CLASS_KEY);
- }
-
- /**
- * Retrieves the {@link TaskParameters} from the {@link TaskParams}, which are passed as
- * one of the keys. Only values valid for {@link android.os.BaseBundle} are supported, and other
- * values are stripped at the time when the task is scheduled.
- *
- * @param taskParams the {@link TaskParams} to extract the {@link TaskParameters} from.
- * @return the {@link TaskParameters} for the current job.
- */
- static TaskParameters getTaskParametersFromTaskParams(@NonNull TaskParams taskParams) {
- int taskId;
- try {
- taskId = Integer.parseInt(taskParams.getTag());
- } catch (NumberFormatException e) {
- Log.e(TAG, "Cound not parse task ID from task tag: " + taskParams.getTag());
- return null;
- }
-
- TaskParameters.Builder builder = TaskParameters.create(taskId);
-
- Bundle extras = taskParams.getExtras();
- Bundle taskExtras = extras.getBundle(BACKGROUND_TASK_EXTRAS_KEY);
- builder.addExtras(taskExtras);
-
- return builder.build();
- }
-
- @VisibleForTesting
- static Task createTaskFromTaskInfo(@NonNull TaskInfo taskInfo) {
- Bundle taskExtras = new Bundle();
- taskExtras.putString(
- BACKGROUND_TASK_CLASS_KEY, taskInfo.getBackgroundTaskClass().getName());
- taskExtras.putBundle(BACKGROUND_TASK_EXTRAS_KEY, taskInfo.getExtras());
-
- Task.Builder builder;
- if (taskInfo.isPeriodic()) {
- builder = getPeriodicTaskBuilder(taskInfo.getPeriodicInfo());
- } else {
- builder = getOneOffTaskBuilder(taskInfo.getOneOffInfo());
- }
-
- builder.setExtras(taskExtras)
- .setPersisted(taskInfo.isPersisted())
- .setRequiredNetwork(getGcmNetworkManagerNetworkTypeFromTypeFromTaskNetworkType(
- taskInfo.getRequiredNetworkType()))
- .setRequiresCharging(taskInfo.requiresCharging())
- .setService(BackgroundTaskGcmTaskService.class)
- .setTag(taskIdToTaskTag(taskInfo.getTaskId()))
- .setUpdateCurrent(taskInfo.shouldUpdateCurrent());
-
- return builder.build();
- }
-
- private static Task.Builder getPeriodicTaskBuilder(TaskInfo.PeriodicInfo periodicInfo) {
- PeriodicTask.Builder builder = new PeriodicTask.Builder();
- builder.setPeriod(TimeUnit.MILLISECONDS.toSeconds(periodicInfo.getIntervalMs()));
- if (periodicInfo.hasFlex()) {
- builder.setFlex(TimeUnit.MILLISECONDS.toSeconds(periodicInfo.getFlexMs()));
- }
- return builder;
- }
-
- private static Task.Builder getOneOffTaskBuilder(TaskInfo.OneOffInfo oneOffInfo) {
- OneoffTask.Builder builder = new OneoffTask.Builder();
- long windowStartSeconds = oneOffInfo.hasWindowStartTimeConstraint()
- ? TimeUnit.MILLISECONDS.toSeconds(oneOffInfo.getWindowStartTimeMs())
- : 0;
- builder.setExecutionWindow(windowStartSeconds,
- TimeUnit.MILLISECONDS.toSeconds(oneOffInfo.getWindowEndTimeMs()));
- return builder;
- }
-
- private static int getGcmNetworkManagerNetworkTypeFromTypeFromTaskNetworkType(
- @TaskInfo.NetworkType int networkType) {
- switch (networkType) {
- // This is correct: GcmNM ANY means no network is guaranteed.
- case TaskInfo.NETWORK_TYPE_NONE:
- return Task.NETWORK_STATE_ANY;
- case TaskInfo.NETWORK_TYPE_ANY:
- return Task.NETWORK_STATE_CONNECTED;
- case TaskInfo.NETWORK_TYPE_UNMETERED:
- return Task.NETWORK_STATE_UNMETERED;
- default:
- assert false;
- }
- return Task.NETWORK_STATE_ANY;
- }
-
@Override
public boolean schedule(Context context, @NonNull TaskInfo taskInfo) {
ThreadUtils.assertOnUiThread();
@@ -142,50 +36,12 @@ class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedule
+ " has no parameterless public constructor.");
return false;
}
-
- GcmNetworkManager gcmNetworkManager = getGcmNetworkManager(context);
- if (gcmNetworkManager == null) {
- Log.e(TAG, "GcmNetworkManager is not available.");
- return false;
- }
-
- try {
- Task task = createTaskFromTaskInfo(taskInfo);
- gcmNetworkManager.schedule(task);
- } catch (IllegalArgumentException e) {
- String gcmErrorMessage = e.getMessage() == null ? "null." : e.getMessage();
- Log.e(TAG,
- "GcmNetworkManager failed to schedule task, gcm message: " + gcmErrorMessage);
- return false;
- }
-
- return true;
+ return false;
}
@Override
public void cancel(Context context, int taskId) {
ThreadUtils.assertOnUiThread();
-
- GcmNetworkManager gcmNetworkManager = getGcmNetworkManager(context);
- if (gcmNetworkManager == null) {
- Log.e(TAG, "GcmNetworkManager is not available.");
- return;
- }
-
- try {
- gcmNetworkManager.cancelTask(
- taskIdToTaskTag(taskId), BackgroundTaskGcmTaskService.class);
- } catch (IllegalArgumentException e) {
- Log.e(TAG, "GcmNetworkManager failed to cancel task.");
- }
- }
-
- private GcmNetworkManager getGcmNetworkManager(Context context) {
- if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context)
- == ConnectionResult.SUCCESS) {
- return GcmNetworkManager.getInstance(context);
- }
- return null;
}
private static String taskIdToTaskTag(int taskId) {
diff --git a/components/gcm_driver/android/BUILD.gn b/components/gcm_driver/android/BUILD.gn
--- a/components/gcm_driver/android/BUILD.gn
+++ b/components/gcm_driver/android/BUILD.gn
@@ -15,7 +15,6 @@ android_library("gcm_driver_java") {
deps = [
"//base:base_java",
"//content/public/android:content_java",
- "//third_party/android_tools:android_gcm_java",
"//third_party/jsr-305:jsr_305_javalib",
]
diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
--- a/components/gcm_driver/instance_id/android/BUILD.gn
+++ b/components/gcm_driver/instance_id/android/BUILD.gn
@@ -26,7 +26,6 @@ android_library("instance_id_driver_java") {
java_files = [
"java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java",
- "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java",
]
}
diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
--- a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
+++ b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
@@ -32,7 +32,6 @@ public class InstanceIDBridge {
* Underlying InstanceIDWithSubtype. May be shared by multiple InstanceIDBridges. Must be
* initialized on a background thread.
*/
- private InstanceIDWithSubtype mInstanceID;
private static boolean sBlockOnAsyncTasksForTesting;
@@ -108,7 +107,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<String>() {
@Override
protected String doBackgroundWork() {
- return mInstanceID.getId();
+ return "";
}
@Override
protected void sendResultToNative(String id) {
@@ -123,7 +122,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<Long>() {
@Override
protected Long doBackgroundWork() {
- return mInstanceID.getCreationTime();
+ return 0L;
}
@Override
protected void sendResultToNative(Long creationTime) {
@@ -148,12 +147,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<String>() {
@Override
protected String doBackgroundWork() {
- try {
- storeLazinessInformation(authorizedEntity, isLazy);
- return mInstanceID.getToken(authorizedEntity, scope, extras);
- } catch (IOException ex) {
- return "";
- }
+ return "";
}
@Override
protected void sendResultToNative(String token) {
@@ -169,12 +163,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<Boolean>() {
@Override
protected Boolean doBackgroundWork() {
- try {
- mInstanceID.deleteToken(authorizedEntity, scope);
- return true;
- } catch (IOException ex) {
- return false;
- }
+ return true;
}
@Override
protected void sendResultToNative(Boolean success) {
@@ -189,12 +178,7 @@ public class InstanceIDBridge {
new BridgeAsyncTask<Boolean>() {
@Override
protected Boolean doBackgroundWork() {
- try {
- mInstanceID.deleteInstanceID();
- return true;
- } catch (IOException ex) {
- return false;
- }
+ return true;
}
@Override
protected void sendResultToNative(Boolean success) {
@@ -233,11 +217,6 @@ public class InstanceIDBridge {
@Override
@SuppressWarnings("NoSynchronizedThisCheck") // Only used/accessible by native.
protected Result doInBackground() {
- synchronized (InstanceIDBridge.this) {
- if (mInstanceID == null) {
- mInstanceID = InstanceIDWithSubtype.getInstance(mSubtype);
- }
- }
return doBackgroundWork();
}
@Override
diff --git a/components/sync/android/BUILD.gn b/components/sync/android/BUILD.gn
--- a/components/sync/android/BUILD.gn
+++ b/components/sync/android/BUILD.gn
@@ -11,7 +11,6 @@ android_library("sync_java") {
"//components/signin/core/browser/android:java",
"//net/android:net_java",
"//third_party/android_deps:android_support_annotations_java",
- "//third_party/android_tools:android_gcm_java",
"//third_party/cacheinvalidation:cacheinvalidation_javalib",
"//third_party/cacheinvalidation:cacheinvalidation_proto_java",
"//third_party/jsr-305:jsr_305_javalib",
diff --git a/third_party/cacheinvalidation/BUILD.gn b/third_party/cacheinvalidation/BUILD.gn
--- a/third_party/cacheinvalidation/BUILD.gn
+++ b/third_party/cacheinvalidation/BUILD.gn
@@ -141,7 +141,6 @@ if (is_android) {
"$google_play_services_package:google_play_services_iid_java",
"$google_play_services_package:google_play_services_tasks_java",
"//third_party/android_protobuf:protobuf_nano_javalib",
- "//third_party/android_tools:android_gcm_java",
]
java_files = [
@@ -207,13 +206,8 @@ if (is_android) {
"src/java/com/google/ipc/invalidation/ticl/android2/WakeLockManager.java",
"src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidChannelConstants.java",
"src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidChannelPreferences.java",
- "src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidGcmController.java",
- "src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidInstanceIDListenerService.java",
- "src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidMessageReceiverService.java",
- "src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidMessageSenderService.java",
"src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java",
"src/java/com/google/ipc/invalidation/ticl/android2/channel/CommonUtils.java",
- "src/java/com/google/ipc/invalidation/ticl/android2/channel/GcmRegistrationTaskService.java",
"src/java/com/google/ipc/invalidation/ticl/android2/channel/GcmUpstreamSenderService.java",
"src/java/com/google/ipc/invalidation/ticl/proto/AndroidChannel.java",
"src/java/com/google/ipc/invalidation/ticl/proto/AndroidListenerProtocol.java",
diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/external/client/contrib/MultiplexingGcmListener.java b/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/external/client/contrib/MultiplexingGcmListener.java
--- a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/external/client/contrib/MultiplexingGcmListener.java
+++ b/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/external/client/contrib/MultiplexingGcmListener.java
@@ -16,9 +16,6 @@
package com.google.ipc.invalidation.external.client.contrib;
-import com.google.android.gcm.GCMBaseIntentService;
-import com.google.android.gcm.GCMBroadcastReceiver;
-import com.google.android.gcm.GCMRegistrar;
import com.google.ipc.invalidation.external.client.SystemResources.Logger;
import com.google.ipc.invalidation.external.client.android.service.AndroidLogger;
import com.google.ipc.invalidation.ticl.android2.WakeLockManager;
@@ -69,7 +66,7 @@ import android.content.pm.ServiceInfo;
* there is nothing to do except log an error (which this class does).
*
*/
-public class MultiplexingGcmListener extends GCMBaseIntentService {
+public class MultiplexingGcmListener {
/* This class is public so that it can be instantiated by the Android runtime. */
/** Constants used in broadcast Intents. */
@@ -106,18 +103,6 @@ public class MultiplexingGcmListener extends GCMBaseIntentService {
}
/**
- * {@link GCMBroadcastReceiver} that forwards GCM intents to the {@code MultiplexingGcmListener}
- * class.
- */
- public static class GCMReceiver extends GCMBroadcastReceiver {
- /* This class is public so that it can be instantiated by the Android runtime. */
- @Override
- protected String getGCMIntentServiceClassName(Context context) {
- return MultiplexingGcmListener.class.getName();
- }
- }
-
- /**
* Convenience base class for client implementations. It provides base classes for a broadcast
* receiver and an intent service that work together to handle events from the
* {@code MultiplexingGcmListener} while holding a wake lock.
@@ -260,85 +245,10 @@ public class MultiplexingGcmListener extends GCMBaseIntentService {
/** Logger. */
private static final Logger logger = AndroidLogger.forTag("MplexGcmListener");
- // All onYYY methods work by constructing an appropriate Intent and broadcasting it.
-
- @Override
- protected void onMessage(Context context, Intent intent) {
- Intent newIntent = new Intent();
- newIntent.putExtra(Intents.EXTRA_OP_MESSAGE, true);
- newIntent.putExtras(intent);
- rebroadcast(newIntent);
- }
-
- @Override
- protected void onRegistered(Context context, String registrationId) {
- Intent intent = new Intent();
- intent.putExtra(Intents.EXTRA_OP_REGISTERED, true);
- intent.putExtra(Intents.EXTRA_DATA_REG_ID, registrationId);
- rebroadcast(intent);
- }
-
- @Override
- protected void onUnregistered(Context context, String registrationId) {
- Intent intent = new Intent();
- intent.putExtra(Intents.EXTRA_OP_UNREGISTERED, true);
- intent.putExtra(Intents.EXTRA_DATA_REG_ID, registrationId);
- rebroadcast(intent);
- }
-
- @Override
- protected void onDeletedMessages(Context context, int total) {
- Intent intent = new Intent();
- intent.putExtra(Intents.EXTRA_OP_DELETED_MESSAGES, true);
- intent.putExtra(Intents.EXTRA_DATA_NUM_DELETED_MSGS, total);
- rebroadcast(intent);
- }
-
- @Override
- protected void onError(Context context, String errorId) {
- // This is called for unrecoverable errors, so just log a warning.
- logger.warning("GCM error: %s", errorId);
- }
-
- @Override
- protected String[] getSenderIds(Context context) {
- return readSenderIdsFromManifestOrDie(this);
- }
-
- /**
- * Broadcasts {@code intent} with the action set to {@link Intents#ACTION} and the package name
- * set to the package name of this service.
- */
- private void rebroadcast(Intent intent) {
- intent.setAction(Intents.ACTION);
- intent.setPackage(getPackageName());
- sendBroadcast(intent);
- }
-
- /**
- * Registers with GCM if not already registered. Also verifies that the device supports GCM
- * and that the manifest is correctly configured. Returns the existing registration id, if one
- * exists, or the empty string if one does not.
- *
- * @throws UnsupportedOperationException if the device does not have all GCM dependencies
- * @throws IllegalStateException if the manifest is not correctly configured
- */
- public static String initializeGcm(Context context) {
- AndroidChannelPreferences.setGcmChannelType(context, GcmChannelType.DEFAULT);
- GCMRegistrar.checkDevice(context);
- GCMRegistrar.checkManifest(context);
- final String regId = GCMRegistrar.getRegistrationId(context);
- if (regId.isEmpty()) {
- GCMRegistrar.register(context, readSenderIdsFromManifestOrDie(context));
- }
- return regId;
- }
-
/**
* Returns the GCM sender ids from {@link #GCM_SENDER_IDS_METADATA_KEY} or throws a
* {@code RuntimeException} if they are not defined.
*/
-
static String[] readSenderIdsFromManifestOrDie(Context context) {
try {
ServiceInfo serviceInfo = context.getPackageManager().getServiceInfo(
diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java b/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java
--- a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java
+++ b/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidNetworkChannel.java
@@ -48,16 +48,12 @@ public class AndroidNetworkChannel implements TestableNetworkChannel {
Intent intent = ProtocolIntents.newOutboundMessageIntent(outgoingMessage);
// Select the sender service to use for upstream message.
- if (AndroidChannelPreferences.getGcmChannelType(context) == GcmChannelType.GCM_UPSTREAM){
- String upstreamServiceClass = new AndroidTiclManifest(context).getGcmUpstreamServiceClass();
- if (upstreamServiceClass == null || upstreamServiceClass.isEmpty()) {
- logger.warning("GcmUpstreamSenderService class not found.");
- return;
- }
- intent.setClassName(context, upstreamServiceClass);
- } else {
- intent.setClassName(context, AndroidMessageSenderService.class.getName());
- }
+ String upstreamServiceClass = new AndroidTiclManifest(context).getGcmUpstreamServiceClass();
+ if (upstreamServiceClass == null || upstreamServiceClass.isEmpty()) {
+ logger.warning("GcmUpstreamSenderService class not found.");
+ return;
+ }
+ intent.setClassName(context, upstreamServiceClass);
try {
context.startService(intent);
} catch (IllegalStateException exception) {
@@ -77,6 +73,6 @@ public class AndroidNetworkChannel implements TestableNetworkChannel {
@Override
public NetworkEndpointId getNetworkIdForTest() {
- return AndroidMessageSenderService.getNetworkEndpointId(context, resources.getLogger());
+ return null;
}
}
--
2.11.0
@@ -0,0 +1,48 @@
From: thermatk <thermatk@thermatk.com>
Date: Fri, 22 Jun 2018 17:05:17 +0200
Subject: kill Location, fall back to system
---
services/device/geolocation/BUILD.gn | 1 -
.../chromium/device/geolocation/LocationProviderFactory.java | 10 ++--------
2 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
--- a/services/device/geolocation/BUILD.gn
+++ b/services/device/geolocation/BUILD.gn
@@ -131,7 +131,6 @@ if (is_android) {
"android/java/src/org/chromium/device/geolocation/LocationProviderAdapter.java",
"android/java/src/org/chromium/device/geolocation/LocationProviderAndroid.java",
"android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java",
- "android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java",
]
deps = [
diff --git a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java
--- a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java
+++ b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderFactory.java
@@ -26,19 +26,13 @@ public class LocationProviderFactory {
@CalledByNative
public static void useGmsCoreLocationProvider() {
- sUseGmsCoreLocationProvider = true;
+ sUseGmsCoreLocationProvider = false;
}
public static LocationProvider create() {
if (sProviderImpl != null) return sProviderImpl;
- if (sUseGmsCoreLocationProvider
- && LocationProviderGmsCore.isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext())) {
- sProviderImpl = new LocationProviderGmsCore(ContextUtils.getApplicationContext());
- } else {
- sProviderImpl = new LocationProviderAndroid();
- }
+ sProviderImpl = new LocationProviderAndroid();
return sProviderImpl;
}
}
--
2.11.0
@@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/layout/fre_tosanduma.xml b/chrome/android/j
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
@@ -180,7 +180,6 @@
@@ -181,7 +181,6 @@
<dimen name="fre_stacked_button_margin">8dp</dimen>
<dimen name="fre_margin">24dp</dimen>
<dimen name="fre_image_height">120dp</dimen>
@@ -1,11 +1,11 @@
From: thermatk <thermatk@thermatk.com>
Date: Fri, 22 Jun 2018 17:16:43 +0200
Subject: kill Translate(doesn't work)
Subject: kill Translate
---
chrome/android/java/res/xml/languages_preferences.xml | 3 ++-
.../src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
.../src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java | 3 +++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/res/xml/languages_preferences.xml b/chrome/android/java/res/xml/languages_preferences.xml
--- a/chrome/android/java/res/xml/languages_preferences.xml
@@ -30,14 +30,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
import org.chromium.ui.base.LocalizationUtils;
@@ -143,6 +144,7 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
mFreProgressStates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
notifyAdapter = true;
+ PrefServiceBridge.getInstance().setTranslateEnabled(false);
}
@@ -138,6 +139,8 @@ public class FirstRunActivity extends FirstRunActivityBase implements FirstRunPa
if (mPostNativePageSequenceCreated) return;
mFirstRunFlowSequencer.onNativeInitialized(mFreProperties);
// An optional page to select a default search engine.
+ PrefServiceBridge.getInstance().setTranslateEnabled(false);
+
boolean notifyAdapter = false;
// An optional Data Saver page.
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
--
2.11.0
+115
View File
@@ -0,0 +1,115 @@
From: thermatk <thermatk@thermatk.com>
Date: Fri, 22 Jun 2018 17:04:43 +0200
Subject: kill Vision
Barcode, face and text detection APIs
---
services/shape_detection/BUILD.gn | 4 ----
.../src/org/chromium/shape_detection/BitmapUtils.java | 12 ------------
.../shape_detection/FaceDetectionProviderImpl.java | 15 ++-------------
.../org/chromium/shape_detection/InterfaceRegistrar.java | 5 -----
4 files changed, 2 insertions(+), 34 deletions(-)
diff --git a/services/shape_detection/BUILD.gn b/services/shape_detection/BUILD.gn
--- a/services/shape_detection/BUILD.gn
+++ b/services/shape_detection/BUILD.gn
@@ -86,14 +86,10 @@ if (is_android) {
android_library("shape_detection_java") {
java_files = [
- "android/java/src/org/chromium/shape_detection/BarcodeDetectionImpl.java",
- "android/java/src/org/chromium/shape_detection/BarcodeDetectionProviderImpl.java",
"android/java/src/org/chromium/shape_detection/FaceDetectionImpl.java",
- "android/java/src/org/chromium/shape_detection/FaceDetectionImplGmsCore.java",
"android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java",
"android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java",
"android/java/src/org/chromium/shape_detection/BitmapUtils.java",
- "android/java/src/org/chromium/shape_detection/TextDetectionImpl.java",
]
deps = [
diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detection/BitmapUtils.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/BitmapUtils.java
--- a/services/shape_detection/android/java/src/org/chromium/shape_detection/BitmapUtils.java
+++ b/services/shape_detection/android/java/src/org/chromium/shape_detection/BitmapUtils.java
@@ -6,8 +6,6 @@ package org.chromium.shape_detection;
import android.graphics.Bitmap;
-import com.google.android.gms.vision.Frame;
-
import org.chromium.mojo_base.BigBufferUtil;
import org.chromium.skia.mojom.ColorType;
@@ -44,14 +42,4 @@ public class BitmapUtils {
return bitmap;
}
-
- public static Frame convertToFrame(org.chromium.skia.mojom.Bitmap bitmapData) {
- Bitmap bitmap = convertToBitmap(bitmapData);
- if (bitmap == null) {
- return null;
- }
-
- // This constructor implies a pixel format conversion to YUV.
- return new Frame.Builder().setBitmap(bitmap).build();
- }
}
diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
--- a/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
+++ b/services/shape_detection/android/java/src/org/chromium/shape_detection/FaceDetectionProviderImpl.java
@@ -4,9 +4,6 @@
package org.chromium.shape_detection;
-import com.google.android.gms.common.ConnectionResult;
-import com.google.android.gms.common.GoogleApiAvailability;
-
import org.chromium.base.ContextUtils;
import org.chromium.mojo.bindings.InterfaceRequest;
import org.chromium.mojo.system.MojoException;
@@ -24,16 +21,8 @@ public class FaceDetectionProviderImpl implements FaceDetectionProvider {
@Override
public void createFaceDetection(
InterfaceRequest<FaceDetection> request, FaceDetectorOptions options) {
- final boolean isGmsCoreSupported =
- GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(
- ContextUtils.getApplicationContext())
- == ConnectionResult.SUCCESS;
-
- if (isGmsCoreSupported) {
- FaceDetection.MANAGER.bind(new FaceDetectionImplGmsCore(options), request);
- } else {
- FaceDetection.MANAGER.bind(new FaceDetectionImpl(options), request);
- }
+
+ FaceDetection.MANAGER.bind(new FaceDetectionImpl(options), request);
}
@Override
diff --git a/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java b/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
--- a/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
+++ b/services/shape_detection/android/java/src/org/chromium/shape_detection/InterfaceRegistrar.java
@@ -8,9 +8,7 @@ import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.mojo.system.impl.CoreImpl;
import org.chromium.services.service_manager.InterfaceRegistry;
-import org.chromium.shape_detection.mojom.BarcodeDetectionProvider;
import org.chromium.shape_detection.mojom.FaceDetectionProvider;
-import org.chromium.shape_detection.mojom.TextDetection;
@JNINamespace("shape_detection")
class InterfaceRegistrar {
@@ -21,9 +19,6 @@ class InterfaceRegistrar {
InterfaceRegistry registry = InterfaceRegistry.create(
CoreImpl.getInstance().acquireNativeHandle(nativeHandle).toMessagePipeHandle());
registry.addInterface(
- BarcodeDetectionProvider.MANAGER, new BarcodeDetectionProviderImpl.Factory());
- registry.addInterface(
FaceDetectionProvider.MANAGER, new FaceDetectionProviderImpl.Factory());
- registry.addInterface(TextDetection.MANAGER, new TextDetectionImpl.Factory());
}
}
--
2.11.0
@@ -10,7 +10,7 @@ Out with all those tracking cookies!
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -119,7 +119,7 @@ void ContentSettingsRegistry::Init() {
@@ -118,7 +118,7 @@ void ContentSettingsRegistry::Init() {
// WARNING: The string names of the permissions passed in below are used to
// generate preference names and should never be changed!
@@ -22,7 +22,7 @@ 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
@@ -140,6 +140,7 @@ const char kSigninPromoLandingURLSuccessPage[] = "success.html";
@@ -130,6 +130,7 @@ const char kSigninPromoLandingURLSuccessPage[] = "success.html";
bool ShouldShowPromoAtStartup(Profile* profile, bool is_new_profile) {
DCHECK(profile);
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/safe_browsing/client_side_detection_service.cc b/chr
diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
--- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
@@ -1075,7 +1075,7 @@ void CheckClientDownloadRequest::SendRequest() {
@@ -1067,7 +1067,7 @@ void CheckClientDownloadRequest::SendRequest() {
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->url = PPAPIDownloadRequest::GetDownloadRequestUrl();
resource_request->method = "POST";
@@ -50,7 +50,7 @@ diff --git a/chrome/browser/safe_browsing/download_protection/check_client_downl
diff --git a/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc b/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
--- a/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
+++ b/chrome/browser/safe_browsing/download_protection/ppapi_download_request.cc
@@ -248,7 +248,7 @@ void PPAPIDownloadRequest::SendRequest() {
@@ -250,7 +250,7 @@ void PPAPIDownloadRequest::SendRequest() {
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->url = GetDownloadRequestUrl();
resource_request->method = "POST";
@@ -62,7 +62,7 @@ diff --git a/chrome/browser/safe_browsing/download_protection/ppapi_download_req
diff --git a/components/safe_browsing/browser/threat_details_cache.cc b/components/safe_browsing/browser/threat_details_cache.cc
--- a/components/safe_browsing/browser/threat_details_cache.cc
+++ b/components/safe_browsing/browser/threat_details_cache.cc
@@ -113,6 +113,7 @@ void ThreatDetailsCacheCollector::OpenEntry() {
@@ -115,6 +115,7 @@ void ThreatDetailsCacheCollector::OpenEntry() {
// Only from cache, and don't save cookies.
resource_request->load_flags = net::LOAD_ONLY_FROM_CACHE |
net::LOAD_SKIP_CACHE_VALIDATION |
@@ -46,20 +46,20 @@ diff --git a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
@@ -59,8 +59,7 @@ class SafeBrowsingBlockingPageFactoryImpl
PrefService* prefs =
Profile::FromBrowserContext(web_contents->GetBrowserContext())
->GetPrefs();
@@ -61,8 +61,7 @@ class SafeBrowsingBlockingPageFactoryImpl
Profile* profile =
Profile::FromBrowserContext(web_contents->GetBrowserContext());
PrefService* prefs = profile->GetPrefs();
- bool is_extended_reporting_opt_in_allowed =
- IsExtendedReportingOptInAllowed(*prefs);
+ bool is_extended_reporting_opt_in_allowed = false;
bool is_proceed_anyway_disabled =
prefs->GetBoolean(prefs::kSafeBrowsingProceedAnywayDisabled);
unified_consent::UnifiedConsentService* consent_service =
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
@@ -326,8 +326,10 @@ SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() {
@@ -329,8 +329,10 @@ SafeBrowsingUIManager* SafeBrowsingService::CreateUIManager() {
void SafeBrowsingService::RegisterAllDelayedAnalysis() {
#if defined(FULL_SAFE_BROWSING)
@@ -17,7 +17,7 @@ Related comment: https://bugs.chromium.org/p/chromium/issues/detail?id=710701#c1
diff --git a/third_party/blink/renderer/devtools/BUILD.gn b/third_party/blink/renderer/devtools/BUILD.gn
--- a/third_party/blink/renderer/devtools/BUILD.gn
+++ b/third_party/blink/renderer/devtools/BUILD.gn
@@ -1150,10 +1150,8 @@ action("generate_devtools_grd") {
@@ -1162,10 +1162,8 @@ action("generate_devtools_grd") {
devtools_embedder_scripts +
[ "$resources_out_dir/devtools_extension_api.js" ]
@@ -11,14 +11,14 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
--- a/components/gcm_driver/gcm_client_impl.cc
+++ b/components/gcm_driver/gcm_client_impl.cc
@@ -493,6 +493,7 @@ void GCMClientImpl::StartGCM() {
device_checkin_info_.Reset();
StartCheckin();
}
+ return;
void GCMClientImpl::InitializeMCSClient() {
+ return;
std::vector<GURL> endpoints;
endpoints.push_back(gservices_settings_.GetMCSMainEndpoint());
GURL fallback_endpoint = gservices_settings_.GetMCSFallbackEndpoint();
@@ -686,6 +687,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
DCHECK(network_connection_tracker_);
@@ -685,6 +686,7 @@ void GCMClientImpl::RemoveHeartbeatInterval(const std::string& scope) {
}
void GCMClientImpl::StartCheckin() {
@@ -26,7 +26,7 @@ diff --git a/components/gcm_driver/gcm_client_impl.cc b/components/gcm_driver/gc
// Make sure no checkin is in progress.
if (checkin_request_)
return;
@@ -761,6 +763,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
@@ -760,6 +762,7 @@ void GCMClientImpl::SetGServicesSettingsCallback(bool success) {
}
void GCMClientImpl::SchedulePeriodicCheckin() {
@@ -18,7 +18,7 @@ See also: 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
@@ -312,7 +312,6 @@
@@ -348,7 +348,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" />
@@ -26,7 +26,7 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
<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" />
@@ -453,7 +452,6 @@
@@ -492,7 +491,6 @@
<include name="IDR_WEBRTC_LOGS_JS" file="resources\media\webrtc_logs.js" type="BINDATA" />
<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" />
@@ -37,7 +37,7 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
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) {
@@ -67,7 +67,6 @@ bool IsComponentExtensionWhitelisted(int manifest_resource_id) {
#endif
case IDR_CRYPTOTOKEN_MANIFEST:
case IDR_FEEDBACK_MANIFEST:
@@ -98,9 +98,9 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_
-const size_t kMaxMessageSize = 1024 * 1024; // 1MB
+//const size_t kMaxMessageSize = 1024 * 1024; // 1MB
bool CookiePartsContains(const std::vector<std::string>& parts,
const char* part) {
@@ -262,6 +262,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
std::unique_ptr<const GaiaAuthConsumer::ClientOAuthResult>
ExtractOAuth2TokenPairResponse(const std::string& data) {
@@ -240,6 +240,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
const net::NetworkTrafficAnnotationTag& traffic_annotation) {
DCHECK(!fetch_pending_) << "Tried to fetch two things at once!";
@@ -108,7 +108,7 @@ diff --git a/google_apis/gaia/gaia_auth_fetcher.cc b/google_apis/gaia/gaia_auth_
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->url = gaia_gurl;
original_url_ = gaia_gurl;
@@ -310,6 +311,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
@@ -294,6 +295,7 @@ void GaiaAuthFetcher::CreateAndStartGaiaFetcher(
base::BindOnce(&GaiaAuthFetcher::OnURLLoadComplete,
base::Unretained(this)),
kMaxMessageSize);
@@ -71,7 +71,7 @@ diff --git a/chrome/common/page_load_metrics/page_load_metrics_util.cc b/chrome/
diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc
--- a/components/google/core/common/google_util.cc
+++ b/components/google/core/common/google_util.cc
@@ -42,118 +42,16 @@ namespace {
@@ -43,118 +43,16 @@ namespace {
bool gUseMockLinkDoctorBaseURLForTesting = false;
@@ -148,9 +148,9 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
- // 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());
- static base::NoDestructor<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
@@ -163,10 +163,10 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
- base::StringPiece host(url.host_piece());
- StripTrailingDot(&host);
-
- CR_DEFINE_STATIC_LOCAL(std::set<std::string>, google_subdomains,
- ({"ipv4.google.com", "ipv6.google.com"}));
- static base::NoDestructor<std::set<std::string>> google_subdomains(
- {"ipv4.google.com", "ipv6.google.com"});
-
- return base::ContainsKey(google_subdomains, host.as_string());
- return base::ContainsKey(*google_subdomains, host.as_string());
-}
-
} // namespace
@@ -191,7 +191,7 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
}
void SetMockLinkDoctorBaseURLForTesting() {
@@ -167,120 +65,50 @@ std::string GetGoogleLocale(const std::string& application_locale) {
@@ -168,120 +66,50 @@ std::string GetGoogleLocale(const std::string& application_locale) {
GURL AppendGoogleLocaleParam(const GURL& url,
const std::string& application_locale) {
@@ -237,19 +237,19 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
- // 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, ());
- static base::NoDestructor<std::string> switch_value;
static base::NoDestructor<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();
- 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;
+ *base_url = GURL();
return *base_url;
}
bool StartsWithCommandLineGoogleBaseURL(const GURL& url) {
@@ -12,7 +12,7 @@ Subject: ungoogled-chromium: Disable domain reliability
diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliability/BUILD.gn
--- a/components/domain_reliability/BUILD.gn
+++ b/components/domain_reliability/BUILD.gn
@@ -7,26 +7,6 @@ action("bake_in_configs") {
@@ -9,26 +9,6 @@ action("bake_in_configs") {
script = "bake_in_configs.py"
inputs = [
@@ -39,7 +39,7 @@ diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliabil
]
output_file = "$target_gen_dir/baked_in_configs.cc"
@@ -36,13 +16,21 @@ action("bake_in_configs") {
@@ -38,13 +18,21 @@ action("bake_in_configs") {
# The JSON file list is too long for the command line on Windows, so put
# them in a response file.
@@ -67,7 +67,7 @@ diff --git a/components/domain_reliability/BUILD.gn b/components/domain_reliabil
+ }
}
component("domain_reliability") {
jumbo_component("domain_reliability") {
diff --git a/components/domain_reliability/bake_in_configs.py b/components/domain_reliability/bake_in_configs.py
--- a/components/domain_reliability/bake_in_configs.py
+++ b/components/domain_reliability/bake_in_configs.py

Some files were not shown because too many files have changed in this diff Show More