Adding some patches from CopperheadOS

This commit is contained in:
csagan5
2017-10-26 17:12:59 +02:00
parent 6d337a4945
commit cd354c6786
4 changed files with 218 additions and 0 deletions
+2
View File
@@ -1,6 +1,8 @@
# 63.0.3239.15
* remove URL tracking from Google search results
* disable webRTC by default
* use 64bit processes for WebView/Monochrome processes
* do not enable search engine geolocation by default
# 63.0.3239.10
* attempt enabling API keys (didn't work)
@@ -0,0 +1,26 @@
From ee80624a6cad6e19a281a59cfea32f406e7ee03d Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 26 Jan 2017 01:30:12 -0500
Subject: [PATCH 12/21] use 64-bit WebView processes
---
android_webview/apk/java/AndroidManifest.xml | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/android_webview/apk/java/AndroidManifest.xml b/android_webview/apk/java/AndroidManifest.xml
index 23b55ecb437a..3f7212fe2807 100644
--- a/android_webview/apk/java/AndroidManifest.xml
+++ b/android_webview/apk/java/AndroidManifest.xml
@@ -20,8 +20,7 @@
<application android:label="Android System WebView"
android:icon="@drawable/icon_webview"
- android:multiArch="true"
- android:use32bitAbi="true">
+ android:multiArch="true">
{# This part is shared between stand-alone WebView and Monochrome #}
{% macro common(manifest_package, webview_lib) %}
<meta-data android:name="com.android.webview.WebViewLibrary"
--
2.14.2
@@ -0,0 +1,121 @@
From c2dd6249a583c31b2cee53685c1fa83492999533 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Wed, 5 Jul 2017 00:22:37 -0400
Subject: [PATCH 13/21] use 64-bit Monochrome processes
---
android_webview/BUILD.gn | 2 ++
chrome/android/BUILD.gn | 22 ++++++----------------
chrome/android/chrome_public_apk_tmpl.gni | 8 +-------
chrome/android/java/AndroidManifest_monochrome.xml | 1 -
...monochrome_android_manifest_jinja_variables.gni | 1 -
5 files changed, 9 insertions(+), 25 deletions(-)
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
index 6267dbe3aa99..8cee7e02559a 100644
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
@@ -404,7 +404,9 @@ if (android_64bit_target_cpu) {
"//v8($android_secondary_abi_toolchain)",
]
}
+}
+if (android_64bit_target_cpu && current_toolchain == android_secondary_abi_toolchain) {
shared_library("monochrome") {
deps = [
":webview_entry_point",
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index ef704f883f2e..8648e853775b 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -749,13 +749,7 @@ if (current_toolchain == default_toolchain) {
if (enable_resource_whitelist_generation) {
generate_resource_whitelist("monochrome_resource_whitelist") {
- # Always use the 32-bit library's whitelist since the 64-bit one is
- # webview-only.
- if (!android_64bit_target_cpu) {
- _fat_lib_toolchain = current_toolchain
- } else {
- _fat_lib_toolchain = android_secondary_abi_toolchain
- }
+ _fat_lib_toolchain = current_toolchain
deps = [
":monochrome($_fat_lib_toolchain)",
]
@@ -869,14 +863,8 @@ if (current_toolchain == default_toolchain) {
}
} # current_toolchain == host_toolchain
-#
-# Only 32-bit //chrome/android/monochrome is needed, beside
-# being built with 32-bit default toolchain, it is also built
-# with secondary 32-bit toolchain in 64-bit platform because we
-# need 64-bit //android_webview/monochrome and 32-bit this target
-# for 64-bit APK.
if (!android_64bit_target_cpu ||
- current_toolchain == android_secondary_abi_toolchain) {
+ current_toolchain != android_secondary_abi_toolchain) {
shared_library("monochrome") {
sources = [
"../app/android/chrome_main_delegate_android_initializer.cc",
@@ -901,10 +889,12 @@ if (!android_64bit_target_cpu ||
public_configs = extra_chrome_shared_library_configs
}
-} else {
+}
+
+if (android_64bit_target_cpu && current_toolchain != android_secondary_abi_toolchain) {
group("monochrome_secondary_abi_lib") {
public_deps = [
- ":monochrome($android_secondary_abi_toolchain)",
+ "//android_webview:monochrome($android_secondary_abi_toolchain)",
]
}
}
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
index 5a115915e7ef..7302ab2e15c8 100644
--- a/chrome/android/chrome_public_apk_tmpl.gni
+++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -98,13 +98,7 @@ template("chrome_public_apk_tmpl") {
template("monochrome_public_apk_tmpl") {
chrome_public_apk_tmpl(target_name) {
- # Always build 64-bit //android_webview:monochrome because Chrome runs
- # in 32-bit mode.
- if (android_64bit_target_cpu) {
- shared_libraries = [ "//android_webview:monochrome" ]
- } else {
- shared_libraries = [ "//chrome/android:monochrome" ]
- }
+ shared_libraries = [ "//chrome/android:monochrome" ]
if (android_64bit_target_cpu && build_apk_secondary_abi) {
secondary_abi_shared_libraries =
[ "//chrome/android:monochrome_secondary_abi_lib" ]
diff --git a/chrome/android/java/AndroidManifest_monochrome.xml b/chrome/android/java/AndroidManifest_monochrome.xml
index 5ae85dec51d1..934d13d806dc 100644
--- a/chrome/android/java/AndroidManifest_monochrome.xml
+++ b/chrome/android/java/AndroidManifest_monochrome.xml
@@ -19,7 +19,6 @@
{{ super() }}
android:multiArch="true"
android:extractNativeLibs="false"
-{{use32bitAbi|default('')}}
{% endblock %}
{% block extra_keyset_definitions %}
diff --git a/chrome/android/monochrome_android_manifest_jinja_variables.gni b/chrome/android/monochrome_android_manifest_jinja_variables.gni
index dcbfa96764a1..8e6d7ccac9e2 100644
--- a/chrome/android/monochrome_android_manifest_jinja_variables.gni
+++ b/chrome/android/monochrome_android_manifest_jinja_variables.gni
@@ -5,5 +5,4 @@
monochrome_android_manifest_jinja_variables = [
"min_sdk_version=24",
"sandboxed_service_exported=true",
- "use32bitAbi=android:use32bitAbi=\"true\"",
]
--
2.14.2
@@ -0,0 +1,69 @@
From bc266421a13f4967a3d5b49830c338f59e4f2dd5 Mon Sep 17 00:00:00 2001
From: Daniel Micay <danielmicay@gmail.com>
Date: Tue, 1 Aug 2017 20:29:56 -0400
Subject: [PATCH 19/21] stop enabling search engine geolocation by default
---
.../search_geolocation_service.cc | 25 ++++++++++------------
1 file changed, 11 insertions(+), 14 deletions(-)
diff --git a/chrome/browser/android/search_geolocation/search_geolocation_service.cc b/chrome/browser/android/search_geolocation/search_geolocation_service.cc
index 0ed5540c3262..e5721d53c344 100644
--- a/chrome/browser/android/search_geolocation/search_geolocation_service.cc
+++ b/chrome/browser/android/search_geolocation/search_geolocation_service.cc
@@ -208,7 +208,14 @@ void SearchGeolocationService::SetDSEGeolocationSetting(bool setting) {
pref.setting = setting;
SetDSEGeolocationPref(pref);
- ResetContentSetting();
+ url::Origin origin = delegate_->GetDSEOrigin();
+ if (setting) {
+ host_content_settings_map_->SetContentSettingDefaultScope(
+ origin.GetURL(), origin.GetURL(), CONTENT_SETTINGS_TYPE_GEOLOCATION,
+ std::string(), CONTENT_SETTING_ALLOW);
+ } else {
+ ResetContentSetting();
+ }
}
url::Origin SearchGeolocationService::GetDSEOriginIfEnabled() {
@@ -232,11 +239,7 @@ void SearchGeolocationService::OnDSEChanged() {
// Remove any geolocation embargo on the URL.
PermissionDecisionAutoBlocker::GetForProfile(profile_)->RemoveEmbargoByUrl(
delegate_->GetDSEOrigin().GetURL(), CONTENT_SETTINGS_TYPE_GEOLOCATION);
- if (content_setting == CONTENT_SETTING_BLOCK && pref.setting) {
- pref.setting = false;
- } else if (content_setting == CONTENT_SETTING_ALLOW && !pref.setting) {
- ResetContentSetting();
- }
+ pref.setting = content_setting == CONTENT_SETTING_ALLOW;
if (new_dse_name != pref.dse_name && pref.setting)
SearchGeolocationDisclosureTabHelper::ResetDisclosure(profile_);
@@ -279,7 +282,7 @@ void SearchGeolocationService::InitializeDSEGeolocationSettingIfNeeded() {
PrefValue pref;
pref.dse_name = delegate_->GetDSEName();
- pref.setting = content_setting != CONTENT_SETTING_BLOCK;
+ pref.setting = content_setting == CONTENT_SETTING_ALLOW;
SetDSEGeolocationPref(pref);
SearchGeolocationDisclosureTabHelper::ResetDisclosure(profile_);
@@ -289,13 +292,7 @@ void SearchGeolocationService::InitializeDSEGeolocationSettingIfNeeded() {
void SearchGeolocationService::EnsureDSEGeolocationSettingIsValid() {
PrefValue pref = GetDSEGeolocationPref();
ContentSetting content_setting = GetCurrentContentSetting();
- bool new_setting = pref.setting;
-
- if (pref.setting && content_setting == CONTENT_SETTING_BLOCK) {
- new_setting = false;
- } else if (!pref.setting && content_setting == CONTENT_SETTING_ALLOW) {
- new_setting = true;
- }
+ bool new_setting = content_setting == CONTENT_SETTING_ALLOW;
if (pref.setting != new_setting) {
pref.setting = new_setting;
--
2.14.2