From 3b5efef49c5215baff3e7d96001fbc2555a0fc01 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Mon, 6 Mar 2023 12:20:30 +0100 Subject: [PATCH] v111 final patch --- build/bromite_patches_list.txt | 77 ++-- ...ADDTO-Add-a-proxy-configuration-page.patch | 243 ++++++++++++ .../00111-ADDTO-Add-webGL-site-setting.patch | 21 + ...00111-ADDTO-Add-webRTC-site-settings.patch | 21 + ...TO-Experimental-user-scripts-support.patch | 362 ++++++++++++++++++ .../00111-ADDTO-Timezone-customization.patch | 21 + ...00111-Add-AllowUserCertificates-flag.patch | 22 ++ .../00111-Add-an-always-incognito-mode.patch | 30 ++ ...1-Add-menu-item-to-bookmark-all-tabs.patch | 65 ++++ .../00111-Add-option-to-force-tablet-UI.patch | 21 + .../00111-Bromite-subresource-adblocker.patch | 140 +++++++ .../00111-Disable-all-predictors-code.patch | 22 ++ .../00111-Logcat-crash-reports-UI.patch | 23 ++ .../00111-Move-navigation-bar-to-bottom.patch | 78 ++++ ...-Remove-signin-and-sync-integrations.patch | 52 +++ build/patches/00111-temp-fix-build.patch | 24 ++ .../00Viewport-Protection-Site-Setting.patch | 11 +- .../00WIN-ADDTO-Disable-safe-browsing.patch | 20 +- ...-Remove-signin-and-sync-integrations.patch | 51 ++- 19 files changed, 1250 insertions(+), 54 deletions(-) create mode 100644 build/patches/00111-ADDTO-Add-a-proxy-configuration-page.patch create mode 100644 build/patches/00111-ADDTO-Add-webGL-site-setting.patch create mode 100644 build/patches/00111-ADDTO-Add-webRTC-site-settings.patch create mode 100644 build/patches/00111-ADDTO-Experimental-user-scripts-support.patch create mode 100644 build/patches/00111-ADDTO-Timezone-customization.patch create mode 100644 build/patches/00111-Add-AllowUserCertificates-flag.patch create mode 100644 build/patches/00111-Add-an-always-incognito-mode.patch create mode 100644 build/patches/00111-Add-menu-item-to-bookmark-all-tabs.patch create mode 100644 build/patches/00111-Add-option-to-force-tablet-UI.patch create mode 100644 build/patches/00111-Bromite-subresource-adblocker.patch create mode 100644 build/patches/00111-Disable-all-predictors-code.patch create mode 100644 build/patches/00111-Logcat-crash-reports-UI.patch create mode 100644 build/patches/00111-Move-navigation-bar-to-bottom.patch create mode 100644 build/patches/00111-Remove-signin-and-sync-integrations.patch create mode 100644 build/patches/00111-temp-fix-build.patch diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt index b2b1d8b0..c8c59554 100644 --- a/build/bromite_patches_list.txt +++ b/build/bromite_patches_list.txt @@ -212,6 +212,50 @@ Add-kill-switch-for-unsupported-clangd-flags.patch 00109-ADDTO-Add-webRTC-site-settings.patch 00109-ADDTO-Add-a-proxy-configuration-page.patch 00109-ADDTO-OpenSearch--miscellaneous.patch +00109-ADDNEW-ungoogled-chr-no-special-hosts-domains.patch +00109-ADDNEW-Disable-fetching-of-all-field-trials.patch +00109-ADDNEW-Guard-for-user-agent-reduction.patch +00109-ADDNEW-Client-hints-overrides.patch +00109-ADDNEW-Move-navigation-bar-to-bottom.patch +00109-ADDNEW-Remove-HTTP-referrals-in-cross-origin-navi.patch +00109-ADDNEW-Enable-share-intent.patch +00109-ADDNEW-Add-an-always-incognito-mode.patch + +00110-ADDTO-Samsung-Note-9-SDK27-crazylinker-workaro.patch +00110-ADDTO-Remove-signin-and-sync-integrations.patch +00110-ADDTO-Experimental-user-scripts-support.patch +00110-ADDTO-Remove-blocklisted-URLs-upon-bookmark.patch +00110-ADDTO-Logcat-crash-reports-UI.patch +00110-ADDTO-Enable-native-Android-autofill.patch +00110-ADDTO-Add-lifetime-options-for-permissions.patch +00110-ADDTO-Do-not-compile-QR-code-sharing.patch +00110-ADDTO-Disable-safe-browsing.patch +00110-ADDTO-Do-not-store-passwords-by-default.patch +00110-ADDTO-Content-settings-infrastructure.patch +00110-ADDTO-Timezone-customization.patch +00110-ADDTO-Revert-the-removal-of-an-option-to-block.patch +00110-ADDTO-JIT-site-settings.patch +00110-ADDTO-Site-setting-for-images.patch +00110-ADDTO-Allow-building-without-enable-reporting.patch +00110-ADDTO-Revert-removal-of-execution-context-addr.patch +00110-ADDTO-Add-custom-tab-intents-privacy-option.patch +00110-ADDTO-Multiple-fingerprinting-mitigations.patch +00110-ADDTO-Disable-all-predictors-code.patch + +00111-Move-navigation-bar-to-bottom.patch +00111-Add-AllowUserCertificates-flag.patch +00111-Add-menu-item-to-bookmark-all-tabs.patch +00111-Bromite-subresource-adblocker.patch +00111-Remove-signin-and-sync-integrations.patch +00111-ADDTO-Add-a-proxy-configuration-page.patch +00111-Add-an-always-incognito-mode.patch +00111-Add-option-to-force-tablet-UI.patch +00111-ADDTO-Experimental-user-scripts-support.patch +00111-Disable-all-predictors-code.patch +00111-Logcat-crash-reports-UI.patch +00111-ADDTO-Timezone-customization.patch +00111-ADDTO-Add-webRTC-site-settings.patch +00111-ADDTO-Add-webGL-site-setting.patch 00AdblockPlus.patch 00Eyeo-Adblock-Remove-Privacy-Issues.patch @@ -247,37 +291,6 @@ Add-kill-switch-for-unsupported-clangd-flags.patch 00WIN-ADDTO-ungoogled-chromium--no-special-hosts-d.patch 00WIN-ADDTO-Logcat-crash-reports-UI.patch 00WIN-ADDTO-Add-AllowUserCertificates-flag.patch - -00109-ADDNEW-ungoogled-chr-no-special-hosts-domains.patch -00109-ADDNEW-Disable-fetching-of-all-field-trials.patch -00109-ADDNEW-Guard-for-user-agent-reduction.patch -00109-ADDNEW-Client-hints-overrides.patch -00109-ADDNEW-Move-navigation-bar-to-bottom.patch -00109-ADDNEW-Remove-HTTP-referrals-in-cross-origin-navi.patch -00109-ADDNEW-Enable-share-intent.patch -00109-ADDNEW-Add-an-always-incognito-mode.patch - -00110-ADDTO-Samsung-Note-9-SDK27-crazylinker-workaro.patch -00110-ADDTO-Remove-signin-and-sync-integrations.patch -00110-ADDTO-Experimental-user-scripts-support.patch -00110-ADDTO-Remove-blocklisted-URLs-upon-bookmark.patch -00110-ADDTO-Logcat-crash-reports-UI.patch -00110-ADDTO-Enable-native-Android-autofill.patch -00110-ADDTO-Add-lifetime-options-for-permissions.patch -00110-ADDTO-Do-not-compile-QR-code-sharing.patch -00110-ADDTO-Disable-safe-browsing.patch -00110-ADDTO-Do-not-store-passwords-by-default.patch -00110-ADDTO-Content-settings-infrastructure.patch -00110-ADDTO-Timezone-customization.patch -00110-ADDTO-Revert-the-removal-of-an-option-to-block.patch -00110-ADDTO-JIT-site-settings.patch -00110-ADDTO-Site-setting-for-images.patch -00110-ADDTO-Allow-building-without-enable-reporting.patch -00110-ADDTO-Revert-removal-of-execution-context-addr.patch -00110-ADDTO-Add-custom-tab-intents-privacy-option.patch -00110-ADDTO-Multiple-fingerprinting-mitigations.patch -00110-ADDTO-Disable-all-predictors-code.patch - 00WIN-enable-pdf-plugin.patch 00WIN-disable-annotate-downloads.patch 00WIN-enable-HighEfficiencyMode-by-default.patch @@ -303,3 +316,5 @@ AudioBuffer-AnalyserNode-fp-mitigations.patch 00WIN-Enable-Network-Service-Sandbox-and-CIG.patch 00Disable-csp-reports.patch 00Fonts-fingerprinting-mitigation.patch + +00111-temp-fix-build.patch \ No newline at end of file diff --git a/build/patches/00111-ADDTO-Add-a-proxy-configuration-page.patch b/build/patches/00111-ADDTO-Add-a-proxy-configuration-page.patch new file mode 100644 index 00000000..810319db --- /dev/null +++ b/build/patches/00111-ADDTO-Add-a-proxy-configuration-page.patch @@ -0,0 +1,243 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:08:39 +0000 +Subject: 111 ADDTO Add a proxy configuration page + +--- + chrome/browser/ui/webui/proxy_config_ui.cc | 127 +++++++++------------ + 1 file changed, 53 insertions(+), 74 deletions(-) + +diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webui/proxy_config_ui.cc +--- a/chrome/browser/ui/webui/proxy_config_ui.cc ++++ b/chrome/browser/ui/webui/proxy_config_ui.cc +@@ -23,7 +23,6 @@ + #include + #include + +-#include "base/bind.h" + #include "base/command_line.h" + #include "base/lazy_instance.h" + #include "base/memory/ref_counted.h" +@@ -104,7 +103,7 @@ class ProxyConfigMessageHandler + std::unique_ptr pref_proxy_config_tracker_; + bool is_observing_; + +- void encodeConfig(const net::ProxyConfig& config, base::DictionaryValue& state); ++ void encodeConfig(const net::ProxyConfig& config, base::Value::Dict& state); + + void apply(const net::ProxyConfig& config); + +@@ -146,21 +145,21 @@ void ProxyConfigMessageHandler::OnProxyConfigChanged( + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) || + !BrowserThread::IsThreadInitialized(BrowserThread::UI)); + +- base::DictionaryValue state; ++ base::Value::Dict state; + bool pending = false; + switch (availability) { + case net::ProxyConfigService::CONFIG_VALID: + encodeConfig(config.value(), state); + break; + case net::ProxyConfigService::CONFIG_UNSET: +- state.SetPath({"config", "rules", "type"}, base::Value("none")); ++ state.SetByDottedPath("config.rules.type", base::Value("none")); + break; + case net::ProxyConfigService::CONFIG_PENDING: + //NOTE: this can only happen when triggered manually first time + pending = true; + break; + } +- state.SetKey("pending", base::Value(pending)); ++ state.Set("pending", base::Value(pending)); + + // call Javascript function + web_ui()->CallJavascriptFunctionUnsafe("ProxyConfigView.getInstance().onProxyConfigChanged", +@@ -174,19 +173,19 @@ const std::string omitDirect(const std::string pacString) { + return pacString; + } + +-void ProxyConfigMessageHandler::encodeConfig(const net::ProxyConfig& config, base::DictionaryValue& state) { ++void ProxyConfigMessageHandler::encodeConfig(const net::ProxyConfig& config, base::Value::Dict& state) { + // when automatic settings are enabled they take precedence over manual settings + // automatic settings are either the "auto-detect" flag or the existance of a PAC URL + +- state.SetPath({"config", "auto_detect"}, base::Value(config.auto_detect())); ++ state.SetByDottedPath("config.auto_detect", base::Value(config.auto_detect())); + + auto rules = config.proxy_rules(); + if (config.has_pac_url()) { +- state.SetPath({"config", "pac_url"}, base::Value(config.pac_url().spec())); +- state.SetPath({"config", "pac_mandatory"}, base::Value(config.pac_mandatory())); +- state.SetPath({"config", "rules", "type"}, base::Value("none")); +- state.SetPath({"config", "rules", "bypass_rules"}, base::Value(rules.bypass_rules.ToString())); +- state.SetPath({"config", "rules", "reverse_bypass"}, base::Value(rules.reverse_bypass)); ++ state.SetByDottedPath("config.pac_url", base::Value(config.pac_url().spec())); ++ state.SetByDottedPath("config.pac_mandatory", base::Value(config.pac_mandatory())); ++ state.SetByDottedPath("config.rules.type", base::Value("none")); ++ state.SetByDottedPath("config.rules.bypass_rules", base::Value(rules.bypass_rules.ToString())); ++ state.SetByDottedPath("config.rules.reverse_bypass", base::Value(rules.reverse_bypass)); + return; + } + +@@ -198,23 +197,23 @@ void ProxyConfigMessageHandler::encodeConfig(const net::ProxyConfig& config, bas + case net::ProxyConfig::ProxyRules::Type::PROXY_LIST: + type = "list"; + +- state.SetPath({"config", "rules", "single_proxies"}, base::Value(omitDirect(rules.single_proxies.ToPacString()))); ++ state.SetByDottedPath("config.rules.single_proxies", base::Value(omitDirect(rules.single_proxies.ToPacString()))); + break; + case net::ProxyConfig::ProxyRules::Type::PROXY_LIST_PER_SCHEME: + type = "list_per_scheme"; + +- state.SetPath({"config", "rules", "proxies_for_http"}, base::Value(omitDirect(rules.proxies_for_http.ToPacString()))); +- state.SetPath({"config", "rules", "proxies_for_https"}, base::Value(omitDirect(rules.proxies_for_https.ToPacString()))); +- state.SetPath({"config", "rules", "proxies_for_ftp"}, base::Value(omitDirect(rules.proxies_for_ftp.ToPacString()))); +- state.SetPath({"config", "rules", "fallback_proxies"}, base::Value(omitDirect(rules.fallback_proxies.ToPacString()))); ++ state.SetByDottedPath("config.rules.proxies_for_http", base::Value(omitDirect(rules.proxies_for_http.ToPacString()))); ++ state.SetByDottedPath("config.rules.proxies_for_https", base::Value(omitDirect(rules.proxies_for_https.ToPacString()))); ++ state.SetByDottedPath("config.rules.proxies_for_ftp", base::Value(omitDirect(rules.proxies_for_ftp.ToPacString()))); ++ state.SetByDottedPath("config.rules.fallback_proxies", base::Value(omitDirect(rules.fallback_proxies.ToPacString()))); + break; + default: + NOTREACHED(); + break; + } +- state.SetPath({"config", "rules", "type"}, base::Value(type)); +- state.SetPath({"config", "rules", "bypass_rules"}, base::Value(rules.bypass_rules.ToString())); +- state.SetPath({"config", "rules", "reverse_bypass"}, base::Value(rules.reverse_bypass)); ++ state.SetByDottedPath("config.rules.type", base::Value(type)); ++ state.SetByDottedPath("config.rules.bypass_rules", base::Value(rules.bypass_rules.ToString())); ++ state.SetByDottedPath("config.rules.reverse_bypass", base::Value(rules.reverse_bypass)); + } + + ProxyConfigMessageHandler::~ProxyConfigMessageHandler() { +@@ -284,77 +283,59 @@ void ProxyConfigMessageHandler::OnApply(const base::Value::List& list) { + return; + } + +- const base::DictionaryValue* config = nullptr; +- if (!list[0].GetAsDictionary(&config)) +- return; +- +- const base::Value *autoDetect = config->FindKeyOfType("auto_detect", base::Value::Type::BOOLEAN); +- if (autoDetect == nullptr) +- return; ++ const base::Value::Dict& config = list[0].GetDict(); + +- if (autoDetect->GetBool()) { ++ if (config.FindBool("auto_detect").value_or(false)) { + apply(net::ProxyConfig::CreateAutoDetect()); + return; + } + +- const base::Value *pacURL = config->FindKeyOfType("pac_url", base::Value::Type::STRING); +- if (pacURL != nullptr) { +- const base::Value *pacMandatory = config->FindKeyOfType("pac_mandatory", base::Value::Type::BOOLEAN); +- if (pacMandatory == nullptr) +- return; +- auto proxyConfig = net::ProxyConfig::CreateFromCustomPacURL(GURL(pacURL->GetString())); +- proxyConfig.set_pac_mandatory(pacMandatory->GetBool()); +- ++ if (const std::string* pacURL = config.FindString("pac_url")) { ++ absl::optional pacMandatory = config.FindBool("pac_mandatory"); ++ auto proxyConfig = net::ProxyConfig::CreateFromCustomPacURL( ++ GURL(*pacURL)); ++ proxyConfig.set_pac_mandatory(pacMandatory.value_or(false)); + apply(proxyConfig); + return; + } + +- const base::Value *rules = config->FindKeyOfType("rules", base::Value::Type::DICTIONARY); ++ const base::Value::Dict* rules = config.FindDict("rules"); + if (rules == nullptr) + return; + +- const base::Value *type = rules->FindKeyOfType("type", base::Value::Type::STRING); +- if (type == nullptr) +- return; +- + net::ProxyConfig proxyConfig; +- + bool readBypass = false; + +- auto t = type->GetString(); +- if (t == "list") { +- const base::Value *single_proxies = rules->FindKeyOfType("single_proxies", base::Value::Type::STRING); ++ const std::string* type = rules->FindString("type"); ++ if (type == nullptr) ++ return; ++ ++ if (*type == "list") { ++ const std::string* single_proxies = rules->FindString("single_proxies"); + if (single_proxies == nullptr) + return; + proxyConfig.proxy_rules().type = net::ProxyConfig::ProxyRules::Type::PROXY_LIST; +- proxyConfig.proxy_rules().single_proxies.SetFromPacString(single_proxies->GetString()); ++ proxyConfig.proxy_rules().single_proxies.SetFromPacString(*single_proxies); + readBypass = true; +- } else if (t == "list_per_scheme") { +- const base::Value *http = rules->FindKeyOfType("proxies_for_http", base::Value::Type::STRING); +- if (http == nullptr) +- return; +- +- const base::Value *https = rules->FindKeyOfType("proxies_for_https", base::Value::Type::STRING); +- if (https == nullptr) +- return; +- +- const base::Value *ftp = rules->FindKeyOfType("proxies_for_ftp", base::Value::Type::STRING); +- if (ftp == nullptr) +- return; +- +- const base::Value *fallback = rules->FindKeyOfType("fallback_proxies", base::Value::Type::STRING); +- if (fallback == nullptr) +- return; ++ } else if (*type == "list_per_scheme") { ++ const std::string* http = rules->FindString("proxies_for_http"); ++ const std::string* https = rules->FindString("proxies_for_https"); ++ const std::string* ftp = rules->FindString("proxies_for_ftp"); ++ const std::string* fallback = rules->FindString("fallback_proxies"); + + proxyConfig.proxy_rules().type = net::ProxyConfig::ProxyRules::Type::PROXY_LIST_PER_SCHEME; +- proxyConfig.proxy_rules().proxies_for_http.SetFromPacString(http->GetString()); +- proxyConfig.proxy_rules().proxies_for_https.SetFromPacString(https->GetString()); +- proxyConfig.proxy_rules().proxies_for_ftp.SetFromPacString(ftp->GetString()); +- proxyConfig.proxy_rules().fallback_proxies.SetFromPacString(fallback->GetString()); ++ if (http) ++ proxyConfig.proxy_rules().proxies_for_http.SetFromPacString(*http); ++ if (https) ++ proxyConfig.proxy_rules().proxies_for_https.SetFromPacString(*https); ++ if (ftp) ++ proxyConfig.proxy_rules().proxies_for_ftp.SetFromPacString(*ftp); ++ if (fallback) ++ proxyConfig.proxy_rules().fallback_proxies.SetFromPacString(*fallback); + readBypass = true; +- } else if (t == "direct") { ++ } else if (*type == "direct") { + proxyConfig.proxy_rules().type = net::ProxyConfig::ProxyRules::Type::EMPTY; +- } else if (t == "none") { ++ } else if (*type == "none") { + base::Value::List empty; + OnClear(empty); + return; +@@ -366,16 +347,14 @@ void ProxyConfigMessageHandler::OnApply(const base::Value::List& list) { + + // bypass rules and reverse flag are common to both list types of proxy rules + if (readBypass) { +- const base::Value *bypass_rules = rules->FindKeyOfType("bypass_rules", base::Value::Type::STRING); ++ const std::string* bypass_rules = rules->FindString("bypass_rules"); + if (bypass_rules == nullptr) + return; + +- const base::Value *reverse_bypass = rules->FindKeyOfType("reverse_bypass", base::Value::Type::BOOLEAN); +- if (reverse_bypass == nullptr) +- return; ++ absl::optional reverse_bypass = rules->FindBool("reverse_bypass"); + +- proxyConfig.proxy_rules().bypass_rules.ParseFromString(bypass_rules->GetString()); +- proxyConfig.proxy_rules().reverse_bypass = reverse_bypass->GetBool(); ++ proxyConfig.proxy_rules().bypass_rules.ParseFromString(*bypass_rules); ++ proxyConfig.proxy_rules().reverse_bypass = reverse_bypass.value_or(false); + } + + apply(proxyConfig); +-- +2.25.1 diff --git a/build/patches/00111-ADDTO-Add-webGL-site-setting.patch b/build/patches/00111-ADDTO-Add-webGL-site-setting.patch new file mode 100644 index 00000000..f05730bf --- /dev/null +++ b/build/patches/00111-ADDTO-Add-webGL-site-setting.patch @@ -0,0 +1,21 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:12:07 +0000 +Subject: 111 ADDTO Add webGL site setting + +--- + .../content_settings/core/browser/content_settings_registry.cc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc +--- a/components/content_settings/core/browser/content_settings_registry.cc ++++ b/components/content_settings/core/browser/content_settings_registry.cc +@@ -586,7 +586,6 @@ void ContentSettingsRegistry::Init() { + WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, + WebsiteSettingsRegistry::PLATFORM_ANDROID, + ContentSettingsInfo::INHERIT_IN_INCOGNITO, +- ContentSettingsInfo::PERSISTENT, + ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS, + /*show_into_info_page*/ true, + /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL, +-- +2.25.1 diff --git a/build/patches/00111-ADDTO-Add-webRTC-site-settings.patch b/build/patches/00111-ADDTO-Add-webRTC-site-settings.patch new file mode 100644 index 00000000..6ddfa509 --- /dev/null +++ b/build/patches/00111-ADDTO-Add-webRTC-site-settings.patch @@ -0,0 +1,21 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:11:48 +0000 +Subject: 111 ADDTO Add webRTC site settings + +--- + .../content_settings/core/browser/content_settings_registry.cc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc +--- a/components/content_settings/core/browser/content_settings_registry.cc ++++ b/components/content_settings/core/browser/content_settings_registry.cc +@@ -600,7 +600,6 @@ void ContentSettingsRegistry::Init() { + WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, + WebsiteSettingsRegistry::PLATFORM_ANDROID, + ContentSettingsInfo::INHERIT_IN_INCOGNITO, +- ContentSettingsInfo::PERSISTENT, + ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS, + /*show_into_info_page*/ true, + /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBRTC, +-- +2.25.1 diff --git a/build/patches/00111-ADDTO-Experimental-user-scripts-support.patch b/build/patches/00111-ADDTO-Experimental-user-scripts-support.patch new file mode 100644 index 00000000..5872e1dc --- /dev/null +++ b/build/patches/00111-ADDTO-Experimental-user-scripts-support.patch @@ -0,0 +1,362 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:10:19 +0000 +Subject: 111 ADDTO Experimental user scripts support + +--- + components/user_scripts/browser/BUILD.gn | 4 -- + .../browser/resources/user-script-ui/BUILD.gn | 4 -- + .../browser/ui/user_scripts_ui.cc | 3 +- + .../browser/user_script_loader.cc | 1 - + .../user_scripts/browser/user_script_loader.h | 1 - + .../user_scripts/browser/user_script_prefs.cc | 60 ++++++++++--------- + components/user_scripts/common/constants.h | 6 -- + .../user_scripts/common/url_pattern_set.cc | 18 +++--- + .../user_scripts/common/url_pattern_set.h | 6 +- + .../renderer/extension_frame_helper.h | 1 - + .../user_scripts/renderer/script_context.h | 1 - + .../user_scripts/renderer/script_injection.cc | 1 - + .../user_scripts/renderer/script_injection.h | 1 - + .../renderer/script_injection_manager.cc | 2 - + .../renderer/script_injection_manager.h | 1 - + 15 files changed, 45 insertions(+), 65 deletions(-) + +diff --git a/components/user_scripts/browser/BUILD.gn b/components/user_scripts/browser/BUILD.gn +--- a/components/user_scripts/browser/BUILD.gn ++++ b/components/user_scripts/browser/BUILD.gn +@@ -66,10 +66,6 @@ source_set("browser_sources") { + ] + } + +-group("closure_compile") { +- deps = [ "resources/user-script-ui:closure_compile" ] +-} +- + grit("userscripts_browser_resources") { + source = "resources/browser_resources.grd" + +diff --git a/components/user_scripts/browser/resources/user-script-ui/BUILD.gn b/components/user_scripts/browser/resources/user-script-ui/BUILD.gn +--- a/components/user_scripts/browser/resources/user-script-ui/BUILD.gn ++++ b/components/user_scripts/browser/resources/user-script-ui/BUILD.gn +@@ -1,9 +1,5 @@ + import("//third_party/closure_compiler/compile_js.gni") + +-js_type_check("closure_compile") { +- deps = [ ":view_script_source" ] +-} +- + js_library("view_script_source") { + sources = [ "user-scripts-ui.js" ] + deps = [ +diff --git a/components/user_scripts/browser/ui/user_scripts_ui.cc b/components/user_scripts/browser/ui/user_scripts_ui.cc +--- a/components/user_scripts/browser/ui/user_scripts_ui.cc ++++ b/components/user_scripts/browser/ui/user_scripts_ui.cc +@@ -18,7 +18,6 @@ + + #include + +-#include "base/bind.h" + #include "base/json/json_string_value_serializer.h" + #include "base/memory/writable_shared_memory_region.h" + #include "base/strings/string_util.h" +@@ -112,7 +111,7 @@ void UserScriptsUIHandler::OnScriptsLoaded( + std::unique_ptr user_scripts) { + loaded_scripts_ = std::move(user_scripts); + +- base::ListValue response; ++ base::Value::List response; + for (const std::unique_ptr& script : *loaded_scripts_) { + if (script->key() == script_key) { + base::Value::Dict scriptData; +diff --git a/components/user_scripts/browser/user_script_loader.cc b/components/user_scripts/browser/user_script_loader.cc +--- a/components/user_scripts/browser/user_script_loader.cc ++++ b/components/user_scripts/browser/user_script_loader.cc +@@ -23,7 +23,6 @@ + #include + #include + +-#include "base/bind.h" + #include "base/memory/writable_shared_memory_region.h" + #include "base/strings/string_util.h" + #include "base/strings/strcat.h" +diff --git a/components/user_scripts/browser/user_script_loader.h b/components/user_scripts/browser/user_script_loader.h +--- a/components/user_scripts/browser/user_script_loader.h ++++ b/components/user_scripts/browser/user_script_loader.h +@@ -22,7 +22,6 @@ + #include + #include + +-#include "base/callback_forward.h" + #include "base/compiler_specific.h" + #include "base/memory/read_only_shared_memory_region.h" + #include "base/memory/weak_ptr.h" +diff --git a/components/user_scripts/browser/user_script_prefs.cc b/components/user_scripts/browser/user_script_prefs.cc +--- a/components/user_scripts/browser/user_script_prefs.cc ++++ b/components/user_scripts/browser/user_script_prefs.cc +@@ -29,6 +29,8 @@ + #include "components/prefs/pref_service.h" + #include "components/prefs/scoped_user_pref_update.h" + #include "components/pref_registry/pref_registry_syncable.h" ++#include "services/preferences/public/cpp/dictionary_value_update.h" ++#include "services/preferences/public/cpp/scoped_pref_update.h" + #include "user_script_prefs.h" + #include "user_script_pref_info.h" + #include "../common/user_script.h" +@@ -55,23 +57,24 @@ const char kScriptUrlSource[] = "url_source"; + const char kScriptParserError[] = "parser_error"; + const char kScriptForceDisabled[] = "force_disabled"; + +-class PrefUpdate : public DictionaryPrefUpdate { ++class PrefUpdate : public ::prefs::ScopedDictionaryPrefUpdate { + public: + PrefUpdate(PrefService* service, + const std::string& id, + const std::string& path) +- : DictionaryPrefUpdate(service, path), id_(id) {} ++ : ::prefs::ScopedDictionaryPrefUpdate(service, path), id_(id) {} + + PrefUpdate(const PrefUpdate&) = delete; + PrefUpdate& operator=(const PrefUpdate&) = delete; + ~PrefUpdate() override = default; + +- base::Value* Get() override { +- base::Value* dict = DictionaryPrefUpdate::Get(); +- base::Value* dict_item = +- dict->FindKeyOfType(id_, base::Value::Type::DICTIONARY); +- if (!dict_item) +- dict_item = dict->SetKey(id_, base::Value(base::Value::Type::DICTIONARY)); ++ std::unique_ptr<::prefs::DictionaryValueUpdate> Get() override { ++ std::unique_ptr<::prefs::DictionaryValueUpdate> dict = ++ ScopedDictionaryPrefUpdate::Get(); ++ std::unique_ptr<::prefs::DictionaryValueUpdate> dict_item; ++ if (!dict->GetDictionary(id_, &dict_item)) { ++ dict_item = dict->SetDictionary(id_, base::Value::Dict()); ++ } + return dict_item; + } + +@@ -161,20 +164,20 @@ void UserScriptsPrefs::CompareWithPrefs(UserScriptList& user_scripts) { + scriptInfo->force_disabled = (it->get()->force_disabled()); + + PrefUpdate update(prefs_, key, kUserScriptsList); +- base::Value* script_dict = update.Get(); ++ std::unique_ptr<::prefs::DictionaryValueUpdate> script_dict = update.Get(); + +- script_dict->SetStringKey(kScriptName, scriptInfo->name()); +- script_dict->SetStringKey(kScriptDescription, scriptInfo->description()); +- script_dict->SetBoolKey(kScriptIsEnabled, scriptInfo->enabled); +- script_dict->SetStringKey(kScriptVersion, scriptInfo->version()); +- script_dict->SetStringKey(kScriptFilePath, scriptInfo->file_path()); +- script_dict->SetStringKey(kScriptUrlSource, scriptInfo->url_source()); +- script_dict->SetStringKey(kScriptParserError, scriptInfo->parser_error()); +- script_dict->SetBoolKey(kScriptForceDisabled, scriptInfo->force_disabled); ++ script_dict->SetString(kScriptName, scriptInfo->name()); ++ script_dict->SetString(kScriptDescription, scriptInfo->description()); ++ script_dict->SetBoolean(kScriptIsEnabled, scriptInfo->enabled); ++ script_dict->SetString(kScriptVersion, scriptInfo->version()); ++ script_dict->SetString(kScriptFilePath, scriptInfo->file_path()); ++ script_dict->SetString(kScriptUrlSource, scriptInfo->url_source()); ++ script_dict->SetString(kScriptParserError, scriptInfo->parser_error()); ++ script_dict->SetBoolean(kScriptForceDisabled, scriptInfo->force_disabled); + + std::string install_time_str = + base::NumberToString(scriptInfo->install_time.ToInternalValue()); +- script_dict->SetStringKey(kScriptInstallTime, install_time_str); ++ script_dict->SetString(kScriptInstallTime, install_time_str); + + if (!scriptInfo->enabled) { + it = user_scripts.erase(it); +@@ -194,10 +197,10 @@ void UserScriptsPrefs::CompareWithPrefs(UserScriptList& user_scripts) { + } + } + +- DictionaryPrefUpdate update(prefs_, kUserScriptsList); +- base::Value* const update_dict = update.Get(); ++ ::prefs::ScopedDictionaryPrefUpdate update(prefs_, kUserScriptsList); ++ std::unique_ptr<::prefs::DictionaryValueUpdate> update_dict = update.Get(); + for (auto key : all_scripts_to_remove) { +- update_dict->RemoveKey(key); ++ update_dict->Remove(key); + } + + return; +@@ -254,17 +257,18 @@ std::unique_ptr UserScriptsPrefs::CreateScript + } + + void UserScriptsPrefs::RemoveScriptFromPrefs(const std::string& script_id) { +- DictionaryPrefUpdate update(prefs_, kUserScriptsList); +- base::Value* const update_dict = update.Get(); +- update_dict->RemoveKey(script_id); ++ ::prefs::ScopedDictionaryPrefUpdate update(prefs_, kUserScriptsList); ++ std::unique_ptr<::prefs::DictionaryValueUpdate> const update_dict = update.Get(); ++ update_dict->Remove(script_id); + } + + void UserScriptsPrefs::SetScriptEnabled(const std::string& script_id, bool is_enabled) { + PrefUpdate update(prefs_, script_id, kUserScriptsList); +- base::Value* script_dict = update.Get(); +- if (script_dict->FindBoolKey(kScriptForceDisabled).value_or(false)) +- is_enabled = true; +- script_dict->SetBoolKey(kScriptIsEnabled, is_enabled); ++ std::unique_ptr<::prefs::DictionaryValueUpdate> script_dict = update.Get(); ++ bool force_disabled; ++ script_dict->GetBoolean(kScriptForceDisabled, &force_disabled); ++ if (force_disabled) is_enabled = false; ++ script_dict->SetBoolean(kScriptIsEnabled, is_enabled); + } + + } +diff --git a/components/user_scripts/common/constants.h b/components/user_scripts/common/constants.h +--- a/components/user_scripts/common/constants.h ++++ b/components/user_scripts/common/constants.h +@@ -5,12 +5,6 @@ + #ifndef USERSCRIPTS_COMMON_CONSTANTS_H_ + #define USERSCRIPTS_COMMON_CONSTANTS_H_ + +-#include "base/files/file_path.h" +-#include "base/strings/string_piece_forward.h" +-#include "components/services/app_service/public/mojom/types.mojom.h" +-#include "components/version_info/channel.h" +-#include "ui/base/layout.h" +- + namespace user_scripts { + + // The origin of injected CSS. +diff --git a/components/user_scripts/common/url_pattern_set.cc b/components/user_scripts/common/url_pattern_set.cc +--- a/components/user_scripts/common/url_pattern_set.cc ++++ b/components/user_scripts/common/url_pattern_set.cc +@@ -274,14 +274,14 @@ bool URLPatternSet::OverlapsWith(const URLPatternSet& other) const { + return false; + } + +-std::unique_ptr URLPatternSet::ToValue() const { +- std::unique_ptr value(new base::ListValue); +- for (auto i = patterns_.cbegin(); i != patterns_.cend(); ++i) { +- base::Value pattern_str_value(i->GetAsString()); +- if (!base::Contains(value->GetList(), pattern_str_value)) +- value->Append(std::move(pattern_str_value)); ++base::Value::List URLPatternSet::ToValue() const { ++ base::Value::List result; ++ for (const auto& pattern : patterns_) { ++ base::Value pattern_str_value(pattern.GetAsString()); ++ if (!base::Contains(result, pattern_str_value)) ++ result.Append(std::move(pattern_str_value)); + } +- return value; ++ return result; + } + + bool URLPatternSet::Populate(const std::vector& patterns, +@@ -318,12 +318,12 @@ std::unique_ptr> URLPatternSet::ToStringVector() + return value; + } + +-bool URLPatternSet::Populate(const base::ListValue& value, ++bool URLPatternSet::Populate(const base::Value::List& value, + int valid_schemes, + bool allow_file_access, + std::string* error) { + std::vector patterns; +- for (const base::Value& pattern : value.GetList()) { ++ for (const base::Value& pattern : value) { + const std::string* item = pattern.GetIfString(); + if (!item) + return false; +diff --git a/components/user_scripts/common/url_pattern_set.h b/components/user_scripts/common/url_pattern_set.h +--- a/components/user_scripts/common/url_pattern_set.h ++++ b/components/user_scripts/common/url_pattern_set.h +@@ -11,12 +11,12 @@ + #include + #include + ++#include "base/values.h" + #include "url_pattern.h" + + class GURL; + + namespace base { +-class ListValue; + class Value; + } + +@@ -134,8 +134,8 @@ class URLPatternSet { + bool OverlapsWith(const URLPatternSet& other) const; + + // Converts to and from Value for serialization to preferences. +- std::unique_ptr ToValue() const; +- bool Populate(const base::ListValue& value, ++ base::Value::List ToValue() const; ++ bool Populate(const base::Value::List& value, + int valid_schemes, + bool allow_file_access, + std::string* error); +diff --git a/components/user_scripts/renderer/extension_frame_helper.h b/components/user_scripts/renderer/extension_frame_helper.h +--- a/components/user_scripts/renderer/extension_frame_helper.h ++++ b/components/user_scripts/renderer/extension_frame_helper.h +@@ -8,7 +8,6 @@ + #include + #include + +-#include "base/callback_forward.h" + #include "base/memory/weak_ptr.h" + #include "content/public/renderer/render_frame_observer.h" + #include "content/public/renderer/render_frame_observer_tracker.h" +diff --git a/components/user_scripts/renderer/script_context.h b/components/user_scripts/renderer/script_context.h +--- a/components/user_scripts/renderer/script_context.h ++++ b/components/user_scripts/renderer/script_context.h +@@ -10,7 +10,6 @@ + #include + #include + +-#include "base/callback.h" + #include "base/compiler_specific.h" + #include "base/threading/thread_checker.h" + #include "base/unguessable_token.h" +diff --git a/components/user_scripts/renderer/script_injection.cc b/components/user_scripts/renderer/script_injection.cc +--- a/components/user_scripts/renderer/script_injection.cc ++++ b/components/user_scripts/renderer/script_injection.cc +@@ -7,7 +7,6 @@ + #include + #include + +-#include "base/bind.h" + #include "base/feature_list.h" + #include "base/lazy_instance.h" + #include "base/metrics/histogram_macros.h" +diff --git a/components/user_scripts/renderer/script_injection.h b/components/user_scripts/renderer/script_injection.h +--- a/components/user_scripts/renderer/script_injection.h ++++ b/components/user_scripts/renderer/script_injection.h +@@ -10,7 +10,6 @@ + #include + #include + +-#include "base/callback.h" + #include "base/memory/weak_ptr.h" + #include "base/values.h" + #include "../common/user_script.h" +diff --git a/components/user_scripts/renderer/script_injection_manager.cc b/components/user_scripts/renderer/script_injection_manager.cc +--- a/components/user_scripts/renderer/script_injection_manager.cc ++++ b/components/user_scripts/renderer/script_injection_manager.cc +@@ -8,10 +8,8 @@ + #include + + #include "base/auto_reset.h" +-#include "base/bind.h" + #include "base/feature_list.h" + #include "base/memory/weak_ptr.h" +-#include "base/threading/thread_task_runner_handle.h" + #include "base/values.h" + #include "base/logging.h" + #include "content/public/renderer/render_frame.h" +diff --git a/components/user_scripts/renderer/script_injection_manager.h b/components/user_scripts/renderer/script_injection_manager.h +--- a/components/user_scripts/renderer/script_injection_manager.h ++++ b/components/user_scripts/renderer/script_injection_manager.h +@@ -5,7 +5,6 @@ + #include + #include + +-#include "base/callback.h" + #include "base/scoped_observation.h" + #include "../common/user_script.h" + #include "script_injection.h" +-- +2.25.1 diff --git a/build/patches/00111-ADDTO-Timezone-customization.patch b/build/patches/00111-ADDTO-Timezone-customization.patch new file mode 100644 index 00000000..89317a84 --- /dev/null +++ b/build/patches/00111-ADDTO-Timezone-customization.patch @@ -0,0 +1,21 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:11:27 +0000 +Subject: 111 ADDTO Timezone customization + +--- + .../content_settings/core/browser/content_settings_registry.cc | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc +--- a/components/content_settings/core/browser/content_settings_registry.cc ++++ b/components/content_settings/core/browser/content_settings_registry.cc +@@ -567,7 +567,6 @@ void ContentSettingsRegistry::Init() { + WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, + WebsiteSettingsRegistry::PLATFORM_ANDROID, + ContentSettingsInfo::INHERIT_IN_INCOGNITO, +- ContentSettingsInfo::PERSISTENT, + ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS); + + Register(ContentSettingsType::FEDERATED_IDENTITY_API, "webid-api", +-- +2.25.1 diff --git a/build/patches/00111-Add-AllowUserCertificates-flag.patch b/build/patches/00111-Add-AllowUserCertificates-flag.patch new file mode 100644 index 00000000..322cd7a1 --- /dev/null +++ b/build/patches/00111-Add-AllowUserCertificates-flag.patch @@ -0,0 +1,22 @@ +From: Your Name +Date: Mon, 6 Mar 2023 08:02:14 +0000 +Subject: 111 Add AllowUserCertificates flag + +--- + .../chromium/chrome/browser/app/flags/ChromeCachedFlags.java | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +@@ -67,7 +67,7 @@ public class ChromeCachedFlags { + + // clang-format off + List featuresToCache = List.of(ChromeFeatureList.sAppMenuMobileSiteOption, +- add(ChromeFeatureList.sAllowUserCertificates); ++ ChromeFeatureList.sAllowUserCertificates, + ChromeFeatureList.sBackGestureRefactorAndroid, + ChromeFeatureList.sBaselineGm3SurfaceColors, + ChromeFeatureList.sCctAutoTranslate, +-- +2.25.1 diff --git a/build/patches/00111-Add-an-always-incognito-mode.patch b/build/patches/00111-Add-an-always-incognito-mode.patch new file mode 100644 index 00000000..ded3a22d --- /dev/null +++ b/build/patches/00111-Add-an-always-incognito-mode.patch @@ -0,0 +1,30 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:09:17 +0000 +Subject: 111 Add an always-incognito mode + +--- + .../core/browser/content_settings_pref_provider.cc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc +--- a/components/content_settings/core/browser/content_settings_pref_provider.cc ++++ b/components/content_settings/core/browser/content_settings_pref_provider.cc +@@ -150,12 +150,14 @@ PrefProvider::PrefProvider(PrefService* prefs, + WebsiteSettingsRegistry* website_settings = + WebsiteSettingsRegistry::GetInstance(); + for (const WebsiteSettingsInfo* info : *website_settings) { ++ bool save_site_settings = force_save_site_settings_ && ++ info->incognito_behavior() == WebsiteSettingsInfo::INHERIT_IN_INCOGNITO; + content_settings_prefs_.insert(std::make_pair( + info->type(), std::make_unique( + info->type(), prefs_, &pref_change_registrar_, + info->pref_name(), +- off_the_record_ || (!content_type_info && force_save_site_settings_), +- restore_session, ++ off_the_record_ && !save_site_settings, ++ restore_session, + base::BindRepeating(&PrefProvider::Notify, + base::Unretained(this))))); + } +-- +2.25.1 diff --git a/build/patches/00111-Add-menu-item-to-bookmark-all-tabs.patch b/build/patches/00111-Add-menu-item-to-bookmark-all-tabs.patch new file mode 100644 index 00000000..5927a3cf --- /dev/null +++ b/build/patches/00111-Add-menu-item-to-bookmark-all-tabs.patch @@ -0,0 +1,65 @@ +From: Your Name +Date: Mon, 6 Mar 2023 08:03:21 +0000 +Subject: 111 Add menu item to bookmark all tabs + +--- + chrome/browser/bookmarks/bookmark_html_writer.cc | 8 ++++---- + components/bookmarks/browser/bookmark_codec.cc | 10 ++++------ + 2 files changed, 8 insertions(+), 10 deletions(-) + +diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc +--- a/chrome/browser/bookmarks/bookmark_html_writer.cc ++++ b/chrome/browser/bookmarks/bookmark_html_writer.cc +@@ -191,19 +191,19 @@ class Writer : public base::RefCountedThreadSafe { + roots->FindDict(BookmarkCodec::kOtherBookmarkFolderNameKey); + base::Value::Dict* mobile_folder_value = + roots->FindDict(BookmarkCodec::kMobileBookmarkFolderNameKey); +- base::Value* tabs_collection_value = +- roots->FindDictKey(BookmarkCodec::kTabsBookmarkFolderNameKey); ++ base::Value::Dict* tabs_collection_value = ++ roots->FindDict(BookmarkCodec::kTabsBookmarkFolderNameKey); + DCHECK(root_folder_value); + DCHECK(other_folder_value); + DCHECK(mobile_folder_value); ++ DCHECK(tabs_collection_value); + + IncrementIndent(); + + if (!WriteNode(*root_folder_value, BookmarkNode::BOOKMARK_BAR) || + !WriteNode(*other_folder_value, BookmarkNode::OTHER_NODE) || + !WriteNode(*mobile_folder_value, BookmarkNode::MOBILE) || +- !WriteNode(*static_cast(tabs_collection_value), +- BookmarkNode::TABS_COLLECTION)) { ++ !WriteNode(*tabs_collection_value, BookmarkNode::TABS_COLLECTION)) { + NotifyOnFinish(BookmarksExportObserver::Result::kCouldNotWriteNodes); + return; + } +diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc +--- a/components/bookmarks/browser/bookmark_codec.cc ++++ b/components/bookmarks/browser/bookmark_codec.cc +@@ -241,19 +241,17 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, + roots->FindDictKey(kOtherBookmarkFolderNameKey); + const base::Value* mobile_folder_value = + roots->FindDictKey(kMobileBookmarkFolderNameKey); ++ const base::Value* tabs_folder_value = ++ roots->FindDictKey(kTabsBookmarkFolderNameKey); + + if (!bb_value || !other_folder_value || !mobile_folder_value) + return false; + + DecodeNode(*bb_value, nullptr, bb_node); +- const base::DictionaryValue* tabs_folder_d_value = nullptr; +- const base::Value* tabs_folder_value = +- roots->FindDictKey(kTabsBookmarkFolderNameKey); +- if (tabs_folder_value && tabs_folder_value->GetAsDictionary(&tabs_folder_d_value)) +- DecodeNode(*tabs_folder_d_value, nullptr, tabs_folder_node); +- + DecodeNode(*other_folder_value, nullptr, other_folder_node); + DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node); ++ if (tabs_folder_value) ++ DecodeNode(*tabs_folder_value, nullptr, tabs_folder_node); + + if (!DecodeMetaInfo(*roots, &model_meta_info_map_)) + return false; +-- +2.25.1 diff --git a/build/patches/00111-Add-option-to-force-tablet-UI.patch b/build/patches/00111-Add-option-to-force-tablet-UI.patch new file mode 100644 index 00000000..dc9616e9 --- /dev/null +++ b/build/patches/00111-Add-option-to-force-tablet-UI.patch @@ -0,0 +1,21 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:09:43 +0000 +Subject: 111 Add option to force tablet UI + +--- + .../browser_ui/accessibility/AccessibilitySettings.java | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java ++++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java +@@ -14,6 +14,7 @@ import androidx.preference.PreferenceFragmentCompat; + import org.chromium.base.ContextUtils; + import org.chromium.components.browser_ui.accessibility.AccessibilitySettingsDelegate.BooleanPreferenceDelegate; + import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePrefsObserver; ++import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference; + import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; + import org.chromium.components.browser_ui.settings.CustomDividerFragment; + import org.chromium.components.browser_ui.settings.SettingsUtils; +-- +2.25.1 diff --git a/build/patches/00111-Bromite-subresource-adblocker.patch b/build/patches/00111-Bromite-subresource-adblocker.patch new file mode 100644 index 00000000..9bf37810 --- /dev/null +++ b/build/patches/00111-Bromite-subresource-adblocker.patch @@ -0,0 +1,140 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:01:54 +0000 +Subject: 111 Bromite subresource adblocker + +--- + .../adblock_updater_service.cc | 21 ++++++++----------- + .../adblock_updater_service.h | 2 -- + .../download_filters_task.cc | 4 +--- + .../component_updater/download_filters_task.h | 1 - + 4 files changed, 10 insertions(+), 18 deletions(-) + +diff --git a/components/component_updater/adblock_updater_service.cc b/components/component_updater/adblock_updater_service.cc +--- a/components/component_updater/adblock_updater_service.cc ++++ b/components/component_updater/adblock_updater_service.cc +@@ -23,13 +23,10 @@ + #include + #include + +-#include "base/bind.h" +-#include "base/callback.h" + #include "base/files/file_path.h" + #include "base/files/file_util.h" + #include "base/logging.h" + #include "base/threading/thread_checker.h" +-#include "base/threading/thread_task_runner_handle.h" + #include "base/time/time.h" + #include "base/timer/timer.h" + #include "url/gurl.h" +@@ -116,14 +113,14 @@ bool AdBlockUpdaterService::OnDemandUpdateAsNeeded(bool is_foreground, Callback + } + + if (is_updating_) { +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(std::move(on_finished), + Error::UPDATE_IN_PROGRESS)); + return false; + } + is_updating_ = true; + +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_CHECKING_FOR_UPDATES)); + + base::Time::Exploded e = {0}; +@@ -193,11 +190,11 @@ bool AdBlockUpdaterService::OnDemandUpdateAsNeeded(bool is_foreground, Callback + + // run task now; task is responsible for downloading the filters (if Last-Modified header is more recent) + // and then clearing the 'is_updating' status +- base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask(FROM_HERE, + base::BindOnce(&DownloadFiltersTask::Run, base::Unretained(task.get()))); + tasks_.insert(task); + +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_UPDATE_DOWNLOADING)); + + return true; +@@ -210,7 +207,7 @@ void AdBlockUpdaterService::OnUpdateComplete(Callback on_finished, + + auto file_path = task->file_path(); + if (error == Error::NONE) { +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_UPDATE_READY)); + + subresource_filter::UnindexedRulesetInfo ruleset_info; +@@ -246,20 +243,20 @@ void AdBlockUpdaterService::OnUpdateComplete(Callback on_finished, + LOG(WARNING) << "AdBlockUpdaterService: invalid Last-Modified header, ignoring version check."; + ruleset_service_->IndexAndStoreAndPublishRulesetIfNeeded(ruleset_info, ignore_version); + +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_UPDATED)); + } else if (error == Error::UPDATE_NOT_NEEDED) { +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_NOT_UPDATED)); + } else { +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(&AdBlockUpdaterService::NotifyObservers, base::Unretained(this), Event::ADBLOCK_UPDATE_ERROR)); + } + + //TODO: run these only when index-and-store is actually finished? + // would require exposing the callback in IndexAndStoreAndPublishRulesetIfNeeded + if (!on_finished.is_null()) { +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(std::move(on_finished), error)); + } + +diff --git a/components/component_updater/adblock_updater_service.h b/components/component_updater/adblock_updater_service.h +--- a/components/component_updater/adblock_updater_service.h ++++ b/components/component_updater/adblock_updater_service.h +@@ -24,8 +24,6 @@ + #include + #include + +-#include "base/callback_forward.h" +-#include "base/gtest_prod_util.h" + #include "base/memory/ref_counted.h" + #include "base/observer_list.h" + #include "base/version.h" +diff --git a/components/component_updater/download_filters_task.cc b/components/component_updater/download_filters_task.cc +--- a/components/component_updater/download_filters_task.cc ++++ b/components/component_updater/download_filters_task.cc +@@ -19,9 +19,7 @@ + #include + + #include "base/files/file_util.h" +-#include "base/bind.h" + #include "base/location.h" +-#include "base/threading/thread_task_runner_handle.h" + #include "base/logging.h" + #include "net/base/load_flags.h" + #include "url/gurl.h" +@@ -208,7 +206,7 @@ void DownloadFiltersTask::Cancel() { + void DownloadFiltersTask::TaskComplete(Error error) { + DCHECK(thread_checker_.CalledOnValidThread()); + +- base::ThreadTaskRunnerHandle::Get()->PostTask( ++ base::SequencedTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, base::BindOnce(std::move(complete_callback_), + scoped_refptr(this), error)); + } +diff --git a/components/component_updater/download_filters_task.h b/components/component_updater/download_filters_task.h +--- a/components/component_updater/download_filters_task.h ++++ b/components/component_updater/download_filters_task.h +@@ -21,7 +21,6 @@ + #include + #include + +-#include "base/callback.h" + #include "base/memory/ref_counted.h" + #include "base/threading/thread_checker.h" + #include "components/update_client/network.h" +-- +2.25.1 diff --git a/build/patches/00111-Disable-all-predictors-code.patch b/build/patches/00111-Disable-all-predictors-code.patch new file mode 100644 index 00000000..0ac0bcb1 --- /dev/null +++ b/build/patches/00111-Disable-all-predictors-code.patch @@ -0,0 +1,22 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:10:37 +0000 +Subject: 111 Disable all predictors code + +--- + .../core/prediction_model_download_manager.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/components/optimization_guide/core/prediction_model_download_manager.cc b/components/optimization_guide/core/prediction_model_download_manager.cc +--- a/components/optimization_guide/core/prediction_model_download_manager.cc ++++ b/components/optimization_guide/core/prediction_model_download_manager.cc +@@ -261,7 +261,7 @@ bool PredictionModelDownloadManager::VerifyDownload( + const base::FilePath& download_file_path, + const base::FilePath& base_model_dir, + bool delete_file_on_error) { +- if ((true)) return absl::nullopt; ++ if ((true)) return false; + if (!switches::ShouldSkipModelDownloadVerificationForTesting()) { + // Verify that the |download_file_path| contains a valid CRX file. + std::string public_key; +-- +2.25.1 diff --git a/build/patches/00111-Logcat-crash-reports-UI.patch b/build/patches/00111-Logcat-crash-reports-UI.patch new file mode 100644 index 00000000..01367621 --- /dev/null +++ b/build/patches/00111-Logcat-crash-reports-UI.patch @@ -0,0 +1,23 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:10:53 +0000 +Subject: 111 Logcat crash reports UI + +--- + components/upload_list/upload_list.cc | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/components/upload_list/upload_list.cc b/components/upload_list/upload_list.cc +--- a/components/upload_list/upload_list.cc ++++ b/components/upload_list/upload_list.cc +@@ -42,8 +42,7 @@ UploadList::UploadInfo::UploadInfo(const std::string& local_id, + : local_id(local_id), + capture_time(capture_time), + state(state), +- file_size(file_size), +- file_path(upload_info.file_path) {} ++ file_size(file_size) {} + + UploadList::UploadInfo::UploadInfo(const std::string& upload_id, + const base::Time& upload_time) +-- +2.25.1 diff --git a/build/patches/00111-Move-navigation-bar-to-bottom.patch b/build/patches/00111-Move-navigation-bar-to-bottom.patch new file mode 100644 index 00000000..6879afc3 --- /dev/null +++ b/build/patches/00111-Move-navigation-bar-to-bottom.patch @@ -0,0 +1,78 @@ +From: Your Name +Date: Mon, 6 Mar 2023 08:01:32 +0000 +Subject: 111 Move navigation bar to bottom + +--- + .../browser/tasks/tab_management/TabSwitcherMediator.java | 3 --- + .../chromium/chrome/browser/app/flags/ChromeCachedFlags.java | 2 +- + .../chrome/browser/fullscreen/BrowserControlsManager.java | 3 +++ + .../src/org/chromium/chrome/browser/ui/BottomContainer.java | 2 +- + .../browser_controls/BrowserControlsStateProvider.java | 4 ++++ + 5 files changed, 9 insertions(+), 5 deletions(-) + +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java +@@ -732,9 +732,6 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + } + + private void setInitialScrollIndexOffset() { +- if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { +- offset = 0; +- } + int initialPosition = + mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilter().index(); + +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +@@ -100,7 +100,7 @@ public class ChromeCachedFlags { + ChromeFeatureList.sInstanceSwitcher, + ChromeFeatureList.sInstantStart, + ChromeFeatureList.sInterestFeedV2, +- add(ChromeFeatureList.sMoveTopToolbarToBottom); ++ ChromeFeatureList.sMoveTopToolbarToBottom, + ChromeFeatureList.sOmniboxMatchToolbarAndStatusBarColor, + ChromeFeatureList.sOmniboxModernizeVisualUpdate, + ChromeFeatureList.sOmniboxMostVisitedTilesAddRecycledViewPool, +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +@@ -141,6 +141,9 @@ public class BrowserControlsManager implements ActivityStateListener, BrowserCon + try (TraceEvent e = TraceEvent.scoped( + "BrowserControlsManager.onAndroidVisibilityChanged")) { + mControlContainer.getView().setVisibility(visibility); ++ for (BrowserControlsStateProvider.Observer obs : mControlsObservers) { ++ obs.onAndroidControlsVisibilityChanged(visibility); ++ } + if (!ToolbarFeatures.shouldSuppressCaptures()) { + // requestLayout is required to trigger a new gatherTransparentRegion(), which + // only occurs together with a layout and let's SurfaceFlinger trim overlays. +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java +@@ -71,7 +71,7 @@ public class BottomContainer + } + + @Override +- public void onAndroidVisibilityChanged(int visibility) { ++ public void onAndroidControlsVisibilityChanged(int visibility) { + if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + setTranslationY(mBaseYOffset); + } +diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java +--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java ++++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsStateProvider.java +@@ -40,6 +40,10 @@ public interface BrowserControlsStateProvider { + * Called when the height of the top controls are changed. + */ + default void onTopControlsHeightChanged(int topControlsHeight, int topControlsMinHeight) {} ++ ++ /** Called when the visibility of the controls container changes. */ ++ // merged https://source.chromium.org/chromium/chromium/src/+/946b0370c04c9acf349cbfeefcefdf3ed08a3a6a ++ default void onAndroidControlsVisibilityChanged(int visibility) {} + } + + /** +-- +2.25.1 diff --git a/build/patches/00111-Remove-signin-and-sync-integrations.patch b/build/patches/00111-Remove-signin-and-sync-integrations.patch new file mode 100644 index 00000000..a0017be1 --- /dev/null +++ b/build/patches/00111-Remove-signin-and-sync-integrations.patch @@ -0,0 +1,52 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:03:39 +0000 +Subject: 111 Remove signin and sync integrations + +--- + .../chromium/chrome/browser/privacy_guide/MSBBFragment.java | 2 -- + .../share/send_tab_to_self/ManageAccountDevicesLinkView.java | 4 ---- + .../profile_oauth2_token_service_delegate_android.cc | 5 ----- + 3 files changed, 11 deletions(-) + +diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java +--- a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java ++++ b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/MSBBFragment.java +@@ -26,7 +26,5 @@ public class MSBBFragment extends Fragment { + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { +- SwitchCompat msbbSwitch = view.findViewById(R.id.msbb_switch); +- msbbSwitch.setChecked(PrivacyGuideUtils.isMsbbEnabled()); + } + } +diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java +--- a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java ++++ b/chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView.java +@@ -75,10 +75,6 @@ public class ManageAccountDevicesLinkView extends LinearLayout { + .inflate(R.layout.send_tab_to_self_manage_devices_link, this); + + TextView linkView = findViewById(R.id.manage_devices_link); +- // If the feature is disabled, the email address is displayable by default. +- final boolean canHaveEmailAddressDisplayed = +- account.getAccountCapabilities().canHaveEmailAddressDisplayed() == Tribool.TRUE +- || !ChromeFeatureList.sHideNonDisplayableAccountEmail.isEnabled(); + final String accountFullNameOrEmail = + "nobody@example.com"; + if (mShowLink) { +diff --git a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc +--- a/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc ++++ b/components/signin/internal/identity_manager/profile_oauth2_token_service_delegate_android.cc +@@ -321,11 +321,6 @@ void ProfileOAuth2TokenServiceDelegateAndroid::RevokeAllCredentials() { + + for (const CoreAccountId& account : accounts_to_revoke) + FireRefreshTokenRevoked(account); +- +- JNIEnv* env = AttachCurrentThread(); +- signin:: +- Java_ProfileOAuth2TokenServiceDelegate_invalidateAccountsSeedingStatus( +- env, java_ref_); + } + + void ProfileOAuth2TokenServiceDelegateAndroid::LoadCredentials( +-- +2.25.1 diff --git a/build/patches/00111-temp-fix-build.patch b/build/patches/00111-temp-fix-build.patch new file mode 100644 index 00000000..c6836b5e --- /dev/null +++ b/build/patches/00111-temp-fix-build.patch @@ -0,0 +1,24 @@ +From: Your Name +Date: Mon, 6 Mar 2023 10:13:05 +0000 +Subject: 111 temp fix build + +--- + build/config/android/rules.gni | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni +--- a/build/config/android/rules.gni ++++ b/build/config/android/rules.gni +@@ -5083,8 +5083,8 @@ if (enable_java_templates && is_android) { + + if (!_proguard_enabled) { + _dex_target = "${_module_target_name}__final_dex" +- _rebased_module_build_config = +- rebase_path(_module_build_config, root_build_dir) ++ # _rebased_module_build_config = ++ # rebase_path(_module_build_config, root_build_dir) + _dex_path = "$target_out_dir/$_module_target_name/$_module_target_name.mergeddex.jar" + dex(_dex_target) { + forward_variables_from(invoker, +-- +2.25.1 diff --git a/build/patches/00Viewport-Protection-Site-Setting.patch b/build/patches/00Viewport-Protection-Site-Setting.patch index 9f6f899c..c13c88c6 100644 --- a/build/patches/00Viewport-Protection-Site-Setting.patch +++ b/build/patches/00Viewport-Protection-Site-Setting.patch @@ -24,7 +24,7 @@ Subject: Viewport Protection Site Setting .../strings/android/browser_ui_strings.grd | 1 + .../browser_ui/strings/android/viewport.grdp | 18 ++++ components/components_strings.grd | 1 + - .../core/browser/content_settings_registry.cc | 16 +++- + .../core/browser/content_settings_registry.cc | 15 +++- .../core/browser/content_settings_utils.cc | 2 + .../core/common/content_settings.cc | 4 +- .../core/common/content_settings.h | 1 + @@ -38,7 +38,7 @@ Subject: Viewport Protection Site Setting .../platform/web_content_settings_client.h | 2 + .../renderer/core/frame/local_dom_window.cc | 1 + third_party/blink/renderer/core/page/page.cc | 2 + - 35 files changed, 235 insertions(+), 6 deletions(-) + 35 files changed, 234 insertions(+), 6 deletions(-) create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteViewportContentSetting.java create mode 100644 components/browser_ui/strings/android/viewport.grdp @@ -448,16 +448,16 @@ diff --git a/components/components_strings.grd b/components/components_strings.g 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 -@@ -590,7 +590,7 @@ void ContentSettingsRegistry::Init() { +@@ -589,7 +589,7 @@ void ContentSettingsRegistry::Init() { /*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK}, WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, - WebsiteSettingsRegistry::PLATFORM_ANDROID, + WebsiteSettingsRegistry::ALL_PLATFORMS, ContentSettingsInfo::INHERIT_IN_INCOGNITO, - ContentSettingsInfo::PERSISTENT, ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS, -@@ -611,6 +611,20 @@ void ContentSettingsRegistry::Init() { + /*show_into_info_page*/ true, +@@ -608,6 +608,19 @@ void ContentSettingsRegistry::Init() { /*show_into_info_page*/ true, /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBRTC, /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE); @@ -470,7 +470,6 @@ diff --git a/components/content_settings/core/browser/content_settings_registry. + WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE, + WebsiteSettingsRegistry::ALL_PLATFORMS, + ContentSettingsInfo::INHERIT_IN_INCOGNITO, -+ ContentSettingsInfo::PERSISTENT, + ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS, + /*show_into_info_page*/ true, + /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_VIEWPORT, diff --git a/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch b/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch index b4e8d716..256f4b6f 100644 --- a/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch +++ b/build/patches/00WIN-ADDTO-Disable-safe-browsing.patch @@ -59,7 +59,7 @@ Subject: WIN ADDTO Disable safe browsing diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -1927,10 +1927,6 @@ static_library("browser") { +@@ -1922,10 +1922,6 @@ static_library("browser") { "//chrome/browser/ui", "//chrome/browser/storage_access_api:permissions", "//chrome/browser/top_level_storage_access_api:permissions", @@ -70,7 +70,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn # TODO(crbug.com/1030821): Eliminate usages of browser.h from Media Router. "//chrome/browser/media/router", -@@ -2033,10 +2029,7 @@ static_library("browser") { +@@ -2027,10 +2023,7 @@ static_library("browser") { "//chrome/browser/push_messaging:budget_proto", "//chrome/browser/resource_coordinator:mojo_bindings", "//chrome/browser/resource_coordinator:tab_manager_features", @@ -82,7 +82,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "//chrome/browser/share", "//chrome/browser/sharing:buildflags", "//chrome/browser/sharing/proto", -@@ -3651,18 +3644,12 @@ static_library("browser") { +@@ -3645,18 +3638,12 @@ static_library("browser") { "enterprise/connectors/analysis/analysis_service_settings.h", "enterprise/connectors/analysis/analysis_settings.cc", "enterprise/connectors/analysis/analysis_settings.h", @@ -101,7 +101,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "enterprise/connectors/analysis/request_handler_base.cc", "enterprise/connectors/analysis/request_handler_base.h", "enterprise/connectors/common.cc", -@@ -7915,7 +7902,6 @@ static_library("test_support") { +@@ -7907,7 +7894,6 @@ static_library("test_support") { ":browser", "//chrome/browser/autofill:test_support", "//chrome/browser/profiles:profile", @@ -642,7 +642,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL ] # Since browser and browser_extensions actually depend on each other, -@@ -800,8 +797,6 @@ static_library("extensions") { +@@ -799,8 +796,6 @@ static_library("extensions") { "//chrome/browser/profiles:profile", "//chrome/browser/resource_coordinator:intervention_policy_database_proto", "//chrome/browser/resource_coordinator:mojo_bindings", @@ -1336,7 +1336,7 @@ diff --git a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc b/chrom diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -424,7 +424,6 @@ static_library("ui") { +@@ -423,7 +423,6 @@ static_library("ui") { "//chrome/browser/resources/net_internals:resources", "//chrome/browser/resources/omnibox:resources", "//chrome/browser/resources/usb_internals:resources", @@ -1344,7 +1344,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//chrome/browser/share", "//chrome/browser/ui/webui:configs", "//chrome/browser/ui/webui/omnibox:mojo_bindings", -@@ -677,7 +676,6 @@ static_library("ui") { +@@ -676,7 +675,6 @@ static_library("ui") { # TODO(crbug.com/1158905): Remove this circular dependency. "//chrome/browser/devtools", "//chrome/browser/favicon", @@ -1352,7 +1352,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//chrome/browser/profiling_host", "//chrome/browser/ui/webui:configs", ] -@@ -1781,8 +1779,6 @@ static_library("ui") { +@@ -1780,8 +1778,6 @@ static_library("ui") { "//chrome/browser/resources/identity_internals:resources", "//chrome/browser/resources/support_tool:resources", "//chrome/browser/resources/web_app_internals:resources", @@ -1361,7 +1361,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn "//chrome/browser/support_tool:support_tool_proto", "//chrome/browser/ui/color:color_headers", "//chrome/browser/ui/color:mixers", -@@ -3626,8 +3622,6 @@ static_library("ui") { +@@ -3625,8 +3621,6 @@ static_library("ui") { "views/profiles/profile_picker_force_signin_dialog_host.h", "views/profiles/profile_picker_signed_in_flow_controller.cc", "views/profiles/profile_picker_signed_in_flow_controller.h", @@ -1853,7 +1853,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn "//chrome/browser/segmentation_platform:test_utils", "//chrome/browser/sharing/proto", "//chrome/browser/ui/color:color_headers", -@@ -5842,9 +5840,6 @@ test("unit_tests") { +@@ -5841,9 +5839,6 @@ test("unit_tests") { "//chrome/browser/profile_resetter:profile_reset_report_proto", "//chrome/browser/profiling_host", "//chrome/browser/push_messaging:budget_proto", diff --git a/build/patches/00WIN-ADDTO-Remove-signin-and-sync-integrations.patch b/build/patches/00WIN-ADDTO-Remove-signin-and-sync-integrations.patch index 14830c68..a97c9afc 100644 --- a/build/patches/00WIN-ADDTO-Remove-signin-and-sync-integrations.patch +++ b/build/patches/00WIN-ADDTO-Remove-signin-and-sync-integrations.patch @@ -9,8 +9,10 @@ Subject: WIN ADDTO Remove signin and sync integrations chrome/browser/signin/signin_ui_util.cc | 23 - chrome/browser/ui/BUILD.gn | 6 - .../startup/startup_browser_creator_impl.cc | 4 +- + .../ui/startup/startup_tab_provider.cc | 5 - .../profile_customization_bubble_view.cc | 1 - - ...rofile_picker_signed_in_flow_controller.cc | 36 -- + ...rofile_picker_signed_in_flow_controller.cc | 37 -- + ...profile_picker_signed_in_flow_controller.h | 2 - .../signin/profile_customization_handler.cc | 2 + .../webui/signin/profile_customization_ui.cc | 3 +- .../ui/webui/signin/profile_picker_handler.cc | 5 +- @@ -19,12 +21,12 @@ Subject: WIN ADDTO Remove signin and sync integrations .../identity_manager/identity_manager.cc | 463 ++---------------- .../identity_manager/identity_manager.h | 47 +- .../identity_manager_builder.cc | 3 + - 16 files changed, 45 insertions(+), 597 deletions(-) + 18 files changed, 45 insertions(+), 605 deletions(-) diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -4153,8 +4153,6 @@ static_library("browser") { +@@ -4147,8 +4147,6 @@ static_library("browser") { "sharing_hub/sharing_hub_service_factory.h", "signin/signin_promo.cc", "signin/signin_promo.h", @@ -33,7 +35,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn "signin/signin_ui_util.cc", "signin/signin_ui_util.h", "speech/chrome_speech_recognition_service.cc", -@@ -6692,12 +6690,6 @@ static_library("browser") { +@@ -6686,12 +6684,6 @@ static_library("browser") { "signin/signin_ui_delegate_impl_dice.cc", "signin/signin_ui_delegate_impl_dice.h", ] @@ -179,7 +181,7 @@ diff --git a/chrome/browser/signin/signin_ui_util.cc b/chrome/browser/signin/sig diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -3663,12 +3663,6 @@ static_library("ui") { +@@ -3662,12 +3662,6 @@ static_library("ui") { "webui/signin/signin_ui_error.h", "webui/signin/signin_utils_desktop.cc", "webui/signin/signin_utils_desktop.h", @@ -213,6 +215,21 @@ diff --git a/chrome/browser/ui/startup/startup_browser_creator_impl.cc b/chrome/ #endif // !BUILDFLAG(IS_CHROMEOS_ASH) const bool whats_new_enabled = +diff --git a/chrome/browser/ui/startup/startup_tab_provider.cc b/chrome/browser/ui/startup/startup_tab_provider.cc +--- a/chrome/browser/ui/startup/startup_tab_provider.cc ++++ b/chrome/browser/ui/startup/startup_tab_provider.cc +@@ -185,11 +185,6 @@ StartupTabs StartupTabProviderImpl::GetWelcomeBackTabs( + !browser_creator) { + return tabs; + } +- if (browser_creator->welcome_back_page() && +- CanShowWelcome(SyncServiceFactory::IsSyncAllowed(profile), +- profile->IsChild(), signin_util::IsForceSigninEnabled())) { +- tabs.emplace_back(GetWelcomePageUrl(false)); +- } + return tabs; + } + #endif // BUILDFLAG(IS_WIN) diff --git a/chrome/browser/ui/views/profiles/profile_customization_bubble_view.cc b/chrome/browser/ui/views/profiles/profile_customization_bubble_view.cc --- a/chrome/browser/ui/views/profiles/profile_customization_bubble_view.cc +++ b/chrome/browser/ui/views/profiles/profile_customization_bubble_view.cc @@ -238,7 +255,15 @@ diff --git a/chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_cont #include "chrome/common/webui_url_constants.h" #include "components/signin/public/base/signin_metrics.h" #include "components/signin/public/identity_manager/account_info.h" -@@ -52,27 +50,6 @@ void ProfilePickerSignedInFlowController::Init() { +@@ -30,7 +28,6 @@ ProfilePickerSignedInFlowController::ProfilePickerSignedInFlowController( + : host_(host), + profile_(profile), + contents_(std::move(contents)), +- signin_access_point_(signin_access_point), + profile_color_(profile_color) { + DCHECK(profile_); + DCHECK(contents_); +@@ -52,27 +49,6 @@ void ProfilePickerSignedInFlowController::Init() { DCHECK(!IsInitialized()); contents()->SetDelegate(this); @@ -266,7 +291,7 @@ diff --git a/chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_cont } void ProfilePickerSignedInFlowController::Cancel() {} -@@ -167,19 +144,6 @@ void ProfilePickerSignedInFlowController:: +@@ -167,19 +143,6 @@ void ProfilePickerSignedInFlowController:: signin::SigninChoiceCallback proceed_callback) { DCHECK(IsInitialized()); // Initialize the WebUI page once we know it's committed. @@ -286,6 +311,18 @@ diff --git a/chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_cont } bool ProfilePickerSignedInFlowController::IsInitialized() const { +diff --git a/chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_controller.h b/chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_controller.h +--- a/chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_controller.h ++++ b/chrome/browser/ui/views/profiles/profile_picker_signed_in_flow_controller.h +@@ -132,8 +132,6 @@ class ProfilePickerSignedInFlowController + // sign-in flow. + std::unique_ptr contents_; + +- const signin_metrics::AccessPoint signin_access_point_; +- + // Set for the profile at the very end to avoid coloring the simple toolbar + // for GAIA sign-in (that uses the ThemeProvider of the current profile). + // absl::nullopt if the profile should use the default theme. diff --git a/chrome/browser/ui/webui/signin/profile_customization_handler.cc b/chrome/browser/ui/webui/signin/profile_customization_handler.cc --- a/chrome/browser/ui/webui/signin/profile_customization_handler.cc +++ b/chrome/browser/ui/webui/signin/profile_customization_handler.cc