diff --git a/build/cromite.gn_args b/build/cromite.gn_args index 258483e4..ed0218b6 100644 --- a/build/cromite.gn_args +++ b/build/cromite.gn_args @@ -31,7 +31,6 @@ use_sysroot=false webview_includes_weblayer=false enable_arcore=false enable_openxr=false -enable_feed_v2=false enable_cardboard=false is_high_end_android=true diff --git a/build/patches/Add-bookmark-import-export-actions.patch b/build/patches/Add-bookmark-import-export-actions.patch index 8db5c6ed..5ec27e45 100644 --- a/build/patches/Add-bookmark-import-export-actions.patch +++ b/build/patches/Add-bookmark-import-export-actions.patch @@ -1080,7 +1080,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse +const std::string BookmarkBridge::FileSelectedImpl(const base::FilePath& path) { + base::File file; + if (path.IsContentUri()) { -+ file = base::OpenContentUriForRead(path); ++ file = base::OpenContentUri(path, base::File::FLAG_OPEN | base::File::FLAG_READ); + } else { + file.Initialize(path, base::File::FLAG_OPEN | base::File::FLAG_READ); + } diff --git a/build/patches/Add-lifetime-options-for-permissions.patch b/build/patches/Add-lifetime-options-for-permissions.patch index 3d28380e..4f6830da 100644 --- a/build/patches/Add-lifetime-options-for-permissions.patch +++ b/build/patches/Add-lifetime-options-for-permissions.patch @@ -606,8 +606,8 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per + TextView lifetimeOptionsText = new TextView(context); + lifetimeOptionsText.setText(context.getString( + org.chromium.components.permissions.R.string.session_permissions_title)); -+ ApiCompatibilityUtils.setTextAppearance( -+ lifetimeOptionsText, R.style.TextAppearance_TextMedium_Primary); ++ lifetimeOptionsText.setTextAppearance( ++ lifetimeOptionsText.getContext(), R.style.TextAppearance_TextMedium_Primary); + + LinearLayout.LayoutParams lifetimeOptionsTextLayoutParams = + new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); diff --git a/build/patches/Add-menu-item-to-view-source.patch b/build/patches/Add-menu-item-to-view-source.patch index 7a46a960..cd0f8ede 100644 --- a/build/patches/Add-menu-item-to-view-source.patch +++ b/build/patches/Add-menu-item-to-view-source.patch @@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2724,6 +2724,11 @@ public abstract class ChromeActivity +@@ -2720,6 +2720,11 @@ public abstract class ChromeActivity return doOpenWebApk(currentTab); } diff --git a/build/patches/Add-setting-to-invert-tap-and-long-tap.patch b/build/patches/Add-setting-to-invert-tap-and-long-tap.patch index 050ca29b..d30ec710 100644 --- a/build/patches/Add-setting-to-invert-tap-and-long-tap.patch +++ b/build/patches/Add-setting-to-invert-tap-and-long-tap.patch @@ -204,7 +204,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -313,6 +313,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -312,6 +312,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &kTabGroupCreationDialogAndroid, &kTabGroupParityAndroid, &kTabletTabSwitcherLongPressMenu, @@ -541,7 +541,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t + if (!do_not_show_context_menu && + base::FeatureList::IsEnabled(features::kShowAlwaysContextMenuOnLinks)) { + if (auto* anchor_element = DynamicTo(result.URLElement())) { -+ MouseEvent event; ++ MouseEvent& event = *MouseEvent::Create(); + event.SetTarget(mouse_event->target()); + anchor_element->HandleClick(event, /*do_not_show_context_menu*/true); + return true; diff --git a/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch index 7f558742..4835c399 100644 --- a/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch +++ b/build/patches/Allow-DocumentPiP-if-PopupsAndRedirects-are-active.patch @@ -6,8 +6,8 @@ Allow documentPiP api use only with content setting popup allowed License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- - .../picture_in_picture_controller_impl.cc | 8 ++++++++ - 1 file changed, 8 insertions(+) + .../picture_in_picture_controller_impl.cc | 7 +++++++ + 1 file changed, 7 insertions(+) diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc --- a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc @@ -20,14 +20,13 @@ diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/pict #include "third_party/blink/renderer/modules/picture_in_picture/picture_in_picture_event.h" #include "third_party/blink/renderer/platform/heap/garbage_collected.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h" -@@ -377,6 +378,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( +@@ -377,6 +378,12 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow( return; } + if (!opener.GetFrame()->Loader().GetDocumentLoader()->GetContentSettings()->allow_popup) { -+ exception_state.ThrowDOMException(DOMExceptionCode::kNotAllowedError, -+ "Document PiP requires user popup permission"); -+ resolver->Reject(exception_state); ++ resolver->RejectWithDOMException(DOMExceptionCode::kNotAllowedError, ++ "Document PiP requires user popup permission"); + return; + } + diff --git a/build/patches/Bromite-subresource-adblocker.patch b/build/patches/Bromite-subresource-adblocker.patch index 967fded7..42dfad58 100644 --- a/build/patches/Bromite-subresource-adblocker.patch +++ b/build/patches/Bromite-subresource-adblocker.patch @@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../flags/android/adblock_native_gateway.cc | 31 ++ .../browser/flags/AdBlockNativeGateway.java | 30 ++ .../net/system_network_context_manager.cc | 4 + - .../sessions/session_restore_android.cc | 6 +- + .../sessions/session_restore_android.cc | 7 +- .../strings/android_chrome_strings.grd | 14 + chrome/common/pref_names.h | 5 + .../strings/android/site_settings.grdp | 3 + @@ -51,8 +51,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/subresource_filter_features.cc | 116 +------- .../core/browser/verified_ruleset_dealer.cc | 4 + .../core/common/indexed_ruleset.cc | 5 +- - .../Bromite-subresource-adblocker.inc | 3 + - 40 files changed, 1256 insertions(+), 129 deletions(-) + 39 files changed, 1254 insertions(+), 129 deletions(-) create mode 100644 chrome/android/java/res/layout/adblock_editor.xml create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java @@ -63,7 +62,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html create mode 100644 components/component_updater/adblock_updater_service.h create mode 100644 components/component_updater/download_filters_task.cc create mode 100644 components/component_updater/download_filters_task.h - create mode 100644 cromite_flags/third_party/blink/common/features_cc/Bromite-subresource-adblocker.inc diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn @@ -688,14 +686,15 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser/sessions/session_restore_android.cc --- a/chrome/browser/sessions/session_restore_android.cc +++ b/chrome/browser/sessions/session_restore_android.cc -@@ -57,8 +57,10 @@ content::WebContents* SessionRestore::RestoreForeignSessionTab( +@@ -57,8 +57,11 @@ content::WebContents* SessionRestore::RestoreForeignSessionTab( DCHECK(current_tab); // If swapped, return the current tab's most up-to-date web contents. if (disposition == WindowOpenDisposition::CURRENT_TAB) { - current_tab->SwapWebContents(std::move(new_web_contents), false, false); - return current_tab->web_contents(); + int active_tab_index = tab_model->GetActiveIndex(); -+ tab_model->CreateTab(current_tab, new_web_contents.release()); ++ tab_model->CreateTab(current_tab, new_web_contents.release(), ++ disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB); + tab_model->CloseTabAt(active_tab_index); + return raw_new_web_contents; } @@ -1986,12 +1985,4 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp return flat::VerifyIndexedRulesetBuffer(verifier) ? VerifyStatus::kChecksumFailVerifierPass : VerifyStatus::kChecksumFailVerifierFail; -diff --git a/cromite_flags/third_party/blink/common/features_cc/Bromite-subresource-adblocker.inc b/cromite_flags/third_party/blink/common/features_cc/Bromite-subresource-adblocker.inc -new file mode 100644 ---- /dev/null -+++ b/cromite_flags/third_party/blink/common/features_cc/Bromite-subresource-adblocker.inc -@@ -0,0 +1,3 @@ -+SET_CROMITE_FEATURE_ENABLED(kAutomaticLazyFrameLoadingToAds); -+SET_CROMITE_FEATURE_DISABLED(kAutomaticLazyFrameLoadingToEmbeds); -+SET_CROMITE_FEATURE_DISABLED(kAutomaticLazyFrameLoadingToEmbedUrls); -- diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch index 344be4e2..f5479ed8 100644 --- a/build/patches/Client-hints-overrides.patch +++ b/build/patches/Client-hints-overrides.patch @@ -157,7 +157,7 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party #include "base/strings/string_util.h" #include "services/network/public/cpp/client_hints.h" #include "third_party/blink/public/common/features.h" -+#include "third_party/blink/renderer/platform/runtime_enabled_features.h" ++#include "third_party/blink/public/common/features_generated.h" #include "third_party/blink/public/common/permissions_policy/permissions_policy.h" #include "url/origin.h" @@ -170,7 +170,7 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party case network::mojom::WebClientHintsType::kUAMobile: case network::mojom::WebClientHintsType::kUAPlatform: - return true; -+ return RuntimeEnabledFeatures::UserAgentClientHintEnabled(); ++ return base::FeatureList::IsEnabled(blink::features::kUserAgentClientHint); + case network::mojom::WebClientHintsType::kSaveData: + return false; default: diff --git a/build/patches/Content-settings-infrastructure.patch b/build/patches/Content-settings-infrastructure.patch index 1bace956..e5ffba29 100644 --- a/build/patches/Content-settings-infrastructure.patch +++ b/build/patches/Content-settings-infrastructure.patch @@ -64,7 +64,7 @@ Require: bromite-build-utils.patch .../core/browser/website_settings_info.h | 38 ++ .../core/browser/website_settings_registry.cc | 6 + .../core/browser/website_settings_registry.h | 1 + - .../content_settings/core/common/BUILD.gn | 7 + + .../content_settings/core/common/BUILD.gn | 8 + .../bromite_content_settings/placeholder.txt | 1 + .../core/common/content_settings.cc | 30 +- .../core/common/content_settings.h | 12 + @@ -83,7 +83,7 @@ Require: bromite-build-utils.patch .../platform/web_content_settings_client.h | 9 + .../execution_context/execution_context.cc | 16 + .../execution_context/execution_context.h | 5 + - 72 files changed, 1867 insertions(+), 95 deletions(-) + 72 files changed, 1868 insertions(+), 95 deletions(-) create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java @@ -1092,9 +1092,9 @@ diff --git a/chrome/browser/ui/views/page_info/permission_toggle_row_view.h b/ch #include "ui/views/view.h" +#include "components/content_settings/core/browser/website_settings_registry.h" -+#include "chrome/browser/ui/views/controls/md_text_button_with_down_arrow.h" +#include "ui/base/models/simple_menu_model.h" +#include "ui/views/controls/menu/menu_runner.h" ++#include "ui/views/controls/button/md_text_button_with_down_arrow.h" + class ChromePageInfoUiDelegate; class PageInfoNavigationHandler; @@ -2938,6 +2938,14 @@ diff --git a/components/content_settings/core/common/BUILD.gn b/components/conte } source_set("unit_tests") { +@@ -90,6 +97,7 @@ mojom("content_settings_types") { + sources = [ "content_settings_types.mojom" ] + + public_deps = [ "//mojo/public/mojom/base" ] ++ parser_deps = [ ":bromite_content_settings" ] + + webui_module_path = "/" + generate_legacy_js_bindings = true diff --git a/components/content_settings/core/common/bromite_content_settings/placeholder.txt b/components/content_settings/core/common/bromite_content_settings/placeholder.txt new file mode 100644 --- /dev/null diff --git a/build/patches/Disable-Feeback-Collector.patch b/build/patches/Disable-Feeback-Collector.patch index 32941739..c4dfdb08 100644 --- a/build/patches/Disable-Feeback-Collector.patch +++ b/build/patches/Disable-Feeback-Collector.patch @@ -4,9 +4,28 @@ Subject: Disable Feeback Collector License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- + chrome/browser/feedback/BUILD.gn | 8 +++--- .../browser/feedback/FeedbackCollector.java | 28 ++----------------- - 1 file changed, 3 insertions(+), 25 deletions(-) + 2 files changed, 7 insertions(+), 29 deletions(-) +diff --git a/chrome/browser/feedback/BUILD.gn b/chrome/browser/feedback/BUILD.gn +--- a/chrome/browser/feedback/BUILD.gn ++++ b/chrome/browser/feedback/BUILD.gn +@@ -15,10 +15,10 @@ source_set("feedback") { + public_deps = [] + deps = [] + if (is_android) { +- sources += [ +- "android/family_info_feedback_source.cc", +- "android/family_info_feedback_source.h", +- ] ++ # sources += [ ++ # "android/family_info_feedback_source.cc", ++ # "android/family_info_feedback_source.h", ++ # ] + public_deps += [ + "//components/supervised_user/core/browser", + "//components/supervised_user/core/browser:fetcher", diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java --- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java +++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/FeedbackCollector.java diff --git a/build/patches/Disable-feeds-support-by-default.patch b/build/patches/Disable-feeds-support-by-default.patch index ed34fd46..85ec303d 100644 --- a/build/patches/Disable-feeds-support-by-default.patch +++ b/build/patches/Disable-feeds-support-by-default.patch @@ -4,100 +4,70 @@ Subject: Disable feeds support by default License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - chrome/browser/feed/android/web_feed_bridge.cc | 18 ++++++++++++++++++ - chrome/browser/prefs/browser_prefs.cc | 2 +- - .../feed/core/shared_prefs/pref_names.cc | 2 +- - components/feed/feed_feature_list.cc | 3 +++ - 4 files changed, 23 insertions(+), 2 deletions(-) + .../browser/feed/android/web_feed_bridge.cc | 28 +++---------------- + .../feed/core/shared_prefs/pref_names.cc | 2 +- + components/feed/feed_feature_list.cc | 3 ++ + 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/feed/android/web_feed_bridge.cc --- a/chrome/browser/feed/android/web_feed_bridge.cc +++ b/chrome/browser/feed/android/web_feed_bridge.cc -@@ -24,6 +24,7 @@ - #include "chrome/browser/profiles/profile.h" - #include "chrome/browser/profiles/profile_manager.h" - #include "components/country_codes/country_codes.h" -+#include "components/feed/buildflags.h" - #include "components/feed/core/v2/config.h" - #include "components/feed/core/v2/public/feed_service.h" - #include "components/feed/core/v2/public/types.h" -@@ -81,10 +82,14 @@ base::android::ScopedJavaLocalRef ToJavaWebFeedId( +@@ -81,10 +81,7 @@ base::android::ScopedJavaLocalRef ToJavaWebFeedId( } WebFeedSubscriptions* GetSubscriptions() { -+#if BUILDFLAG(ENABLE_FEED_V2) - Profile* profile = ProfileManager::GetLastUsedProfile(); - if (!profile) - return nullptr; - return GetSubscriptionsForProfile(profile); -+#else +- Profile* profile = ProfileManager::GetLastUsedProfile(); +- if (!profile) +- return nullptr; +- return GetSubscriptionsForProfile(profile); + return nullptr; -+#endif } FeedApi* GetStream() { -@@ -220,10 +225,14 @@ static void JNI_WebFeedBridge_FollowWebFeed( +@@ -220,10 +217,7 @@ static void JNI_WebFeedBridge_FollowWebFeed( return; } -+#if BUILDFLAG(ENABLE_FEED_V2) - FollowWebFeed( - page_info.web_contents, - static_cast(change_reason), - std::move(callback)); -+#else +- FollowWebFeed( +- page_info.web_contents, +- static_cast(change_reason), +- std::move(callback)); + std::move(callback).Run({}); -+#endif } static jboolean JNI_WebFeedBridge_IsCormorantEnabledForLocale(JNIEnv* env) { -@@ -264,11 +273,16 @@ static void JNI_WebFeedBridge_UnfollowWebFeed( +@@ -264,11 +258,7 @@ static void JNI_WebFeedBridge_UnfollowWebFeed( auto callback = AdaptCallbackForJava( env, j_callback); -+ -+#if BUILDFLAG(ENABLE_FEED_V2) - UnfollowWebFeed( - ToNativeWebFeedId(env, webFeedId), - /*is_durable_request=*/is_durable, - static_cast(change_reason), - std::move(callback)); -+#else +- UnfollowWebFeed( +- ToNativeWebFeedId(env, webFeedId), +- /*is_durable_request=*/is_durable, +- static_cast(change_reason), +- std::move(callback)); + std::move(callback).Run({}); -+#endif } static void JNI_WebFeedBridge_FindWebFeedInfoForPage( -@@ -280,6 +294,7 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage( +@@ -279,17 +269,7 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage( + base::OnceCallback callback = AdaptCallbackForJava(env, j_callback); - PageInformation page_info = ToNativePageInformation(env, pageInfo); -+#if BUILDFLAG(ENABLE_FEED_V2) - // Make sure web_contents is not NULL since the user might navigate away from - // the current tab that is requested to find info. - if (!page_info.web_contents) { -@@ -290,6 +305,9 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage( - page_info.web_contents, - static_cast(reason), - std::move(callback)); -+#else +- PageInformation page_info = ToNativePageInformation(env, pageInfo); +- // Make sure web_contents is not NULL since the user might navigate away from +- // the current tab that is requested to find info. +- if (!page_info.web_contents) { +- std::move(callback).Run({}); +- return; +- } +- FindWebFeedInfoForPage( +- page_info.web_contents, +- static_cast(reason), +- std::move(callback)); + std::move(callback).Run({}); -+#endif } static void JNI_WebFeedBridge_FindWebFeedInfoForWebFeedId( -diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc ---- a/chrome/browser/prefs/browser_prefs.cc -+++ b/chrome/browser/prefs/browser_prefs.cc -@@ -2695,7 +2695,7 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, - syncer::SyncPrefs::MaybeMigrateAutofillToPerAccountPref(profile_prefs); - #endif // !BUILDFLAG(IS_ANDROID) - --#if BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_FEED_V2) - // Added 06/2024 - feed::prefs::MigrateObsoleteFeedExperimentPref_Jun_2024(profile_prefs); - #endif // BUILDFLAG(IS_ANDROID) diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc --- a/components/feed/core/shared_prefs/pref_names.cc +++ b/components/feed/core/shared_prefs/pref_names.cc diff --git a/build/patches/Disable-some-signed-exchange-features.patch b/build/patches/Disable-some-signed-exchange-features.patch index e5305b0c..17d54433 100644 --- a/build/patches/Disable-some-signed-exchange-features.patch +++ b/build/patches/Disable-some-signed-exchange-features.patch @@ -4,14 +4,32 @@ Subject: Disable some signed exchange features License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../Disable-some-signed-exchange-features.inc | 1 + - 1 file changed, 1 insertion(+) - create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-some-signed-exchange-features.inc + chrome/browser/chrome_content_browser_client.cc | 2 +- + content/browser/web_package/signed_exchange_utils.cc | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-some-signed-exchange-features.inc b/cromite_flags/content/public/common/content_features_cc/Disable-some-signed-exchange-features.inc -new file mode 100644 ---- /dev/null -+++ b/cromite_flags/content/public/common/content_features_cc/Disable-some-signed-exchange-features.inc -@@ -0,0 +1 @@ -+SET_CROMITE_FEATURE_DISABLED(kSignedHTTPExchange); +diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc +--- a/chrome/browser/chrome_content_browser_client.cc ++++ b/chrome/browser/chrome_content_browser_client.cc +@@ -1613,7 +1613,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs( + site_isolation::prefs::kWebTriggeredIsolatedOrigins); + registry->RegisterDictionaryPref( + prefs::kDevToolsBackgroundServicesExpirationDict); +- registry->RegisterBooleanPref(prefs::kSignedHTTPExchangeEnabled, true); ++ registry->RegisterBooleanPref(prefs::kSignedHTTPExchangeEnabled, false); + #if !BUILDFLAG(IS_ANDROID) + registry->RegisterBooleanPref(prefs::kAutoplayAllowed, false); + registry->RegisterListPref(prefs::kAutoplayAllowlist); +diff --git a/content/browser/web_package/signed_exchange_utils.cc b/content/browser/web_package/signed_exchange_utils.cc +--- a/content/browser/web_package/signed_exchange_utils.cc ++++ b/content/browser/web_package/signed_exchange_utils.cc +@@ -51,7 +51,7 @@ void ReportErrorAndTraceEvent( + } + + bool IsSignedExchangeHandlingEnabled(BrowserContext* context) { +- return GetContentClient()->browser()->AllowSignedExchange(context); ++ return false; + } + + bool IsSignedExchangeReportingForDistributorsEnabled() { -- diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch index 065ffb6c..61288417 100644 --- a/build/patches/Enable-native-Android-autofill.patch +++ b/build/patches/Enable-native-Android-autofill.patch @@ -34,12 +34,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../autofill/AutofillManagerWrapper.java | 5 +- .../components/autofill/AutofillProvider.java | 7 ++ .../BrowserSelectionActionMenuDelegate.java | 62 ++++++++++++++ - .../browser/content_autofill_driver.cc | 13 +++ + .../browser/content_autofill_driver.cc | 11 +++ .../content/browser/content_autofill_driver.h | 10 +++ .../content_autofill_driver_factory.cc | 12 +++ .../content/renderer/autofill_agent.cc | 6 ++ .../renderer/password_autofill_agent.cc | 5 +- .../autofill/core/browser/autofill_driver.h | 2 + + .../core/browser/autofill_driver_factory.cc | 4 + .../autofill/core/browser/autofill_manager.h | 2 + .../core/browser/browser_autofill_manager.cc | 2 + .../core/browser/browser_autofill_manager.h | 2 + @@ -47,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../autofill/core/common/autofill_features.h | 22 ----- .../autofill/core/common/autofill_prefs.cc | 4 +- .../autofill/core/common/autofill_prefs.h | 5 ++ - 32 files changed, 268 insertions(+), 167 deletions(-) + 33 files changed, 270 insertions(+), 167 deletions(-) create mode 100644 components/android_autofill/browser/java/src/org/chromium/components/autofill/BrowserSelectionActionMenuDelegate.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/password_manager/settings/PasswordSettings.java @@ -736,16 +737,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co }, source, Lift(source, std::forward(args))...); } -@@ -262,6 +269,8 @@ ContentAutofillDriver::ContentAutofillDriver( - - ContentAutofillDriver::~ContentAutofillDriver() { - owner_->router().UnregisterDriver(*this, /*driver_is_dying=*/true); -+ if (secondary_autofill_manager_) -+ secondary_autofill_manager_->Reset(); - } - - void ContentAutofillDriver::Reset(ContentAutofillDriverFactoryPassKey) { -@@ -604,6 +613,10 @@ ContentAutofillDriver::GetAutofillAgent() { +@@ -604,6 +611,10 @@ ContentAutofillDriver::GetAutofillAgent() { return autofill_agent_; } @@ -874,6 +866,20 @@ diff --git a/components/autofill/core/browser/autofill_driver.h b/components/aut // Returns whether the AutofillDriver instance is associated with an active // frame in the MPArch sense. virtual bool IsActive() const = 0; +diff --git a/components/autofill/core/browser/autofill_driver_factory.cc b/components/autofill/core/browser/autofill_driver_factory.cc +--- a/components/autofill/core/browser/autofill_driver_factory.cc ++++ b/components/autofill/core/browser/autofill_driver_factory.cc +@@ -25,6 +25,10 @@ void AutofillDriverFactory::SetLifecycleStateAndNotifyObservers( + } + driver.GetAutofillManager().OnAutofillDriverLifecycleStateChanged( + old_state, new_state, /*pass_key=*/{}); ++ if (auto secondary = driver.secondary_autofill_manager()) { ++ secondary->OnAutofillDriverLifecycleStateChanged( ++ old_state, new_state, /*pass_key=*/{}); ++ } + } + + } // namespace autofill diff --git a/components/autofill/core/browser/autofill_manager.h b/components/autofill/core/browser/autofill_manager.h --- a/components/autofill/core/browser/autofill_manager.h +++ b/components/autofill/core/browser/autofill_manager.h diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch index a08f8694..3c9ef6d2 100644 --- a/build/patches/Experimental-user-scripts-support.patch +++ b/build/patches/Experimental-user-scripts-support.patch @@ -54,7 +54,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../java/res/layout/scripts_preference.xml | 40 + .../android/java/res/values/dimens.xml | 11 + .../java/res/xml/userscripts_preferences.xml | 34 + - .../user_scripts/UserScriptsUtils.java | 87 ++ + .../user_scripts/UserScriptsUtils.java | 88 ++ .../user_scripts/FragmentWindowAndroid.java | 90 ++ .../user_scripts/IUserScriptsUtils.java | 22 + .../components/user_scripts/ScriptInfo.java | 37 + @@ -74,7 +74,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../user-script-ui/user-scripts-ui.js | 9 + .../browser/ui/user_scripts_ui.cc | 146 ++++ .../user_scripts/browser/ui/user_scripts_ui.h | 37 + - .../browser/user_script_loader.cc | 708 +++++++++++++++ + .../browser/user_script_loader.cc | 706 +++++++++++++++ .../user_scripts/browser/user_script_loader.h | 168 ++++ .../browser/user_script_pref_info.cc | 34 + .../browser/user_script_pref_info.h | 72 ++ @@ -85,7 +85,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/user_scripts/common/BUILD.gn | 48 ++ components/user_scripts/common/constants.h | 15 + components/user_scripts/common/error_utils.cc | 54 ++ - components/user_scripts/common/error_utils.h | 24 + + components/user_scripts/common/error_utils.h | 22 + .../common/extension_message_generator.cc | 29 + .../common/extension_message_generator.h | 11 + .../user_scripts/common/extension_messages.cc | 40 + @@ -93,15 +93,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html components/user_scripts/common/host_id.cc | 31 + components/user_scripts/common/host_id.h | 35 + .../user_scripts/common/script_constants.h | 33 + - components/user_scripts/common/url_pattern.cc | 803 ++++++++++++++++++ - components/user_scripts/common/url_pattern.h | 303 +++++++ + components/user_scripts/common/url_pattern.cc | 802 ++++++++++++++++++ + components/user_scripts/common/url_pattern.h | 302 +++++++ .../user_scripts/common/url_pattern_set.cc | 335 ++++++++ .../user_scripts/common/url_pattern_set.h | 160 ++++ components/user_scripts/common/user_script.cc | 329 +++++++ - components/user_scripts/common/user_script.h | 403 +++++++++ + components/user_scripts/common/user_script.h | 402 +++++++++ .../common/user_scripts_features.cc | 32 + .../common/user_scripts_features.h | 36 + - components/user_scripts/common/view_type.cc | 39 + + components/user_scripts/common/view_type.cc | 37 + components/user_scripts/common/view_type.h | 48 ++ components/user_scripts/renderer/BUILD.gn | 65 ++ .../renderer/extension_frame_helper.cc | 95 +++ @@ -135,7 +135,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../Experimental-user-scripts-support.inc | 13 + ipc/ipc_message_start.h | 1 + tools/gritsettings/resource_ids.spec | 6 + - 108 files changed, 9484 insertions(+), 2 deletions(-) + 108 files changed, 9476 insertions(+), 2 deletions(-) create mode 100644 components/user_scripts/README.md create mode 100755 components/user_scripts/android/BUILD.gn create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml @@ -1229,7 +1229,7 @@ diff --git a/components/user_scripts/android/java/src/org/chromium/chrome/browse new file mode 100755 --- /dev/null +++ b/components/user_scripts/android/java/src/org/chromium/chrome/browser/user_scripts/UserScriptsUtils.java -@@ -0,0 +1,87 @@ +@@ -0,0 +1,88 @@ +/* + This file is part of Bromite. + @@ -1260,6 +1260,7 @@ new file mode 100755 +import org.chromium.base.IntentUtils; + +import org.chromium.chrome.browser.IntentHandler; ++import org.chromium.chrome.browser.settings.SettingsLauncherFactory; +import org.chromium.chrome.browser.settings.SettingsLauncherImpl; +import org.chromium.components.browser_ui.settings.SettingsLauncher; + @@ -1297,7 +1298,7 @@ new file mode 100755 + + if (visibleName.toUpperCase().endsWith(".USER.JS") == false) return false; + -+ SettingsLauncher settingsLauncher = new SettingsLauncherImpl(); ++ SettingsLauncher settingsLauncher = SettingsLauncherFactory.createSettingsLauncher(); + Intent intent = settingsLauncher.createSettingsActivityIntent( + context, UserScriptsPreferences.class, + UserScriptsPreferences.createFragmentArgsForInstall(filePath)); @@ -2831,7 +2832,7 @@ diff --git a/components/user_scripts/browser/user_script_loader.cc b/components/ new file mode 100755 --- /dev/null +++ b/components/user_scripts/browser/user_script_loader.cc -@@ -0,0 +1,708 @@ +@@ -0,0 +1,706 @@ +/* + This file is part of Bromite. + @@ -2880,8 +2881,6 @@ new file mode 100755 +#include "content/public/browser/browser_context.h" +#include "content/public/browser/browser_task_traits.h" +#include "content/public/browser/browser_thread.h" -+#include "content/public/browser/notification_service.h" -+#include "content/public/browser/notification_types.h" +#include "content/public/browser/render_process_host.h" +#include "ui/shell_dialogs/selected_file_info.h" +#include "ui/shell_dialogs/select_file_dialog.h" @@ -3052,7 +3051,7 @@ new file mode 100755 + if (base::FeatureList::IsEnabled(features::kEnableLoggingUserScripts)) + LOG(INFO) << "UserScriptLoader: path " << user_script_path << " is a content uri"; + -+ infile = OpenContentUriForRead(user_script_path); ++ infile = OpenContentUri(user_script_path, base::File::FLAG_OPEN | base::File::FLAG_READ); + } else { + infile = base::File(user_script_path, base::File::FLAG_OPEN | base::File::FLAG_READ); + } @@ -4462,7 +4461,7 @@ diff --git a/components/user_scripts/common/error_utils.h b/components/user_scri new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/error_utils.h -@@ -0,0 +1,24 @@ +@@ -0,0 +1,22 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -4472,8 +4471,6 @@ new file mode 100755 + +#include + -+#include "base/strings/string_piece.h" -+ +namespace user_scripts { + +class ErrorUtils { @@ -4775,7 +4772,7 @@ diff --git a/components/user_scripts/common/url_pattern.cc b/components/user_scr new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/url_pattern.cc -@@ -0,0 +1,803 @@ +@@ -0,0 +1,802 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -4790,7 +4787,6 @@ new file mode 100755 +#include "base/strings/pattern.h" +#include "base/strings/strcat.h" +#include "base/strings/string_number_conversions.h" -+#include "base/strings/string_piece.h" +#include "base/strings/string_split.h" +#include "base/strings/string_util.h" +#include "base/strings/stringprintf.h" @@ -5583,7 +5579,7 @@ diff --git a/components/user_scripts/common/url_pattern.h b/components/user_scri new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/url_pattern.h -@@ -0,0 +1,303 @@ +@@ -0,0 +1,302 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -5595,7 +5591,6 @@ new file mode 100755 +#include +#include + -+#include "base/strings/string_piece.h" +#include "net/base/registry_controlled_domains/registry_controlled_domain.h" +#include "third_party/abseil-cpp/absl/types/optional.h" + @@ -6730,7 +6725,7 @@ diff --git a/components/user_scripts/common/user_script.h b/components/user_scri new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/user_script.h -@@ -0,0 +1,403 @@ +@@ -0,0 +1,402 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. @@ -6743,7 +6738,6 @@ new file mode 100755 +#include + +#include "base/files/file_path.h" -+#include "base/strings/string_piece.h" +#include "script_constants.h" +#include "host_id.h" +#include "url_pattern.h" @@ -7216,15 +7210,13 @@ diff --git a/components/user_scripts/common/view_type.cc b/components/user_scrip new file mode 100755 --- /dev/null +++ b/components/user_scripts/common/view_type.cc -@@ -0,0 +1,39 @@ +@@ -0,0 +1,37 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "view_type.h" + -+#include "base/strings/string_piece.h" -+ +namespace user_scripts { + +bool GetViewTypeFromString(const std::string& view_type, diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch index 27ff1040..a4cec610 100644 --- a/build/patches/Eyeo-Adblock-for-Cromite.patch +++ b/build/patches/Eyeo-Adblock-for-Cromite.patch @@ -85,7 +85,7 @@ deactivation of all pop-ups (default disabled) .../core/converter/parser/url_filter.cc | 10 +- .../converter/parser/url_filter_options.cc | 21 +- .../converter/parser/url_filter_options.h | 1 + - .../serializer/flatbuffer_serializer.cc | 82 +- + .../serializer/flatbuffer_serializer.cc | 83 +- components/adblock/core/features.cc | 3 +- components/adblock/core/hash/schema_hash.h | 10 + .../adblock/core/sitekey_storage_impl.cc | 11 +- @@ -129,7 +129,7 @@ deactivation of all pop-ups (default disabled) .../blink/renderer/core/css/style_engine.h | 1 + .../renderer/core/exported/web_document.cc | 15 +- .../definitions/adblock_private.d.ts | 14 + - 119 files changed, 6722 insertions(+), 1309 deletions(-) + 119 files changed, 6723 insertions(+), 1309 deletions(-) create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.html create mode 100644 chrome/browser/resources/settings/adblock_page/adblock_page.ts rename components/adblock/android/java/res/xml/{adblock_preferences.xml => eyeo_adblock_preferences.xml} (56%) @@ -2894,7 +2894,7 @@ diff --git a/components/adblock/content/browser/adblock_webcontents_observer.h b diff --git a/components/adblock/content/browser/element_hider_impl.cc b/components/adblock/content/browser/element_hider_impl.cc --- a/components/adblock/content/browser/element_hider_impl.cc +++ b/components/adblock/content/browser/element_hider_impl.cc -@@ -208,7 +208,7 @@ void InsertUserCSSAndApplyElemHidingEmuJS( +@@ -211,7 +211,7 @@ void InsertUserCSSAndApplyElemHidingEmuJS( if (!frame_host) { // Render frame host was destroyed before element hiding could be applied. // This is not a bug, just legitimate a race condition. @@ -2903,7 +2903,7 @@ diff --git a/components/adblock/content/browser/element_hider_impl.cc b/componen return; } auto* info = ElementHiderInfo::GetOrCreateForCurrentDocument(frame_host); -@@ -236,13 +236,9 @@ void InsertUserCSSAndApplyElemHidingEmuJS( +@@ -239,13 +239,9 @@ void InsertUserCSSAndApplyElemHidingEmuJS( } if (!input.snippet_js.empty()) { @@ -4146,7 +4146,7 @@ diff --git a/components/adblock/core/common/adblock_constants.cc b/components/ad diff --git a/components/adblock/core/common/adblock_constants.h b/components/adblock/core/common/adblock_constants.h --- a/components/adblock/core/common/adblock_constants.h +++ b/components/adblock/core/common/adblock_constants.h -@@ -28,7 +28,6 @@ namespace flat { +@@ -27,7 +27,6 @@ namespace flat { enum AbpResource : int8_t; } @@ -4281,7 +4281,7 @@ diff --git a/components/adblock/core/common/adblock_utils.cc b/components/adbloc diff --git a/components/adblock/core/configuration/filtering_configuration.h b/components/adblock/core/configuration/filtering_configuration.h --- a/components/adblock/core/configuration/filtering_configuration.h +++ b/components/adblock/core/configuration/filtering_configuration.h -@@ -66,6 +66,9 @@ class FilteringConfiguration { +@@ -65,6 +65,9 @@ class FilteringConfiguration { virtual void SetEnabled(bool enabled) = 0; virtual bool IsEnabled() const = 0; @@ -4341,7 +4341,7 @@ diff --git a/components/adblock/core/configuration/persistent_filtering_configur diff --git a/components/adblock/core/converter/flatbuffer_converter.cc b/components/adblock/core/converter/flatbuffer_converter.cc --- a/components/adblock/core/converter/flatbuffer_converter.cc +++ b/components/adblock/core/converter/flatbuffer_converter.cc -@@ -125,7 +125,7 @@ void FlatbufferConverter::ConvertFilter( +@@ -124,7 +124,7 @@ void FlatbufferConverter::ConvertFilter( std::string(filter_str.data(), filter_str.size()))) { flatbuffer_serializer.SerializeUrlFilter(std::move(url_filter.value())); } else { @@ -4517,15 +4517,15 @@ diff --git a/components/adblock/core/converter/parser/url_filter_options.h b/com diff --git a/components/adblock/core/converter/serializer/flatbuffer_serializer.cc b/components/adblock/core/converter/serializer/flatbuffer_serializer.cc --- a/components/adblock/core/converter/serializer/flatbuffer_serializer.cc +++ b/components/adblock/core/converter/serializer/flatbuffer_serializer.cc -@@ -21,6 +21,7 @@ +@@ -20,6 +20,7 @@ + #include "base/logging.h" #include "base/notreached.h" - #include "base/strings/string_piece.h" #include "base/strings/string_util.h" +#include "base/strings/utf_string_conversions.h" #include "components/adblock/core/common/adblock_constants.h" #include "components/adblock/core/common/regex_filter_pattern.h" #include "components/adblock/core/converter/parser/filter_classifier.h" -@@ -28,6 +29,67 @@ +@@ -27,6 +28,68 @@ namespace adblock { @@ -4582,7 +4582,8 @@ diff --git a/components/adblock/core/converter/serializer/flatbuffer_serializer. + }; + + template -+ bool IsInList(const std::u16string& command, const char16_t*(&list)[N]) { ++ bool IsInList(const std::u16string& command, const char16_t*(&input)[N]) { ++ auto list = base::span(input); + for(int t = 0; t < N; ++t) + if (base::EqualsCaseInsensitiveASCII(command, list[t])) + return true; @@ -4593,7 +4594,7 @@ diff --git a/components/adblock/core/converter/serializer/flatbuffer_serializer. class Buffer : public FlatbufferData { public: explicit Buffer(flatbuffers::DetachedBuffer&& buffer) -@@ -118,9 +180,25 @@ void FlatbufferSerializer::SerializeContentFilter( +@@ -121,9 +184,25 @@ void FlatbufferSerializer::SerializeContentFilter( void FlatbufferSerializer::SerializeSnippetFilter( const SnippetFilter snippet_filter) { if (!allow_privileged_) { @@ -4620,7 +4621,7 @@ diff --git a/components/adblock/core/converter/serializer/flatbuffer_serializer. std::vector> offsets; offsets.reserve(snippet_filter.snippet_script.size()); -@@ -141,7 +219,7 @@ void FlatbufferSerializer::SerializeSnippetFilter( +@@ -144,7 +223,7 @@ void FlatbufferSerializer::SerializeSnippetFilter( void FlatbufferSerializer::SerializeUrlFilter(const UrlFilter url_filter) { const auto& options = url_filter.options; if (!allow_privileged_ && options.Headers().has_value()) { @@ -4926,7 +4927,7 @@ diff --git a/components/adblock/core/subscription/ongoing_subscription_request_i diff --git a/components/adblock/core/subscription/preloaded_subscription_provider_impl.cc b/components/adblock/core/subscription/preloaded_subscription_provider_impl.cc --- a/components/adblock/core/subscription/preloaded_subscription_provider_impl.cc +++ b/components/adblock/core/subscription/preloaded_subscription_provider_impl.cc -@@ -63,10 +63,10 @@ class PreloadedSubscriptionProviderImpl::SingleSubscriptionProvider { +@@ -62,10 +62,10 @@ class PreloadedSubscriptionProviderImpl::SingleSubscriptionProvider { utils::MakeFlatbufferDataFromResourceBundle( info_.flatbuffer_resource_id), Subscription::InstallationState::Preloaded, base::Time()); @@ -5094,7 +5095,7 @@ diff --git a/components/adblock/core/subscription/subscription_config.h b/compon diff --git a/components/adblock/core/subscription/subscription_downloader_impl.cc b/components/adblock/core/subscription/subscription_downloader_impl.cc --- a/components/adblock/core/subscription/subscription_downloader_impl.cc +++ b/components/adblock/core/subscription/subscription_downloader_impl.cc -@@ -56,6 +56,7 @@ GURL AddUrlParameters(const GURL& subscription_url, +@@ -55,6 +55,7 @@ GURL AddUrlParameters(const GURL& subscription_url, const SubscriptionPersistentMetadata* persistent_metadata, const utils::AppInfo& client_metadata, const bool is_disabled) { @@ -5102,7 +5103,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c const std::string query = base::StrCat( {"addonName=", "eyeo-chromium-sdk", "&addonVersion=", "1.0", "&application=", base::EscapeQueryParamValue(client_metadata.name, true), -@@ -116,6 +117,8 @@ void SubscriptionDownloaderImpl::StartDownload( +@@ -115,6 +116,8 @@ void SubscriptionDownloaderImpl::StartDownload( } void SubscriptionDownloaderImpl::CancelDownload(const GURL& subscription_url) { @@ -5111,7 +5112,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ongoing_downloads_.erase(subscription_url); } -@@ -140,10 +143,6 @@ void SubscriptionDownloaderImpl::DoHeadRequest( +@@ -139,10 +142,6 @@ void SubscriptionDownloaderImpl::DoHeadRequest( bool SubscriptionDownloaderImpl::IsUrlAllowed( const GURL& subscription_url) const { @@ -5122,7 +5123,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c if (!subscription_url.SchemeIs("https") && !subscription_url.SchemeIs("data")) { return false; -@@ -193,11 +192,11 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( +@@ -192,11 +191,11 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( persistent_metadata_->IncrementDownloadErrorCount(subscription_url); if (std::get(download_it->second) == RetryPolicy::RetryUntilSucceeded) { @@ -5136,7 +5137,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c << subscription_url << ", will abort"; std::move(std::get(download_it->second)) .Run(nullptr); -@@ -214,8 +213,10 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( +@@ -213,8 +212,10 @@ void SubscriptionDownloaderImpl::OnDownloadFinished( TRACE_ID_LOCAL(GenerateTraceId(subscription_url)), "url", subscription_url.spec()); @@ -5148,7 +5149,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c base::BindOnce(&SubscriptionDownloaderImpl::OnConversionFinished, weak_ptr_factory_.GetWeakPtr(), subscription_url)); } -@@ -229,14 +230,14 @@ void SubscriptionDownloaderImpl::OnConversionFinished( +@@ -228,14 +229,14 @@ void SubscriptionDownloaderImpl::OnConversionFinished( TRACE_ID_LOCAL(GenerateTraceId(subscription_url))); const auto download_it = ongoing_downloads_.find(subscription_url); if (download_it == ongoing_downloads_.end()) { @@ -5165,7 +5166,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c << " successfully"; std::move(std::get(download_it->second)) .Run(std::move( -@@ -279,7 +280,7 @@ void SubscriptionDownloaderImpl::AbortWithWarning( +@@ -278,7 +279,7 @@ void SubscriptionDownloaderImpl::AbortWithWarning( if (ongoing_download_it == ongoing_downloads_.end()) { return; } @@ -5444,7 +5445,7 @@ diff --git a/components/adblock/core/subscription/subscription_updater_impl.cc b diff --git a/components/adblock/core/subscription/subscription_validator_impl.cc b/components/adblock/core/subscription/subscription_validator_impl.cc --- a/components/adblock/core/subscription/subscription_validator_impl.cc +++ b/components/adblock/core/subscription/subscription_validator_impl.cc -@@ -64,11 +64,11 @@ bool IsSignatureValidInternal( +@@ -63,11 +63,11 @@ bool IsSignatureValidInternal( const auto* expected_hash = initial_subscription_signatures.FindString( path.BaseName().AsUTF8Unsafe()); if (!expected_hash) { diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch index f7d8a7c2..48668dda 100644 --- a/build/patches/Fix-chromium-build-bugs.patch +++ b/build/patches/Fix-chromium-build-bugs.patch @@ -9,13 +9,16 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10 .../navigation_predictor_metrics_document_data.h | 2 ++ chrome/browser/safe_browsing/BUILD.gn | 1 + chrome/browser/ui/browser_commands.cc | 1 + + chrome/browser/ui/lens/lens_overlay_controller.cc | 1 + .../webid/fedcm_account_selection_view_desktop.cc | 1 + + .../component_updater/installer_policies/BUILD.gn | 1 + .../omnibox/browser/autocomplete_classifier.cc | 4 ++-- components/omnibox/browser/omnibox_field_trial.cc | 4 ++-- + components/plus_addresses/BUILD.gn | 1 + .../phishing_classifier/phishing_image_embedder.cc | 14 +++----------- content/browser/browser_interface_binders.cc | 1 + net/BUILD.gn | 1 + - 10 files changed, 14 insertions(+), 16 deletions(-) + 13 files changed, 17 insertions(+), 16 deletions(-) diff --git a/BUILD.gn b/BUILD.gn --- a/BUILD.gn @@ -62,6 +65,17 @@ diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_c #include #include #include +diff --git a/chrome/browser/ui/lens/lens_overlay_controller.cc b/chrome/browser/ui/lens/lens_overlay_controller.cc +--- a/chrome/browser/ui/lens/lens_overlay_controller.cc ++++ b/chrome/browser/ui/lens/lens_overlay_controller.cc +@@ -11,6 +11,7 @@ + #include "base/system/sys_info.h" + #include "base/task/bind_post_task.h" + #include "base/task/sequenced_task_runner.h" ++#include "base/task/thread_pool.h" + #include "chrome/browser/feedback/show_feedback_page.h" + #include "chrome/browser/lens/core/mojom/geometry.mojom.h" + #include "chrome/browser/lens/core/mojom/overlay_object.mojom.h" diff --git a/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc b/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc --- a/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc +++ b/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc @@ -73,6 +87,17 @@ diff --git a/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop. #include "chrome/browser/accessibility/accessibility_state_utils.h" #include "chrome/browser/net/system_network_context_manager.h" #include "chrome/browser/ui/browser_finder.h" +diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn +--- a/components/component_updater/installer_policies/BUILD.gn ++++ b/components/component_updater/installer_policies/BUILD.gn +@@ -45,6 +45,7 @@ static_library("installer_policies_no_content_deps") { + "//components/update_client", + "//mojo/public/cpp/base:protobuf_support", + "//services/network/public/cpp", ++ "//third_party/re2", + ] + + # Disallow depending on content. diff --git a/components/omnibox/browser/autocomplete_classifier.cc b/components/omnibox/browser/autocomplete_classifier.cc --- a/components/omnibox/browser/autocomplete_classifier.cc +++ b/components/omnibox/browser/autocomplete_classifier.cc @@ -104,6 +129,17 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni } MLConfig& ScopedMLConfigForTesting::GetMLConfig() { +diff --git a/components/plus_addresses/BUILD.gn b/components/plus_addresses/BUILD.gn +--- a/components/plus_addresses/BUILD.gn ++++ b/components/plus_addresses/BUILD.gn +@@ -96,6 +96,7 @@ source_set("plus_addresses") { + "//services/data_decoder/public/cpp", + "//services/network/public/cpp", + "//ui/base", ++ "//third_party/re2", + ] + public_deps = [ + # While not strictly public by h file inclusion, this is a temporary move diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc --- a/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc +++ b/components/safe_browsing/content/renderer/phishing_classifier/phishing_image_embedder.cc diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch index ff9eaf5c..9e1daa17 100644 --- a/build/patches/Move-navigation-bar-to-bottom.patch +++ b/build/patches/Move-navigation-bar-to-bottom.patch @@ -18,24 +18,24 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html cc/input/browser_controls_offset_manager.cc | 6 + cc/trees/layer_tree_host_impl.cc | 3 + .../tab_management/TabGroupUiCoordinator.java | 7 +- - .../tab_management/TabGroupUiMediator.java | 56 ++++++- + .../tab_management/TabGroupUiMediator.java | 56 +++++- .../tab_management/TabGroupUiProperties.java | 7 +- .../tab_management/TabGroupUiToolbarView.java | 17 ++ .../tab_management/TabGroupUiViewBinder.java | 3 + - .../tab_management/TabListCoordinator.java | 153 +++++++++++++++++- + .../tab_management/TabListCoordinator.java | 162 +++++++++++++++++- .../TabListEmptyCoordinator.java | 17 +- .../settings/AccessibilitySettings.java | 26 +++ .../ChromeAccessibilitySettingsDelegate.java | 69 ++++++++ .../chrome/browser/app/ChromeActivity.java | 3 + .../compositor/CompositorViewHolder.java | 7 + - .../layouts/LayoutManagerChrome.java | 19 ++- + .../layouts/LayoutManagerChrome.java | 19 +- .../layouts/LayoutManagerChromeTablet.java | 4 +- .../layouts/ToolbarSwipeLayout.java | 14 +- .../overlays/strip/ScrollDelegate.java | 2 +- - .../strip/StripLayoutHelperManager.java | 37 ++++- + .../strip/StripLayoutHelperManager.java | 37 +++- .../scene_layer/StaticTabSceneLayer.java | 7 +- .../scene_layer/TabListSceneLayer.java | 8 + - .../scene_layer/TabStripSceneLayer.java | 19 ++- + .../scene_layer/TabStripSceneLayer.java | 19 +- .../browser/findinpage/FindToolbarTablet.java | 10 +- .../fullscreen/BrowserControlsManager.java | 12 ++ .../messages/MessageContainerCoordinator.java | 16 +- @@ -45,10 +45,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/ntp/RecentTabsPage.java | 30 +++- .../browser/searchwidget/SearchActivity.java | 11 ++ .../browser/settings/SettingsActivity.java | 5 + - .../StatusIndicatorCoordinator.java | 9 ++ + .../StatusIndicatorCoordinator.java | 9 + .../StatusIndicatorSceneLayer.java | 6 +- - .../browser/toolbar/ToolbarManager.java | 37 ++++- - .../chrome/browser/ui/BottomContainer.java | 18 +++ + .../browser/toolbar/ToolbarManager.java | 37 +++- + .../chrome/browser/ui/BottomContainer.java | 18 ++ .../ui/system/StatusBarColorController.java | 8 + .../android/compositor/layer/toolbar_layer.cc | 10 +- .../scene_layer/tab_strip_scene_layer.cc | 16 +- @@ -60,14 +60,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/flags/ChromeFeatureList.java | 10 ++ chrome/browser/hub/internal/BUILD.gn | 5 + .../chrome/browser/hub/HubCoordinator.java | 8 + - .../chrome/browser/hub/HubManagerImpl.java | 24 ++- + .../chrome/browser/hub/HubManagerImpl.java | 16 +- .../browser/hub/ReversedLinearLayout.java | 42 +++++ .../android/res/layout/hub_layout.xml | 4 +- .../android/res/layout/hub_toolbar_layout.xml | 2 +- chrome/browser/prefs/browser_prefs.cc | 2 +- .../chrome/browser/ui/appmenu/AppMenu.java | 40 ++++- .../ui/appmenu/AppMenuHandlerImpl.java | 10 ++ - ...mniboxSuggestionsDropdownEmbedderImpl.java | 18 +++ + ...mniboxSuggestionsDropdownEmbedderImpl.java | 18 ++ .../suggestions/AutocompleteCoordinator.java | 13 ++ .../suggestions/AutocompleteMediator.java | 6 +- .../DropdownItemViewInfoListManager.java | 7 +- @@ -81,8 +81,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../bottom/BottomControlsMediator.java | 20 ++- .../bottom/BottomControlsProperties.java | 6 +- .../bottom/BottomControlsViewBinder.java | 2 + - .../bottom/ScrollingBottomViewSceneLayer.java | 19 ++- - .../toolbar/top/ToolbarControlContainer.java | 9 ++ + .../bottom/ScrollingBottomViewSceneLayer.java | 19 +- + .../toolbar/top/ToolbarControlContainer.java | 9 + .../top/TopToolbarOverlayCoordinator.java | 10 ++ .../top/TopToolbarOverlayProperties.java | 8 +- .../toolbar/top/TopToolbarSceneLayer.java | 10 +- @@ -90,7 +90,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../AccessibilitySettingsDelegate.java | 7 + .../render_widget_host_view_android.cc | 3 + .../Move-navigation-bar-to-bottom.inc | 17 ++ - 77 files changed, 1006 insertions(+), 83 deletions(-) + 77 files changed, 1009 insertions(+), 81 deletions(-) create mode 100644 chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Move-navigation-bar-to-bottom.inc @@ -425,7 +425,15 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import android.graphics.Rect; import android.util.Size; import android.view.LayoutInflater; -@@ -57,6 +61,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; +@@ -16,6 +20,7 @@ import android.view.View; + import android.view.View.OnLayoutChangeListener; + import android.view.ViewGroup; + import android.view.ViewTreeObserver.OnGlobalLayoutListener; ++import android.widget.FrameLayout; + import android.widget.ImageView; + + import androidx.annotation.IntDef; +@@ -57,6 +62,8 @@ import org.chromium.ui.modelutil.PropertyModelChangeProcessor; import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; import org.chromium.ui.widget.ViewLookupCachingFrameLayout; @@ -434,7 +442,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.List; -@@ -114,6 +120,128 @@ public class TabListCoordinator +@@ -114,6 +121,128 @@ public class TabListCoordinator private int mAwaitingTabId = Tab.INVALID_TAB_ID; private @TabActionState int mTabActionState; @@ -563,7 +571,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser /** * Construct a coordinator for UI that shows a list of tabs. * -@@ -356,6 +484,12 @@ public class TabListCoordinator +@@ -356,6 +485,12 @@ public class TabListCoordinator checkAwaitingLayout(); } }; @@ -576,7 +584,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mRecyclerView.setLayoutManager(gridLayoutManager); mMediator.registerOrientationListener(gridLayoutManager); mMediator.updateSpanCount( -@@ -367,8 +501,7 @@ public class TabListCoordinator +@@ -367,8 +502,7 @@ public class TabListCoordinator .getDecorView() .getWindowVisibleDisplayFrame(frame); updateGridCardLayout(frame.width()); @@ -586,11 +594,19 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser LinearLayoutManager layoutManager = new LinearLayoutManager( context, -@@ -383,6 +516,17 @@ public class TabListCoordinator +@@ -383,6 +517,25 @@ public class TabListCoordinator } }; mRecyclerView.setLayoutManager(layoutManager); + } else if (mMode == TabListMode.LIST) { ++ if (dialogHandler == null && selectionDelegateProvider == null && ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { ++ FrameLayout.LayoutParams recyclerViewParams = ++ (FrameLayout.LayoutParams) mRecyclerView.getLayoutParams(); ++ int toolbarHeightPx = mBrowserControlsStateProvider.getTopControlsHeight(); ++ recyclerViewParams.topMargin = toolbarHeightPx; ++ mRecyclerView.setLayoutParams(recyclerViewParams); ++ } + LinearLayoutManager layout = + new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) { + @Override @@ -604,7 +620,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } mMediator.setRecyclerViewItemAnimationToggle(mRecyclerView::setDisableItemAnimations); } -@@ -400,7 +544,7 @@ public class TabListCoordinator +@@ -400,7 +553,7 @@ public class TabListCoordinator if (mHasEmptyView) { mTabListEmptyCoordinator = new TabListEmptyCoordinator( @@ -613,7 +629,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser mEmptyStateHeadingResId = emptyHeadingStringResId; mEmptyStateSubheadingResId = emptySubheadingStringResId; mEmptyStateImageResId = emptyImageResId; -@@ -689,6 +833,9 @@ public class TabListCoordinator +@@ -689,6 +842,9 @@ public class TabListCoordinator void prepareTabSwitcherPaneView() { registerLayoutChangeListener(); mRecyclerView.setupCustomItemAnimator(); @@ -2033,29 +2049,14 @@ diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/br mHubContainerView.setLayoutParams(params); } -@@ -242,6 +250,8 @@ public class HubManagerImpl implements HubManager, HubController { - mSnackbarManager.popParentViewFromOverrideStack(mSnackbarOverrideToken); - mSnackbarOverrideToken = TokenHolder.INVALID_TOKEN; +@@ -256,6 +264,8 @@ public class HubManagerImpl implements HubManager, HubController { } -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) -+ mSnackbarManager.setParentView(null); - } - - private void attachPaneDependencies(@Nullable Pane pane) { -@@ -254,8 +264,12 @@ public class HubManagerImpl implements HubManager, HubController { - mMenuOrKeyboardActionController.registerMenuOrKeyboardActionHandler( - menuOrKeyboardActionHandler); - } -- mSnackbarOverrideToken = -- mSnackbarManager.pushParentViewToOverrideStack( + mSnackbarOverrideToken = + mSnackbarManager.pushParentViewToOverrideStack( - mHubCoordinator.getSnackbarContainer()); -+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) -+ mSnackbarManager.setParentView((ViewGroup)getPaneHostView()); -+ else { -+ mSnackbarOverrideToken = -+ mSnackbarManager.pushParentViewToOverrideStack( -+ mHubCoordinator.getSnackbarContainer()); -+ } ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() ++ ? (ViewGroup)getPaneHostView() ++ : mHubCoordinator.getSnackbarContainer()); } } diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/ReversedLinearLayout.java diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch index ac3fa37d..e3371342 100644 --- a/build/patches/Partition-HSTS-cache-by-NAK.patch +++ b/build/patches/Partition-HSTS-cache-by-NAK.patch @@ -9,7 +9,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../core/browser/hsts_query.cc | 1 + .../web_package/signed_exchange_handler.cc | 7 +- .../web_package/signed_exchange_handler.h | 4 + - .../web_package/signed_exchange_loader.cc | 2 +- + .../web_package/signed_exchange_loader.cc | 3 +- + .../web_package/signed_exchange_loader.h | 2 + + .../signed_exchange_prefetch_handler.cc | 2 +- + .../signed_exchange_request_handler.cc | 1 + net/http/transport_security_state.cc | 109 ++++++++++++------ net/http/transport_security_state.h | 39 ++++--- net/quic/crypto/proof_verifier_chromium.cc | 5 +- @@ -22,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html services/network/network_context.cc | 31 +++-- services/network/network_context.h | 13 ++- .../public/mojom/network_context.mojom | 9 +- - 18 files changed, 175 insertions(+), 102 deletions(-) + 21 files changed, 180 insertions(+), 103 deletions(-) diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc --- a/chrome/browser/ssl/https_upgrades_interceptor.cc @@ -155,7 +158,15 @@ diff --git a/content/browser/web_package/signed_exchange_handler.h b/content/bro diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/browser/web_package/signed_exchange_loader.cc --- a/content/browser/web_package/signed_exchange_loader.cc +++ b/content/browser/web_package/signed_exchange_loader.cc -@@ -126,7 +126,7 @@ SignedExchangeLoader::SignedExchangeLoader( +@@ -74,6 +74,7 @@ SignedExchangeLoader::SignedExchangeLoader( + std::unique_ptr reporter, + scoped_refptr url_loader_factory, + URLLoaderThrottlesGetter url_loader_throttles_getter, ++ const net::NetworkAnonymizationKey& network_anonymization_key, + int frame_tree_node_id, + const std::string& accept_langs, + bool keep_entry_for_prefetch_cache) +@@ -126,7 +127,7 @@ SignedExchangeLoader::SignedExchangeLoader( std::move(outer_response_body)), base::BindOnce(&SignedExchangeLoader::OnHTTPExchangeFound, weak_factory_.GetWeakPtr()), @@ -164,6 +175,48 @@ diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/bro keep_entry_for_prefetch_cache ? std::nullopt : std::make_optional(outer_request_.trusted_params->isolation_info), +diff --git a/content/browser/web_package/signed_exchange_loader.h b/content/browser/web_package/signed_exchange_loader.h +--- a/content/browser/web_package/signed_exchange_loader.h ++++ b/content/browser/web_package/signed_exchange_loader.h +@@ -31,6 +31,7 @@ class URLLoaderThrottle; + } // namespace blink + + namespace net { ++class NetworkAnonymizationKey; + class SourceStream; + } // namespace net + +@@ -73,6 +74,7 @@ class CONTENT_EXPORT SignedExchangeLoader final + std::unique_ptr reporter, + scoped_refptr url_loader_factory, + URLLoaderThrottlesGetter url_loader_throttles_getter, ++ const net::NetworkAnonymizationKey& network_anonymization_key, + int frame_tree_node_id, + const std::string& accept_langs, + bool keep_entry_for_prefetch_cache); +diff --git a/content/browser/web_package/signed_exchange_prefetch_handler.cc b/content/browser/web_package/signed_exchange_prefetch_handler.cc +--- a/content/browser/web_package/signed_exchange_prefetch_handler.cc ++++ b/content/browser/web_package/signed_exchange_prefetch_handler.cc +@@ -56,7 +56,7 @@ SignedExchangePrefetchHandler::SignedExchangePrefetchHandler( + network::mojom::kURLLoadOptionNone, + false /* should_redirect_to_fallback */, std::move(devtools_proxy), + std::move(reporter), std::move(url_loader_factory), +- loader_throttles_getter, frame_tree_node_id, accept_langs, ++ loader_throttles_getter, network_anonymization_key, frame_tree_node_id, accept_langs, + keep_entry_for_prefetch_cache); + } + +diff --git a/content/browser/web_package/signed_exchange_request_handler.cc b/content/browser/web_package/signed_exchange_request_handler.cc +--- a/content/browser/web_package/signed_exchange_request_handler.cc ++++ b/content/browser/web_package/signed_exchange_request_handler.cc +@@ -116,6 +116,7 @@ bool SignedExchangeRequestHandler::MaybeCreateLoaderForResponse( + std::move(client), url_loader->Unbind(), url_loader_options_, + true /* should_redirect_to_fallback */, std::move(devtools_proxy), + std::move(reporter), url_loader_factory_, url_loader_throttles_getter_, ++ network_anonymization_key, + frame_tree_node_id_, accept_langs_, + false /* keep_entry_for_prefetch_cache */); + diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc --- a/net/http/transport_security_state.cc +++ b/net/http/transport_security_state.cc diff --git a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch index 11818e8f..2d8d6012 100644 --- a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch +++ b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch @@ -12,9 +12,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html chrome/browser/flags/android/chrome_feature_list.cc | 1 + .../chrome/browser/flags/ChromeFeatureList.java | 1 + ...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 13 +++++++++++++ - ...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 9 +++++++++ + ...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 7 +++++++ ...ntroduce-modal-dialog-flag-to-close-all-tabs.inc | 5 +++++ - 6 files changed, 35 insertions(+) + 6 files changed, 33 insertions(+) create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc @@ -86,15 +86,13 @@ diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/R new file mode 100644 --- /dev/null +++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc -@@ -0,0 +1,9 @@ +@@ -0,0 +1,7 @@ +#if BUILDFLAG(IS_ANDROID) + +CROMITE_FEATURE(kCloseAllTabsModalDialog, + "CloseAllTabsModalDialog", + base::FEATURE_ENABLED_BY_DEFAULT); + -+SET_CROMITE_FEATURE_ENABLED(kArchiveTabService); -+ +#endif diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/Re-introduce-modal-dialog-flag-to-close-all-tabs.inc new file mode 100644 diff --git a/build/patches/Remove-ChromiumNetworkAdapter.patch b/build/patches/Remove-ChromiumNetworkAdapter.patch index 4c6d3176..0e6f488b 100644 --- a/build/patches/Remove-ChromiumNetworkAdapter.patch +++ b/build/patches/Remove-ChromiumNetworkAdapter.patch @@ -7,6 +7,7 @@ without asking the native code License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html --- + .../webview_shell/WebViewBrowserFragment.java | 56 ----------------- .../browser/download/OMADownloadHandler.java | 39 ------------ .../browser/feedback/ConnectivityChecker.java | 36 +---------- .../ConnectivityDetector.java | 63 ------------------- @@ -14,8 +15,74 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html .../util/HttpURLConnectionFactoryImpl.java | 7 +-- .../firstrun/VariationsSeedFetcher.java | 26 +------- .../chromium/net/ChromiumNetworkAdapter.java | 13 ---- - 7 files changed, 4 insertions(+), 183 deletions(-) + 8 files changed, 4 insertions(+), 239 deletions(-) +diff --git a/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java b/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java +--- a/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java ++++ b/android_webview/tools/system_webview_shell/apk/src/org/chromium/webview_shell/WebViewBrowserFragment.java +@@ -240,62 +240,6 @@ public class WebViewBrowserFragment extends Fragment { + /** Downloading file in background thread */ + @Override + protected String doInBackground() { +- try { +- NetworkTrafficAnnotationTag annotation = +- NetworkTrafficAnnotationTag.createComplete( +- "android_webview_shell", +- """ +- semantics { +- sender: "WebViewBrowserFragment (Android)" +- description: +- "Downloads files as specified by the shell browser." +- trigger: "User interations within the browser, causing a download" +- data: "No additional data." +- destination: LOCAL +- internal { +- contacts { +- email: "avvall@chromium.org" +- } +- } +- user_data { +- type: NONE +- } +- last_reviewed: "2024-07-25" +- } +- policy { +- cookies_allowed: NO +- setting: "This feature can not be disabled." +- policy_exception_justification: "Not implemented." +- }"""); +- URL url = new URL(mFileUrl); +- URLConnection connection = ChromiumNetworkAdapter.openConnection(url, annotation); +- connection.connect(); +- +- // download the file +- InputStream input = +- new BufferedInputStream(ChromiumNetworkAdapter.openStream(url, annotation)); +- +- File path = +- Environment.getExternalStoragePublicDirectory( +- Environment.DIRECTORY_DOWNLOADS); +- File file = new File(path, mNameOfFile); +- // Make sure the Downloads directory exists. +- path.mkdirs(); +- OutputStream output = new FileOutputStream(file); +- +- int count; +- byte[] data = new byte[BUFFER_SIZE]; +- while ((count = input.read(data)) != -1) { +- output.write(data, 0, count); +- } +- +- output.flush(); +- output.close(); +- input.close(); +- } catch (Exception e) { +- Log.e(TAG, "Error: " + e.getMessage()); +- } +- + return null; + } + } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java --- a/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java diff --git a/build/patches/Remove-binary-blob-integrations.patch b/build/patches/Remove-binary-blob-integrations.patch index e78bd8d8..0a713af8 100644 --- a/build/patches/Remove-binary-blob-integrations.patch +++ b/build/patches/Remove-binary-blob-integrations.patch @@ -98,17 +98,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../webauthn/cred_man/CredManHelper.java | 16 +- .../cred_man/CredManMetricsHelper.java | 2 +- .../push_messaging/push_messaging_manager.cc | 2 +- - content/public/android/BUILD.gn | 4 - + content/public/android/BUILD.gn | 6 - + .../webid/IdentityCredentialsDelegate.java | 92 +-- content/test/BUILD.gn | 4 - device/BUILD.gn | 3 - services/BUILD.gn | 9 - services/device/geolocation/BUILD.gn | 4 - services/shape_detection/BUILD.gn | 2 - - third_party/android_deps/BUILD.gn | 759 +----------------- + third_party/android_deps/BUILD.gn | 762 +----------------- .../preconditions/javatests/BUILD.gn | 1 - .../gms/ChromiumPlayServicesAvailability.java | 10 +- third_party/cardboard/BUILD.gn | 4 - - 84 files changed, 116 insertions(+), 2256 deletions(-) + 85 files changed, 117 insertions(+), 2352 deletions(-) create mode 100644 components/webauthn/android/java/src/org/chromium/components/webauthn/ConditionalUiState.java diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected @@ -3576,6 +3577,123 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn "//base:base_java", "//base:process_launcher_java", "//build:chromeos_buildflags", +@@ -425,8 +421,6 @@ android_library("content_full_java") { + android_library("identity_credentials_public_impl_java") { + sources = [ "java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java" ] + deps = [ +- "$google_play_services_package:google_play_services_identity_credentials_java", +- "$google_play_services_package:google_play_services_tasks_java", + "//base:base_java", + "//third_party/androidx:androidx_core_core_java", + ] +diff --git a/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java b/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java +--- a/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java ++++ b/content/public/android/java/src/org/chromium/content/browser/webid/IdentityCredentialsDelegate.java +@@ -15,13 +15,6 @@ import android.os.Handler; + import android.os.Looper; + import android.os.ResultReceiver; + +-import com.google.android.gms.identitycredentials.CredentialOption; +-import com.google.android.gms.identitycredentials.GetCredentialException; +-import com.google.android.gms.identitycredentials.GetCredentialRequest; +-import com.google.android.gms.identitycredentials.IdentityCredentialClient; +-import com.google.android.gms.identitycredentials.IdentityCredentialManager; +-import com.google.android.gms.identitycredentials.IntentHelper; +- + import org.chromium.base.Log; + import org.chromium.base.Promise; + +@@ -36,89 +29,6 @@ public class IdentityCredentialsDelegate { + } + + public Promise get(Activity window, String origin, String request) { +- final IdentityCredentialClient client; +- try { +- client = IdentityCredentialManager.Companion.getClient(window); +- } catch (Exception e) { +- // Thrown when running in phones without the most current GMS +- // version. +- return Promise.rejected(); +- } +- +- final Promise result = new Promise(); +- +- ResultReceiver resultReceiver = +- new ResultReceiver(new Handler(Looper.getMainLooper())) { +- // android.credentials.GetCredentialException requires API level 34 +- @SuppressLint("NewApi") +- @Override +- protected void onReceiveResult(int code, Bundle data) { +- Log.d(TAG, "Received a response"); +- try { +- var response = IntentHelper.extractGetCredentialResponse(code, data); +- var token = +- response.getCredential() +- .getData() +- .getByteArray("identityToken"); +- result.fulfill(token); +- } catch (Exception e) { +- Log.e(TAG, e.toString()); +- +- if (e instanceof GetCredentialException +- && Build.VERSION.SDK_INT +- >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { +- String exceptionType = ((GetCredentialException) e).getType(); +- result.reject( +- new android.credentials.GetCredentialException( +- exceptionType, e.getMessage())); +- } else { +- result.reject(e); +- } +- } +- } +- }; +- +- client.getCredential( +- new GetCredentialRequest( +- Arrays.asList( +- new CredentialOption( +- "com.credman.IdentityCredential", +- new Bundle(), +- new Bundle(), +- request, +- "", +- "")), +- new Bundle(), +- origin, +- resultReceiver)) +- .addOnSuccessListener( +- response -> { +- try { +- Log.d(TAG, "Sending an intent for sender"); +- Log.d(TAG, request); +- startIntentSenderForResult( +- /** activity= */ +- window, +- /** intent= */ +- response.getPendingIntent().getIntentSender(), +- /** requestCode= */ +- 777, +- /** fillInIntent= */ +- null, +- /** flagsMask= */ +- 0, +- /** flagsValues= */ +- 0, +- /** extraFlags= */ +- 0, +- /** options= */ +- null); +- } catch (SendIntentException e) { +- Log.e(TAG, "Sending an intent for sender failed"); +- result.reject(e); +- } +- }); +- +- return result; ++ return Promise.rejected(); + } + } diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn --- a/content/test/BUILD.gn +++ b/content/test/BUILD.gn @@ -4472,6 +4590,30 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. java_prebuilt("io_perfmark_perfmark_api_java") { jar_path = "cipd/libs/io_perfmark_perfmark_api/perfmark-api-0.25.0.jar" +@@ -2383,7 +1626,6 @@ if (!limit_android_deps) { + ] + testonly = true + deps = [ +- ":com_google_auto_value_auto_value_annotations_java", + ":org_robolectric_pluginapi_java", + ":org_robolectric_utils_java", + "//third_party/android_deps:guava_android_java", +@@ -2405,7 +1647,6 @@ if (!limit_android_deps) { + ] + testonly = true + deps = [ +- ":com_google_auto_value_auto_value_annotations_java", + ":org_robolectric_annotations_java", + ":org_robolectric_pluginapi_java", + ":org_robolectric_utils_java", +@@ -2475,7 +1716,6 @@ if (!limit_android_deps) { + ] + testonly = true + deps = [ +- ":com_google_auto_value_auto_value_annotations_java", + ":org_robolectric_annotations_java", + ":org_robolectric_nativeruntime_java", + ":org_robolectric_pluginapi_java", diff --git a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn --- a/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn +++ b/third_party/android_deps/local_modifications/preconditions/javatests/BUILD.gn diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch index e0f6ed5f..7777e21b 100644 --- a/build/patches/Remove-help-menu-item.patch +++ b/build/patches/Remove-help-menu-item.patch @@ -4,26 +4,27 @@ Subject: Remove help menu item License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - chrome/android/java/res/menu/main_menu.xml | 3 --- - .../res/menu/save_password_preferences_action_bar_menu.xml | 1 + - .../src/org/chromium/chrome/browser/KeyboardShortcuts.java | 3 --- - .../src/org/chromium/chrome/browser/app/ChromeActivity.java | 5 ----- - .../autofill/settings/AutofillPaymentMethodsFragment.java | 1 + - .../browser/autofill/settings/AutofillProfilesFragment.java | 1 + - .../browser/browsing_data/ClearBrowsingDataFragment.java | 1 + - .../browser/password_manager/settings/PasswordSettings.java | 1 + - .../chrome/browser/privacy/settings/PrivacySettings.java | 1 + - .../chromium/chrome/browser/settings/SettingsActivity.java | 1 + - .../chrome/browser/sync/settings/GoogleServicesSettings.java | 1 + - .../chrome/browser/sync/settings/ManageSyncSettings.java | 1 + - .../android/java/res/menu/prefeditor_editor_menu.xml | 1 + - .../browser/autofill/options/AutofillOptionsFragment.java | 1 + - .../browser/password_check/PasswordCheckFragmentView.java | 1 + - .../java/res/menu/credential_edit_action_bar_menu.xml | 3 ++- - .../prefetch/settings/PreloadPagesSettingsFragmentBase.java | 1 + - .../privacy_sandbox/PrivacySandboxSettingsBaseFragment.java | 1 + - .../settings/SafeBrowsingSettingsFragmentBase.java | 1 + - 19 files changed, 17 insertions(+), 12 deletions(-) + chrome/android/java/res/menu/main_menu.xml | 3 --- + .../menu/save_password_preferences_action_bar_menu.xml | 1 + + .../org/chromium/chrome/browser/KeyboardShortcuts.java | 3 --- + .../org/chromium/chrome/browser/app/ChromeActivity.java | 9 --------- + .../settings/AutofillPaymentMethodsFragment.java | 1 + + .../autofill/settings/AutofillProfilesFragment.java | 1 + + .../browser/browsing_data/ClearBrowsingDataFragment.java | 1 + + .../chrome/browser/customtabs/BaseCustomTabActivity.java | 1 - + .../password_manager/settings/PasswordSettings.java | 1 + + .../chrome/browser/privacy/settings/PrivacySettings.java | 1 + + .../chrome/browser/settings/SettingsActivity.java | 1 + + .../browser/sync/settings/GoogleServicesSettings.java | 1 + + .../chrome/browser/sync/settings/ManageSyncSettings.java | 1 + + .../android/java/res/menu/prefeditor_editor_menu.xml | 1 + + .../autofill/options/AutofillOptionsFragment.java | 1 + + .../password_check/PasswordCheckFragmentView.java | 1 + + .../java/res/menu/credential_edit_action_bar_menu.xml | 3 ++- + .../settings/PreloadPagesSettingsFragmentBase.java | 1 + + .../PrivacySandboxSettingsBaseFragment.java | 1 + + .../settings/SafeBrowsingSettingsFragmentBase.java | 1 + + 20 files changed, 17 insertions(+), 17 deletions(-) diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml --- a/chrome/android/java/res/menu/main_menu.xml @@ -65,18 +66,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java -@@ -2579,11 +2579,6 @@ public abstract class ChromeActivity +@@ -2578,15 +2578,6 @@ public abstract class ChromeActivity + final Tab currentTab = getActivityTab(); - if (id == R.id.help_id) { +- if (id == R.id.help_id) { - String url = currentTab != null ? currentTab.getUrl().getSpec() : ""; - startHelpAndFeedback( - url, - "MobileMenuFeedback", - getTabModelSelector().getCurrentModel().getProfile()); - return true; - } - +- return true; +- } +- + if (id == R.id.open_history_menu_id) { + if (currentTab != null && UrlUtilities.isNtpUrl(currentTab.getUrl())) { + NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_HISTORY_MANAGER); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java @@ -110,6 +115,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C } @Override +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java +@@ -757,7 +757,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity +@@ -2739,6 +2739,7 @@ public abstract class ChromeActivity TabUtils.switchUserAgent( currentTab, usingDesktopUserAgent, diff --git a/build/patches/eyeo-beta-118.0.5993.48-base.patch b/build/patches/eyeo-beta-118.0.5993.48-base.patch index 734ea58b..5209b25f 100644 --- a/build/patches/eyeo-beta-118.0.5993.48-base.patch +++ b/build/patches/eyeo-beta-118.0.5993.48-base.patch @@ -30,7 +30,7 @@ Based on Chromium 118.0.5993.48 .../content_security_policy_injector_impl.cc | 126 ++ .../content_security_policy_injector_impl.h | 66 + .../adblock/content/browser/element_hider.h | 70 + - .../content/browser/element_hider_impl.cc | 323 ++++ + .../content/browser/element_hider_impl.cc | 326 ++++ .../content/browser/element_hider_impl.h | 55 + .../content/browser/element_hider_info.cc | 37 + .../content/browser/element_hider_info.h | 44 + @@ -62,52 +62,52 @@ Based on Chromium 118.0.5993.48 .../classifier/resource_classifier_impl.h | 64 + components/adblock/core/common/BUILD.gn | 110 ++ .../adblock/core/common/adblock_constants.cc | 164 ++ - .../adblock/core/common/adblock_constants.h | 48 + + .../adblock/core/common/adblock_constants.h | 47 + .../adblock/core/common/adblock_prefs.cc | 122 ++ .../adblock/core/common/adblock_prefs.h | 46 + .../adblock/core/common/adblock_utils.cc | 171 ++ .../adblock/core/common/adblock_utils.h | 80 + .../adblock/core/common/content_type.cc | 91 ++ components/adblock/core/common/content_type.h | 48 + - .../adblock/core/common/flatbuffer_data.cc | 94 ++ - .../adblock/core/common/flatbuffer_data.h | 85 + + .../adblock/core/common/flatbuffer_data.cc | 105 ++ + .../adblock/core/common/flatbuffer_data.h | 90 ++ .../adblock/core/common/header_filter_data.h | 38 + - .../core/common/keyword_extractor_utils.cc | 30 + + .../core/common/keyword_extractor_utils.cc | 29 + .../core/common/keyword_extractor_utils.h | 31 + - .../core/common/regex_filter_pattern.cc | 34 + - .../core/common/regex_filter_pattern.h | 33 + + .../core/common/regex_filter_pattern.cc | 33 + + .../core/common/regex_filter_pattern.h | 32 + components/adblock/core/common/sitekey.h | 29 + .../adblock/core/configuration/BUILD.gn | 59 + - .../configuration/filtering_configuration.h | 90 ++ + .../configuration/filtering_configuration.h | 89 + .../filtering_configuration_prefs.cc | 33 + .../filtering_configuration_prefs.h | 30 + .../persistent_filtering_configuration.cc | 273 ++++ .../persistent_filtering_configuration.h | 86 + components/adblock/core/converter/BUILD.gn | 83 + .../adblock/core/converter/converter_main.cc | 115 ++ - .../core/converter/flatbuffer_converter.cc | 134 ++ + .../core/converter/flatbuffer_converter.cc | 133 ++ .../core/converter/flatbuffer_converter.h | 55 + .../adblock/core/converter/parser/BUILD.gn | 66 + .../core/converter/parser/content_filter.cc | 68 + - .../core/converter/parser/content_filter.h | 50 + + .../core/converter/parser/content_filter.h | 49 + .../core/converter/parser/domain_option.cc | 114 ++ - .../core/converter/parser/domain_option.h | 59 + + .../core/converter/parser/domain_option.h | 57 + .../converter/parser/filter_classifier.cc | 39 + - .../core/converter/parser/filter_classifier.h | 46 + + .../core/converter/parser/filter_classifier.h | 45 + .../adblock/core/converter/parser/metadata.cc | 145 ++ .../adblock/core/converter/parser/metadata.h | 64 + .../core/converter/parser/snippet_filter.cc | 62 + .../core/converter/parser/snippet_filter.h | 46 + .../converter/parser/snippet_tokenizer.cc | 103 ++ - .../core/converter/parser/snippet_tokenizer.h | 47 + + .../core/converter/parser/snippet_tokenizer.h | 45 + .../core/converter/parser/url_filter.cc | 218 +++ .../core/converter/parser/url_filter.h | 48 + .../converter/parser/url_filter_options.cc | 263 +++ .../converter/parser/url_filter_options.h | 122 ++ .../core/converter/serializer/BUILD.gn | 50 + .../serializer/filter_keyword_extractor.cc | 63 + - .../serializer/filter_keyword_extractor.h | 59 + - .../serializer/flatbuffer_serializer.cc | 394 +++++ + .../serializer/filter_keyword_extractor.h | 58 + + .../serializer/flatbuffer_serializer.cc | 397 +++++ .../serializer/flatbuffer_serializer.h | 129 ++ .../core/converter/serializer/serializer.h | 41 + components/adblock/core/features.cc | 25 + @@ -120,33 +120,33 @@ Based on Chromium 118.0.5993.48 components/adblock/core/subscription/BUILD.gn | 178 ++ .../core/subscription/conversion_executors.h | 50 + .../core/subscription/domain_splitter.cc | 46 + - .../core/subscription/domain_splitter.h | 45 + + .../core/subscription/domain_splitter.h | 43 + .../filtering_configuration_maintainer.h | 52 + ...filtering_configuration_maintainer_impl.cc | 489 ++++++ .../filtering_configuration_maintainer_impl.h | 119 ++ .../subscription/installed_subscription.cc | 42 + .../subscription/installed_subscription.h | 137 ++ - .../installed_subscription_impl.cc | 553 +++++++ - .../installed_subscription_impl.h | 150 ++ + .../installed_subscription_impl.cc | 552 +++++++ + .../installed_subscription_impl.h | 149 ++ .../ongoing_subscription_request.h | 50 + .../ongoing_subscription_request_impl.cc | 190 +++ .../ongoing_subscription_request_impl.h | 74 + - .../core/subscription/pattern_matcher.cc | 265 +++ + .../core/subscription/pattern_matcher.cc | 264 +++ .../core/subscription/pattern_matcher.h | 33 + .../preloaded_subscription_provider.h | 56 + - .../preloaded_subscription_provider_impl.cc | 121 ++ + .../preloaded_subscription_provider_impl.cc | 120 ++ .../preloaded_subscription_provider_impl.h | 50 + .../core/subscription/regex_matcher.cc | 162 ++ .../adblock/core/subscription/regex_matcher.h | 73 + .../adblock/core/subscription/subscription.cc | 24 + .../adblock/core/subscription/subscription.h | 78 + - .../subscription/subscription_collection.h | 98 ++ + .../subscription/subscription_collection.h | 97 ++ .../subscription_collection_impl.cc | 353 ++++ .../subscription_collection_impl.h | 97 ++ .../core/subscription/subscription_config.cc | 338 ++++ .../core/subscription/subscription_config.h | 120 ++ .../subscription/subscription_downloader.h | 66 + - .../subscription_downloader_impl.cc | 289 ++++ + .../subscription_downloader_impl.cc | 288 ++++ .../subscription_downloader_impl.h | 102 ++ .../subscription_persistent_metadata.h | 86 + .../subscription_persistent_metadata_impl.cc | 170 ++ @@ -161,10 +161,10 @@ Based on Chromium 118.0.5993.48 .../subscription/subscription_updater_impl.cc | 65 + .../subscription/subscription_updater_impl.h | 52 + .../subscription/subscription_validator.h | 59 + - .../subscription_validator_impl.cc | 145 ++ + .../subscription_validator_impl.cc | 144 ++ .../subscription_validator_impl.h | 53 + .../subscription/url_keyword_extractor.cc | 67 + - .../core/subscription/url_keyword_extractor.h | 60 + + .../core/subscription/url_keyword_extractor.h | 59 + .../adblock/docs/ad-filtering/README.md | 18 + .../ad-filtering/element-hiding-sequence.png | Bin 0 -> 177168 bytes .../ad-filtering/element-hiding-sequence.txt | 32 + @@ -223,7 +223,7 @@ Based on Chromium 118.0.5993.48 tools/eyeo/generate_modules.sh | 209 +++ tools/eyeo/snippets_deps.py | 61 + tools/gritsettings/resource_ids.spec | 9 + - 219 files changed, 22051 insertions(+), 3 deletions(-) + 219 files changed, 22050 insertions(+), 3 deletions(-) create mode 100644 components/adblock/CHANGELOG.md create mode 100644 components/adblock/LICENSE create mode 100644 components/adblock/README.md @@ -4511,7 +4511,7 @@ diff --git a/components/adblock/content/browser/element_hider_impl.cc b/componen new file mode 100644 --- /dev/null +++ b/components/adblock/content/browser/element_hider_impl.cc -@@ -0,0 +1,323 @@ +@@ -0,0 +1,326 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -4536,7 +4536,6 @@ new file mode 100644 +#include "base/json/json_string_value_serializer.h" +#include "base/json/string_escape.h" +#include "base/logging.h" -+#include "base/strings/string_piece.h" +#include "base/strings/string_util.h" +#include "base/strings/utf_string_conversions.h" +#include "base/task/thread_pool.h" @@ -4587,6 +4586,9 @@ new file mode 100644 + std::vector& input, + std::string& output) { + TRACE_EVENT1("eyeo", "GenerateStylesheet", "url", url.spec()); ++ ++ const base::span selectors(input); ++ + // Chromium's Blink engine supports only up to 8,192 simple selectors, and + // even fewer compound selectors, in a rule. The exact number of selectors + // that would work depends on their sizes (e.g. "#foo .bar" has a size of 2). @@ -4598,10 +4600,11 @@ new file mode 100644 + // this could still lead to some selectors not working on Chromium, but it is + // highly unlikely. + const size_t max_selector_count = 1024u; -+ for (size_t i = 0; i < input.size(); i += max_selector_count) { -+ const size_t batch_size = std::min(max_selector_count, input.size() - i); -+ const base::span selectors_batch(&input[i], batch_size); -+ output += base::JoinString(selectors_batch, ", ") + ++ for (size_t i = 0; i < input.size(); ++ i += max_selector_count) { ++ const size_t batch_size = std::min( ++ max_selector_count, input.size() - i); ++ output += base::JoinString(selectors.subspan(i, batch_size), ", ") + + " {display: none !important;}\n"; + } +} @@ -8896,7 +8899,7 @@ diff --git a/components/adblock/core/common/adblock_constants.h b/components/adb new file mode 100644 --- /dev/null +++ b/components/adblock/core/common/adblock_constants.h -@@ -0,0 +1,48 @@ +@@ -0,0 +1,47 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -8918,7 +8921,6 @@ new file mode 100644 +#define COMPONENTS_ADBLOCK_CORE_COMMON_ADBLOCK_CONSTANTS_H_ + +#include "base/auto_reset.h" -+#include "base/strings/string_piece.h" +#include "url/gurl.h" + +namespace adblock { @@ -9537,7 +9539,7 @@ diff --git a/components/adblock/core/common/flatbuffer_data.cc b/components/adbl new file mode 100644 --- /dev/null +++ b/components/adblock/core/common/flatbuffer_data.cc -@@ -0,0 +1,94 @@ +@@ -0,0 +1,105 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -9571,7 +9573,7 @@ new file mode 100644 +// Destroys memory mapped to a file on disk, and optionally removes the file +// itself. Performs blocking operations, must run on a MayBlock() task runner. +void DestroyMemoryMappedFile(std::unique_ptr memory, -+ std::optional path_to_remove) { ++ absl::optional path_to_remove) { + memory.reset(); + // Deleting the file should happen *after* removing the memory mapping. + if (path_to_remove) { @@ -9594,6 +9596,10 @@ new file mode 100644 + return data_.size(); +} + ++const base::span InMemoryFlatbufferData::span() const { ++ return base::as_byte_span(data_); ++} ++ +MemoryMappedFlatbufferData::MemoryMappedFlatbufferData(base::FilePath path) + : permanently_remove_path_(false), path_(std::move(path)) { + file_ = std::make_unique(); @@ -9605,7 +9611,7 @@ new file mode 100644 +MemoryMappedFlatbufferData::~MemoryMappedFlatbufferData() { + const auto path_to_remove = + permanently_remove_path_.load() -+ ? std::optional(std::move(path_)) ++ ? absl::optional(std::move(path_)) + : absl::nullopt; + base::ThreadPool::PostTask( + FROM_HERE, {base::MayBlock()}, @@ -9627,6 +9633,13 @@ new file mode 100644 + return file_->length(); +} + ++const base::span MemoryMappedFlatbufferData::span() const { ++ if (!file_) { ++ return {}; ++ } ++ return file_->bytes(); ++} ++ +void MemoryMappedFlatbufferData::PermanentlyRemoveSourceOnDestruction() { + permanently_remove_path_.store(true); +} @@ -9636,7 +9649,7 @@ diff --git a/components/adblock/core/common/flatbuffer_data.h b/components/adblo new file mode 100644 --- /dev/null +++ b/components/adblock/core/common/flatbuffer_data.h -@@ -0,0 +1,85 @@ +@@ -0,0 +1,90 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -9675,6 +9688,7 @@ new file mode 100644 + + virtual const uint8_t* data() const = 0; + virtual size_t size() const = 0; ++ virtual const base::span span() const = 0; + + // Schedules permanent removal of the data source of this flatbuffer when + // |this| is destroyed. This can mean removing a file from disk or removing @@ -9688,8 +9702,10 @@ new file mode 100644 + public: + explicit InMemoryFlatbufferData(std::string data); + ~InMemoryFlatbufferData() override; ++ + const uint8_t* data() const override; + size_t size() const override; ++ const base::span span() const override; + + private: + std::string data_; @@ -9704,8 +9720,10 @@ new file mode 100644 + // Ctor should be called on blocking task runner, performs file I/O/ + explicit MemoryMappedFlatbufferData(base::FilePath path); + ~MemoryMappedFlatbufferData() override; ++ + const uint8_t* data() const override; + size_t size() const override; ++ const base::span span() const override; + + // Post cleanup of the mapped file to blocking task runner during destruction. + void PermanentlyRemoveSourceOnDestruction() final; @@ -9769,7 +9787,7 @@ diff --git a/components/adblock/core/common/keyword_extractor_utils.cc b/compone new file mode 100644 --- /dev/null +++ b/components/adblock/core/common/keyword_extractor_utils.cc -@@ -0,0 +1,30 @@ +@@ -0,0 +1,29 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -9788,7 +9806,6 @@ new file mode 100644 + */ + +#include "components/adblock/core/common/keyword_extractor_utils.h" -+#include "base/strings/string_piece.h" + +namespace adblock { +namespace utils { @@ -9825,7 +9842,7 @@ new file mode 100644 +#ifndef COMPONENTS_ADBLOCK_CORE_COMMON_KEYWORD_EXTRACTOR_UTILS_H_ +#define COMPONENTS_ADBLOCK_CORE_COMMON_KEYWORD_EXTRACTOR_UTILS_H_ + -+#include "base/strings/string_piece.h" ++#include + +namespace adblock { +namespace utils { @@ -9840,7 +9857,7 @@ diff --git a/components/adblock/core/common/regex_filter_pattern.cc b/components new file mode 100644 --- /dev/null +++ b/components/adblock/core/common/regex_filter_pattern.cc -@@ -0,0 +1,34 @@ +@@ -0,0 +1,33 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -9861,7 +9878,6 @@ new file mode 100644 +#include "components/adblock/core/common/regex_filter_pattern.h" + +#include "absl/types/optional.h" -+#include "base/strings/string_piece.h" + +namespace adblock { + @@ -9879,7 +9895,7 @@ diff --git a/components/adblock/core/common/regex_filter_pattern.h b/components/ new file mode 100644 --- /dev/null +++ b/components/adblock/core/common/regex_filter_pattern.h -@@ -0,0 +1,33 @@ +@@ -0,0 +1,32 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -9901,7 +9917,6 @@ new file mode 100644 +#define COMPONENTS_ADBLOCK_CORE_COMMON_REGEX_FILTER_PATTERN_H_ + +#include "absl/types/optional.h" -+#include "base/strings/string_piece.h" + +namespace adblock { + @@ -10015,7 +10030,7 @@ diff --git a/components/adblock/core/configuration/filtering_configuration.h b/c new file mode 100644 --- /dev/null +++ b/components/adblock/core/configuration/filtering_configuration.h -@@ -0,0 +1,90 @@ +@@ -0,0 +1,89 @@ + +/* + * This file is part of eyeo Chromium SDK, @@ -10039,7 +10054,6 @@ new file mode 100644 + +#include +#include "base/observer_list_types.h" -+#include "base/strings/string_piece.h" +#include "url/gurl.h" + +namespace adblock { @@ -10760,7 +10774,7 @@ diff --git a/components/adblock/core/converter/flatbuffer_converter.cc b/compone new file mode 100644 --- /dev/null +++ b/components/adblock/core/converter/flatbuffer_converter.cc -@@ -0,0 +1,134 @@ +@@ -0,0 +1,133 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -10784,7 +10798,6 @@ new file mode 100644 +#include + +#include "base/logging.h" -+#include "base/strings/string_piece.h" +#include "base/strings/string_split.h" +#include "base/strings/string_util.h" +#include "components/adblock/core/converter/parser/content_filter.h" @@ -11103,7 +11116,7 @@ diff --git a/components/adblock/core/converter/parser/content_filter.h b/compone new file mode 100644 --- /dev/null +++ b/components/adblock/core/converter/parser/content_filter.h -@@ -0,0 +1,50 @@ +@@ -0,0 +1,49 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -11126,7 +11139,6 @@ new file mode 100644 + +#include + -+#include "base/strings/string_piece.h" +#include "components/adblock/core/converter/parser/domain_option.h" +#include "components/adblock/core/converter/parser/filter_classifier.h" +#include "third_party/abseil-cpp/absl/types/optional.h" @@ -11277,7 +11289,7 @@ diff --git a/components/adblock/core/converter/parser/domain_option.h b/componen new file mode 100644 --- /dev/null +++ b/components/adblock/core/converter/parser/domain_option.h -@@ -0,0 +1,59 @@ +@@ -0,0 +1,57 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -11301,8 +11313,6 @@ new file mode 100644 +#include +#include + -+#include "base/strings/string_piece.h" -+ +namespace adblock { + +class DomainOption { @@ -11385,7 +11395,7 @@ diff --git a/components/adblock/core/converter/parser/filter_classifier.h b/comp new file mode 100644 --- /dev/null +++ b/components/adblock/core/converter/parser/filter_classifier.h -@@ -0,0 +1,46 @@ +@@ -0,0 +1,45 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -11406,7 +11416,6 @@ new file mode 100644 +#ifndef COMPONENTS_ADBLOCK_CORE_CONVERTER_PARSER_FILTER_CLASSIFIER_H_ +#define COMPONENTS_ADBLOCK_CORE_CONVERTER_PARSER_FILTER_CLASSIFIER_H_ + -+#include "base/strings/string_piece.h" +#include "base/strings/string_util.h" + +namespace adblock { @@ -11881,7 +11890,7 @@ diff --git a/components/adblock/core/converter/parser/snippet_tokenizer.h b/comp new file mode 100644 --- /dev/null +++ b/components/adblock/core/converter/parser/snippet_tokenizer.h -@@ -0,0 +1,47 @@ +@@ -0,0 +1,45 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -11905,8 +11914,6 @@ new file mode 100644 +#include +#include + -+#include "base/strings/string_piece.h" -+ +namespace adblock { + +class SnippetTokenizer { @@ -12727,7 +12734,7 @@ diff --git a/components/adblock/core/converter/serializer/filter_keyword_extract new file mode 100644 --- /dev/null +++ b/components/adblock/core/converter/serializer/filter_keyword_extractor.h -@@ -0,0 +1,59 @@ +@@ -0,0 +1,58 @@ + +/* + * This file is part of eyeo Chromium SDK, @@ -12752,7 +12759,6 @@ new file mode 100644 +#include + +#include "absl/types/optional.h" -+#include "base/strings/string_piece.h" +#include "third_party/re2/src/re2/re2.h" +#include "url/gurl.h" + @@ -12791,7 +12797,7 @@ diff --git a/components/adblock/core/converter/serializer/flatbuffer_serializer. new file mode 100644 --- /dev/null +++ b/components/adblock/core/converter/serializer/flatbuffer_serializer.cc -@@ -0,0 +1,394 @@ +@@ -0,0 +1,397 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -12813,7 +12819,6 @@ new file mode 100644 + +#include "base/logging.h" +#include "base/notreached.h" -+#include "base/strings/string_piece.h" +#include "base/strings/string_util.h" +#include "components/adblock/core/common/adblock_constants.h" +#include "components/adblock/core/common/regex_filter_pattern.h" @@ -12831,6 +12836,10 @@ new file mode 100644 + + size_t size() const override { return buffer_.size(); } + ++ const base::span span() const override { ++ return base::as_byte_span(buffer_); ++ } ++ + private: + flatbuffers::DetachedBuffer buffer_; +}; @@ -14215,7 +14224,7 @@ diff --git a/components/adblock/core/subscription/domain_splitter.h b/components new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/domain_splitter.h -@@ -0,0 +1,45 @@ +@@ -0,0 +1,43 @@ + +/* + * This file is part of eyeo Chromium SDK, @@ -14239,8 +14248,6 @@ new file mode 100644 + +#include "absl/types/optional.h" + -+#include "base/strings/string_piece.h" -+ +namespace adblock { + +// When constructed with a full domain like "aaa.bbb.ccc.com", subsequent calls @@ -15129,7 +15136,7 @@ diff --git a/components/adblock/core/subscription/installed_subscription_impl.cc new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/installed_subscription_impl.cc -@@ -0,0 +1,553 @@ +@@ -0,0 +1,552 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -15156,7 +15163,6 @@ new file mode 100644 +#include "absl/types/optional.h" +#include "base/logging.h" +#include "base/ranges/algorithm.h" -+#include "base/strings/string_piece.h" +#include "base/strings/string_util.h" +#include "base/trace_event/trace_event.h" +#include "components/adblock/core/common/adblock_constants.h" @@ -15687,7 +15693,7 @@ diff --git a/components/adblock/core/subscription/installed_subscription_impl.h new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/installed_subscription_impl.h -@@ -0,0 +1,150 @@ +@@ -0,0 +1,149 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -15714,7 +15720,6 @@ new file mode 100644 + +#include "absl/types/optional.h" +#include "base/memory/raw_ptr.h" -+#include "base/strings/string_piece.h" + +#include "components/adblock/core/common/flatbuffer_data.h" +#include "components/adblock/core/schema/filter_list_schema_generated.h" @@ -16171,7 +16176,7 @@ diff --git a/components/adblock/core/subscription/pattern_matcher.cc b/component new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/pattern_matcher.cc -@@ -0,0 +1,265 @@ +@@ -0,0 +1,264 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -16195,7 +16200,6 @@ new file mode 100644 +#include "base/logging.h" +#include "base/notreached.h" +#include "base/ranges/algorithm.h" -+#include "base/strings/string_piece.h" +#include "base/strings/string_util.h" +#include "components/adblock/core/common/regex_filter_pattern.h" + @@ -16540,7 +16544,7 @@ diff --git a/components/adblock/core/subscription/preloaded_subscription_provide new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/preloaded_subscription_provider_impl.cc -@@ -0,0 +1,121 @@ +@@ -0,0 +1,120 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -16565,7 +16569,6 @@ new file mode 100644 +#include "base/memory/scoped_refptr.h" +#include "base/ranges/algorithm.h" +#include "base/strings/pattern.h" -+#include "base/strings/string_piece.h" +#include "base/trace_event/trace_event.h" +#include "components/adblock/core/common/adblock_utils.h" +#include "components/adblock/core/common/flatbuffer_data.h" @@ -17078,7 +17081,7 @@ diff --git a/components/adblock/core/subscription/subscription_collection.h b/co new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/subscription_collection.h -@@ -0,0 +1,98 @@ +@@ -0,0 +1,97 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -17104,7 +17107,6 @@ new file mode 100644 + +#include "absl/types/optional.h" +#include "base/containers/span.h" -+#include "base/strings/string_piece.h" +#include "base/values.h" +#include "components/adblock/core/common/content_type.h" +#include "components/adblock/core/common/header_filter_data.h" @@ -18180,7 +18182,7 @@ diff --git a/components/adblock/core/subscription/subscription_downloader_impl.c new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/subscription_downloader_impl.cc -@@ -0,0 +1,289 @@ +@@ -0,0 +1,288 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -18211,7 +18213,6 @@ new file mode 100644 +#include "base/strings/escape.h" +#include "base/strings/strcat.h" +#include "base/strings/string_number_conversions.h" -+#include "base/strings/string_piece.h" +#include "base/time/time.h" +#include "base/trace_event/trace_event.h" +#include "components/adblock/core/common/adblock_utils.h" @@ -19058,9 +19059,9 @@ new file mode 100644 + // conflicts are less likely than disk failure. The DCHECK is to express + // intent. + DCHECK(!base::PathExists(subscription_path)); -+ if (base::WriteFile(subscription_path, -+ reinterpret_cast(raw_data->data()), -+ raw_data->size()) == -1) { ++ if (!base::WriteFile(subscription_path, ++ std::string_view(reinterpret_cast(raw_data->data()), ++ raw_data->size()))) { + // Disk write failed. + return std::make_pair(nullptr, base::FilePath{}); + } @@ -19939,7 +19940,7 @@ diff --git a/components/adblock/core/subscription/subscription_validator_impl.cc new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/subscription_validator_impl.cc -@@ -0,0 +1,145 @@ +@@ -0,0 +1,144 @@ +/* + * This file is part of eyeo Chromium SDK, + * Copyright (C) 2006-present eyeo GmbH @@ -19975,8 +19976,7 @@ new file mode 100644 +namespace { + +std::string ComputeSubscriptionHash(const FlatbufferData& buffer) { -+ return base::Base64Encode( -+ crypto::SHA256Hash(base::make_span(buffer.data(), buffer.size()))); ++ return base::Base64Encode(crypto::SHA256Hash(buffer.span())); +} + +// When the schema version used to create installed subscriptions is different @@ -20219,7 +20219,7 @@ diff --git a/components/adblock/core/subscription/url_keyword_extractor.h b/comp new file mode 100644 --- /dev/null +++ b/components/adblock/core/subscription/url_keyword_extractor.h -@@ -0,0 +1,60 @@ +@@ -0,0 +1,59 @@ + +/* + * This file is part of eyeo Chromium SDK, @@ -20245,7 +20245,6 @@ new file mode 100644 + +#include "absl/types/optional.h" + -+#include "base/strings/string_piece.h" +#include "url/gurl.h" + +namespace adblock { diff --git a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch index 838ed23b..0454ef33 100644 --- a/build/patches/ungoogled-chromium-no-special-hosts-domains.patch +++ b/build/patches/ungoogled-chromium-no-special-hosts-domains.patch @@ -16,6 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../browser/chrome_content_browser_client.cc | 32 +- .../domain_reliability/service_factory.cc | 33 +- chrome/browser/extensions/BUILD.gn | 1 - + chrome/browser/feedback/BUILD.gn | 1 - .../log_sources/chrome_internal_log_source.cc | 5 - chrome/browser/first_run/first_run.cc | 8 - chrome/browser/google/BUILD.gn | 4 +- @@ -63,7 +64,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ...gled-chromium-no-special-hosts-domains.inc | 1 + net/base/url_util.cc | 25 +- services/network/network_context.cc | 2 +- - 56 files changed, 55 insertions(+), 853 deletions(-) + 57 files changed, 55 insertions(+), 854 deletions(-) create mode 100644 cromite_flags/content/public/common/content_features_cc/ungoogled-chromium-no-special-hosts-domains.inc diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java @@ -381,6 +382,17 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL "//chrome/browser/image_decoder", "//chrome/browser/media/router", "//chrome/browser/media/router:media_router_feature", +diff --git a/chrome/browser/feedback/BUILD.gn b/chrome/browser/feedback/BUILD.gn +--- a/chrome/browser/feedback/BUILD.gn ++++ b/chrome/browser/feedback/BUILD.gn +@@ -100,7 +100,6 @@ source_set("feedback_impl") { + "//chrome/browser/crash_upload_list", + "//chrome/browser/devtools", + "//chrome/browser/extensions", +- "//chrome/browser/google", + "//chrome/browser/profiles:profile", + "//chrome/browser/sync", + "//chrome/browser/sync:factories", diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc --- a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc +++ b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc