diff --git a/CHANGELOG.md b/CHANGELOG.md index 76ce0ea6..db459431 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# 108.0.5359.106 +* fix crash when using always incognito (fixes https://github.com/bromite/bromite/issues/2482) +* enable third-party storage partitioning (fixes https://github.com/bromite/bromite/issues/2337) +* disable features ExperimentsForAgsa, KeepPrefetchedContentSuggestions, CriticalClientHint, AcceptCHFrame (accidentally enabled but not effective in 108.0.5359.75) + # 108.0.5359.75 * drop patch to mark all favicons ON_DEMAND (fixed by upstream, see https://bugs.chromium.org/p/chromium/issues/detail?id=1096660) * enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features @@ -8,6 +13,7 @@ * fix fingerprinting vector via Window.requestAnimationFrame() (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2370) * remove patch for offline measurements background task (fixes https://github.com/bromite/bromite/issues/2468) * enable PermuteTLSExtensions (fixes https://github.com/bromite/bromite/issues/2467) +* hide "turn on enhanced protection" in security interstitials # 107.0.5304.114 * fix for drag selection not working with bottom toolbar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2411) diff --git a/build/LASTCHANGE b/build/LASTCHANGE index 94e23034..e58c7f85 100644 --- a/build/LASTCHANGE +++ b/build/LASTCHANGE @@ -1 +1 @@ -b39c18c290761b0cb58f7e20e74fe186db6e8104- \ No newline at end of file +0b85e6f30838f3738e5f4eaba89dadc3d948e2b6- \ No newline at end of file diff --git a/build/RELEASE b/build/RELEASE index c11a6198..79305174 100644 --- a/build/RELEASE +++ b/build/RELEASE @@ -1 +1 @@ -108.0.5359.75 \ No newline at end of file +108.0.5359.106 \ No newline at end of file diff --git a/build/RELEASE_COMMIT b/build/RELEASE_COMMIT index c29ac149..aee0f6ac 100644 --- a/build/RELEASE_COMMIT +++ b/build/RELEASE_COMMIT @@ -1 +1 @@ -7e4b6de4bb76e5fa9ec9f4880c05a041fc47f8bf \ No newline at end of file +09f17374e1eec67bb5a31015a527fc3c0057c708 \ No newline at end of file diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt index 8aad36e0..fa6c0ac9 100644 --- a/build/bromite_patches_list.txt +++ b/build/bromite_patches_list.txt @@ -198,5 +198,6 @@ Remove-HTTP-referrals-in-cross-origin-navigation.patch Enable-ECH-by-default.patch Disable-StartSurface-feature.patch Clamp-time-resolution-in-requestAnimationFrame.patch -Automated-domain-substitution.patch Enable-PermuteTLSExtensions-by-default.patch +Enable-third-party-storage-partitioning.patch +Automated-domain-substitution.patch diff --git a/build/patches/Add-an-always-incognito-mode.patch b/build/patches/Add-an-always-incognito-mode.patch index b688a1b0..b2dd4d11 100644 --- a/build/patches/Add-an-always-incognito-mode.patch +++ b/build/patches/Add-an-always-incognito-mode.patch @@ -228,7 +228,7 @@ new file mode 100644 + public static void migrateSettingToNative() { + if (isAlwaysIncognito()) { + PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile()); -+ if(!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) { ++ if (!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) { + Log.i(TAG, "Pref migration from java to native"); + prefService.setBoolean(Pref.ALWAYS_INCOGNITO_ENABLED, true); + } @@ -1325,7 +1325,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo Profile::FromBrowserContext(web_contents()->GetBrowserContext()); + +#if BUILDFLAG(IS_ANDROID) -+ if(profile->GetOriginalProfile()->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) { ++ if (profile->GetOriginalProfile()->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) { + return HistoryServiceFactory::GetForProfile(profile, ServiceAccessType::IMPLICIT_ACCESS); + } +#endif @@ -1402,7 +1402,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom + bool is_trusted = true; + // in always incognito, never trust input file (show file name in url) + ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key_); -+ if(profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) ++ if (profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) + is_trusted = false; + ValidateFileCallback(launch_location, j_callback_obj, @@ -1458,11 +1458,11 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc +SimpleFactoryKey* OfflinePageModelFactory::GetKeyToUse( + SimpleFactoryKey* key) const { + ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key); -+ if(profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) { ++ if (profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) { + return SimpleKeyedServiceFactory::GetKeyToUse(key); -+ } else { -+ return profile_key->GetOriginalKey(); + } ++ ++ return profile_key->GetOriginalKey(); +} + } // namespace offline_pages @@ -1519,12 +1519,12 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc +content::BrowserContext* +RequestCoordinatorFactory::GetBrowserContextToUse( + content::BrowserContext* context) const { -+ if(Profile::FromBrowserContext(context)->GetOriginalProfile() ++ if (Profile::FromBrowserContext(context)->GetOriginalProfile() + ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) { + return BrowserContextKeyedServiceFactory::GetBrowserContextToUse(context); -+ } else { -+ return chrome::GetBrowserContextRedirectedInIncognito(context); + } ++ ++ return chrome::GetBrowserContextRedirectedInIncognito(context); +} + + @@ -1559,8 +1559,8 @@ diff --git a/chrome/browser/offline_pages/recent_tab_helper.cc b/chrome/browser/ // WebContents with its origin as well. snapshots_enabled_ = !tab_id_.empty() && !web_contents()->GetBrowserContext()->IsOffTheRecord(); -+ if(!tab_id_.empty() && web_contents()->GetBrowserContext()->IsOffTheRecord()) { -+ if(Profile::FromBrowserContext(web_contents()->GetBrowserContext()) ++ if (!tab_id_.empty() && web_contents()->GetBrowserContext()->IsOffTheRecord()) { ++ if (Profile::FromBrowserContext(web_contents()->GetBrowserContext()) + ->GetOriginalProfile() + ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == true) { + snapshots_enabled_ = true; @@ -1769,15 +1769,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow } /** -@@ -446,7 +449,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro - } - } - } finally { -- if (!mOptimizationsEnabled) { -+ if (!mOptimizationsEnabled || mIsAlwaysIncognito) { - autocompleteSchemeClassifier.destroy(); - } - } +@@ -207,7 +210,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro + */ + public void initializeWithNative() { + mOptimizationsEnabled = +- ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS); ++ ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS) && !mIsAlwaysIncognito; + mLastUsedNonOTRProfile = Profile.getLastUsedRegularProfile(); + mNativeLocationBarModelAndroid = LocationBarModelJni.get().init(LocationBarModel.this); + diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn --- a/chrome/browser/ui/messages/android/BUILD.gn +++ b/chrome/browser/ui/messages/android/BUILD.gn diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch index 650a609c..085c7dcf 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -69,7 +69,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c - "CriticalClientHint", - base::FEATURE_ENABLED_BY_DEFAULT); + "CriticalClientHint", // disabled by default -+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite ++ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite // Enable debugging the issue crbug.com/1201355 BASE_FEATURE(kDebugHistoryInterventionNoUserActivation, @@ -92,7 +92,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c // See: // https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3 -BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_ENABLED_BY_DEFAULT); -+BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_ENABLED_BY_DEFAULT); // disabled by default in Bromite ++BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default in Bromite BASE_FEATURE(kSCTAuditingRetryReports, "SCTAuditingRetryReports", diff --git a/build/patches/Disable-AGSA-by-default.patch b/build/patches/Disable-AGSA-by-default.patch index df3cc263..35562541 100644 --- a/build/patches/Disable-AGSA-by-default.patch +++ b/build/patches/Disable-AGSA-by-default.patch @@ -268,8 +268,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse BASE_FEATURE(kExperimentsForAgsa, - "ExperimentsForAgsa", - base::FEATURE_ENABLED_BY_DEFAULT); -+ "ExperimentsForAgsa", // disabled by default -+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite ++ "ExperimentsForAgsa", // disabled by default ++ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kExploreSites, "ExploreSites", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/build/patches/Disable-NTP-remote-suggestions-by-default.patch b/build/patches/Disable-NTP-remote-suggestions-by-default.patch index 3fc96275..359fdcc8 100644 --- a/build/patches/Disable-NTP-remote-suggestions-by-default.patch +++ b/build/patches/Disable-NTP-remote-suggestions-by-default.patch @@ -42,8 +42,8 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu BASE_FEATURE(kKeepPrefetchedContentSuggestions, - "KeepPrefetchedContentSuggestions", - base::FEATURE_ENABLED_BY_DEFAULT); -+ "KeepPrefetchedContentSuggestions", // disabled by default -+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite ++ "KeepPrefetchedContentSuggestions", // disabled by default ++ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite BASE_FEATURE(kOptionalImagesEnabledFeature, "NTPRemoteSuggestionsOptionalImages", diff --git a/build/patches/Disable-safe-browsing.patch b/build/patches/Disable-safe-browsing.patch index bd4bb843..361f31d7 100644 --- a/build/patches/Disable-safe-browsing.patch +++ b/build/patches/Disable-safe-browsing.patch @@ -86,7 +86,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../content/common/file_type_policies.cc | 3 +- .../safe_browsing/core/common/features.cc | 4 +- .../content/captive_portal_blocking_page.cc | 9 +- - .../content/cert_report_helper.cc | 2 - + .../content/cert_report_helper.cc | 5 +- .../unified_consent_service.cc | 2 +- .../file_system_access_file_writer_impl.cc | 3 +- .../file_system_access_file_writer_impl.h | 5 -- @@ -95,7 +95,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../file_system_access_permission_context.h | 6 -- weblayer/BUILD.gn | 4 - weblayer/test/BUILD.gn | 1 - - 86 files changed, 214 insertions(+), 676 deletions(-) + 86 files changed, 215 insertions(+), 678 deletions(-) diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml --- a/chrome/android/java/res/xml/google_services_preferences.xml @@ -2928,7 +2928,17 @@ diff --git a/components/security_interstitials/content/captive_portal_blocking_p diff --git a/components/security_interstitials/content/cert_report_helper.cc b/components/security_interstitials/content/cert_report_helper.cc --- a/components/security_interstitials/content/cert_report_helper.cc +++ b/components/security_interstitials/content/cert_report_helper.cc -@@ -176,8 +176,6 @@ void CertReportHelper::FinishCertCollection() { +@@ -62,8 +62,7 @@ CertReportHelper::CertReportHelper( + interstitial_reason_(interstitial_reason), + overridable_(overridable), + interstitial_time_(interstitial_time), +- can_show_enhanced_protection_message_( +- can_show_enhanced_protection_message), ++ can_show_enhanced_protection_message_(false), // always disabled in Bromite + metrics_helper_(metrics_helper) {} + + CertReportHelper::~CertReportHelper() = default; +@@ -176,8 +175,6 @@ void CertReportHelper::FinishCertCollection() { LOG(ERROR) << "Failed to serialize certificate report."; return; } diff --git a/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch b/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch index 0f075fd9..b739e2e2 100644 --- a/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch +++ b/build/patches/Enable-SPPI-for-devices-with-enough-memory.patch @@ -21,7 +21,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc -#else - base::FEATURE_ENABLED_BY_DEFAULT -#endif -+ "SitePerProcess", // disable by default ++ "SitePerProcess", // enabled by default + base::FEATURE_ENABLED_BY_DEFAULT // in Bromite ); diff --git a/build/patches/Enable-third-party-storage-partitioning.patch b/build/patches/Enable-third-party-storage-partitioning.patch new file mode 100644 index 00000000..af74b73a --- /dev/null +++ b/build/patches/Enable-third-party-storage-partitioning.patch @@ -0,0 +1,25 @@ +From: csagan5 <32685696+csagan5@users.noreply.github.com> +Date: Sat, 3 Dec 2022 12:02:20 +0100 +Subject: Enable third-party storage partitioning + +License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html +--- + net/base/features.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/net/base/features.cc b/net/base/features.cc +--- a/net/base/features.cc ++++ b/net/base/features.cc +@@ -362,8 +362,8 @@ const base::FeatureParam kStorageAccessAPIAutoDenyOutsideFPS{ + // Enables partitioning of third party storage (IndexedDB, CacheStorage, etc.) + // by the top level site to reduce fingerprinting. + BASE_FEATURE(kThirdPartyStoragePartitioning, +- "ThirdPartyStoragePartitioning", +- base::FEATURE_DISABLED_BY_DEFAULT); ++ "ThirdPartyStoragePartitioning", // must be enabled ++ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite + + BASE_FEATURE(kAlpsParsing, "AlpsParsing", base::FEATURE_ENABLED_BY_DEFAULT); + +-- +2.25.1