From fd5c28d83ab74f56554def59fc4cd5a4a619f4e7 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Wed, 26 Oct 2022 09:15:14 +0200 Subject: [PATCH] bump to 107.0.5304.63 --- build/RELEASE | 2 +- build/bromite_patches_list.txt | 3 +- ...ve-navigator-connection-info--fixup-.patch | 87 ------------------- .../Add-flag-to-disable-vibration.patch | 14 +-- .../Disable-add-to-home-screen-prompt.patch | 26 ++++++ .../patches/Disable-all-predictors-code.patch | 18 ++-- .../Enable-user-agent-freeze-by-default.patch | 23 ----- .../Move-navigation-bar-to-bottom.patch | 84 +++++++++++++++--- .../Multiple-fingerprinting-mitigations.patch | 29 ++++--- .../patches/Re-introduce-kWebAuthCable.patch | 17 +--- ...referrals-in-cross-origin-navigation.patch | 8 +- .../Remove-navigator.connection-info.patch | 59 +++++++++++-- ...nH264-enable-ARM-ARM64-optimizations.patch | 39 +++++---- 13 files changed, 219 insertions(+), 190 deletions(-) delete mode 100644 build/patches/00Remove-navigator-connection-info--fixup-.patch create mode 100644 build/patches/Disable-add-to-home-screen-prompt.patch delete mode 100644 build/patches/Enable-user-agent-freeze-by-default.patch diff --git a/build/RELEASE b/build/RELEASE index 7f6b3645..093db610 100644 --- a/build/RELEASE +++ b/build/RELEASE @@ -1 +1 @@ -107.0.5304.36 \ No newline at end of file +107.0.5304.63 \ No newline at end of file diff --git a/build/bromite_patches_list.txt b/build/bromite_patches_list.txt index 4e8400a8..e7f4a767 100644 --- a/build/bromite_patches_list.txt +++ b/build/bromite_patches_list.txt @@ -100,7 +100,6 @@ Disable-feeds-support-by-default.patch Show-site-settings-for-cookies-javascript-and-ads.patch Disable-DRM-media-origin-IDs-preprovisioning.patch Disable-smart-selection-by-default.patch -Enable-user-agent-freeze-by-default.patch AImageReader-CFI-crash-mitigations.patch Add-menu-item-to-view-source.patch Revert-removal-of-execution-context-address-space.patch @@ -200,13 +199,13 @@ Revert-clipboard-user-gesture-requirement-removal.patch Viewport-Protection.patch Override-Navigator-Language.patch Partition-blobs-by-top-frame-url.patch +Disable-add-to-home-screen-prompt.patch Remove-http-referrals-in-cross-origin-navigation.patch Add-kill-switch-for-unsupported-clangd-flags.patch Fix-WebWorker-requestAnimationFrame.patch 00Enable-ThirdPartyStoragePartitioning-flag.patch 00Enable-CrossSiteFlagNetworkAnonymizationKey-flag.patch -00Remove-navigator-connection-info--fixup-.patch 00OpenSearch--miscellaneous--fixup-.patch 00Eyeo-Adblock.patch 00Eyeo-Adblock-Remove-Privacy-Issues.patch diff --git a/build/patches/00Remove-navigator-connection-info--fixup-.patch b/build/patches/00Remove-navigator-connection-info--fixup-.patch deleted file mode 100644 index f53f1e36..00000000 --- a/build/patches/00Remove-navigator-connection-info--fixup-.patch +++ /dev/null @@ -1,87 +0,0 @@ -From: Your Name -Date: Tue, 6 Sep 2022 08:35:08 +0000 -Subject: Remove navigator.connection info (fixup) - ---- - .../renderer/modules/netinfo/network_information.cc | 6 +++--- - .../renderer/modules/netinfo/network_information.h | 1 + - .../platform/network/network_state_notifier.cc | 11 +++++++++++ - .../platform/network/network_state_notifier.h | 2 +- - 4 files changed, 16 insertions(+), 4 deletions(-) - -diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b/third_party/blink/renderer/modules/netinfo/network_information.cc ---- a/third_party/blink/renderer/modules/netinfo/network_information.cc -+++ b/third_party/blink/renderer/modules/netinfo/network_information.cc -@@ -61,7 +61,7 @@ NetworkInformation::~NetworkInformation() { - } - - bool NetworkInformation::IsObserving() const { -- return false; -+ return !!connection_observer_handle_ || is_fake_observing_; - } - - String NetworkInformation::type() const { -@@ -243,7 +243,7 @@ void NetworkInformation::ContextDestroyed() { - } - - void NetworkInformation::StartObserving() { -- //is_fake_observing_ = true; -+ is_fake_observing_ = true; - if ((true)) return; - if (!IsObserving() && !context_stopped_) { - type_ = GetNetworkStateNotifier().ConnectionType(); -@@ -255,7 +255,7 @@ void NetworkInformation::StartObserving() { - } - - void NetworkInformation::StopObserving() { -- //is_fake_observing_ = false; -+ is_fake_observing_ = false; - if ((true)) return; - if (IsObserving()) { - DCHECK(connection_observer_handle_); -diff --git a/third_party/blink/renderer/modules/netinfo/network_information.h b/third_party/blink/renderer/modules/netinfo/network_information.h ---- a/third_party/blink/renderer/modules/netinfo/network_information.h -+++ b/third_party/blink/renderer/modules/netinfo/network_information.h -@@ -118,6 +118,7 @@ class NetworkInformation final - - std::unique_ptr - connection_observer_handle_; -+ bool is_fake_observing_ = false; - }; - - } // namespace blink -diff --git a/third_party/blink/renderer/platform/network/network_state_notifier.cc b/third_party/blink/renderer/platform/network/network_state_notifier.cc ---- a/third_party/blink/renderer/platform/network/network_state_notifier.cc -+++ b/third_party/blink/renderer/platform/network/network_state_notifier.cc -@@ -522,6 +522,17 @@ NetworkStateNotifier::GetWebHoldbackDownlinkThroughputMbps() const { - return absl::nullopt; - } - -+NetworkStateNotifier::NetworkStateNotifier() : has_override_(false) { -+ // set default data -+ // see third_party/blink/renderer/platform/network/network_state_notifier_test.cc -+ SetNetworkConnectionInfoOverride( -+ /*on_line*/true, -+ /*type*/WebConnectionType::kWebConnectionTypeUnknown, -+ /*effective_type*/absl::nullopt, -+ /*http_rtt_msec*/0, -+ /*max_bandwidth_mbps*/0); -+} -+ - void NetworkStateNotifier::GetMetricsWithWebHoldback( - WebConnectionType* type, - double* downlink_max_mbps, -diff --git a/third_party/blink/renderer/platform/network/network_state_notifier.h b/third_party/blink/renderer/platform/network/network_state_notifier.h ---- a/third_party/blink/renderer/platform/network/network_state_notifier.h -+++ b/third_party/blink/renderer/platform/network/network_state_notifier.h -@@ -122,7 +122,7 @@ class PLATFORM_EXPORT NetworkStateNotifier { - scoped_refptr task_runner_; - }; - -- NetworkStateNotifier() : has_override_(false) {} -+ NetworkStateNotifier(); - NetworkStateNotifier(const NetworkStateNotifier&) = delete; - NetworkStateNotifier& operator=(const NetworkStateNotifier&) = delete; - --- -2.25.1 diff --git a/build/patches/Add-flag-to-disable-vibration.patch b/build/patches/Add-flag-to-disable-vibration.patch index 72584bc1..b19fb77d 100644 --- a/build/patches/Add-flag-to-disable-vibration.patch +++ b/build/patches/Add-flag-to-disable-vibration.patch @@ -95,14 +95,14 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h --- a/third_party/blink/public/platform/web_runtime_features.h +++ b/third_party/blink/public/platform/web_runtime_features.h -@@ -67,6 +67,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase { - - static void EnableOverlayScrollbars(bool); - BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool); -+ BLINK_PLATFORM_EXPORT static void EnableVibration(bool); - BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool); - BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasImageDataNoise(bool); +@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase { + static void EnableFingerprintingCanvasMeasureTextNoise(bool); + static void EnableFingerprintingCanvasImageDataNoise(bool); static void EnableFluentScrollbars(bool); ++ static void EnableVibration(bool); + + WebRuntimeFeatures() = delete; + }; diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc --- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc +++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc diff --git a/build/patches/Disable-add-to-home-screen-prompt.patch b/build/patches/Disable-add-to-home-screen-prompt.patch new file mode 100644 index 00000000..a5ab8374 --- /dev/null +++ b/build/patches/Disable-add-to-home-screen-prompt.patch @@ -0,0 +1,26 @@ +From: Your Name +Date: Sat, 22 Oct 2022 07:47:07 +0000 +Subject: Disable add to home screen prompt + +License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html +--- + .../webapps/AddToHomescreenMostVisitedTileClickObserver.java | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java +@@ -43,10 +43,7 @@ public class AddToHomescreenMostVisitedTileClickObserver implements MostVisitedT + ntp.addMostVisitedTileClickObserver( + AddToHomescreenMostVisitedTileClickObserver.this); + } else { +- // If it is a regular web page, and started from a most visited tile, show IPH. +- if (url.getOrigin().equals(mLastClickedMostVisitedTileUrl)) { +- addToHomescreenIPHController.showAddToHomescreenIPH(tab); +- } ++ // do not show any add to home screen IPH in Bromite + removeObserver(tab); + } + mLastClickedMostVisitedTileUrl = null; +-- +2.25.1 diff --git a/build/patches/Disable-all-predictors-code.patch b/build/patches/Disable-all-predictors-code.patch index be4d3778..fcd6bdc3 100644 --- a/build/patches/Disable-all-predictors-code.patch +++ b/build/patches/Disable-all-predictors-code.patch @@ -14,10 +14,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../core/prediction_model_download_manager.cc | 6 +++-- .../core/prediction_model_fetcher_impl.cc | 1 + components/optimization_guide/features.gni | 4 +--- - components/permissions/features.cc | 2 +- + components/permissions/features.cc | 8 +++---- .../segmentation_platform/public/features.cc | 2 +- third_party/blink/common/features.cc | 2 +- - 12 files changed, 30 insertions(+), 24 deletions(-) + 12 files changed, 33 insertions(+), 27 deletions(-) diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc --- a/chrome/browser/optimization_guide/chrome_hints_manager.cc @@ -238,12 +238,20 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -71,7 +71,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{ +@@ -66,12 +66,12 @@ const base::Feature kPermissionChipRequestTypeSensitive{ + // When enabled, use the value of the `service_url` FeatureParam as the url + // for the Web Permission Predictions Service. + const base::Feature kPermissionPredictionServiceUseUrlOverride{ +- "kPermissionPredictionServiceUseUrlOverride", +- base::FEATURE_DISABLED_BY_DEFAULT}; ++ "kPermissionPredictionServiceUseUrlOverride", // disabled by default ++ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite const base::Feature kPermissionOnDeviceNotificationPredictions{ - "PermissionOnDeviceNotificationPredictions", +- "PermissionOnDeviceNotificationPredictions", - base::FEATURE_ENABLED_BY_DEFAULT}; -+ base::FEATURE_ENABLED_BY_DEFAULT}; // guard this ++ "PermissionOnDeviceNotificationPredictions", // disabled by default ++ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite const base::Feature kPermissionOnDeviceGeolocationPredictions{ "PermissionOnDeviceGeolocationPredictions", diff --git a/build/patches/Enable-user-agent-freeze-by-default.patch b/build/patches/Enable-user-agent-freeze-by-default.patch deleted file mode 100644 index 0eeaa06f..00000000 --- a/build/patches/Enable-user-agent-freeze-by-default.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: csagan5 <32685696+csagan5@users.noreply.github.com> -Date: Mon, 10 Feb 2020 23:13:13 +0100 -Subject: Enable user-agent freeze by default - -License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html ---- - third_party/blink/common/features.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc ---- a/third_party/blink/common/features.cc -+++ b/third_party/blink/common/features.cc -@@ -156,7 +156,7 @@ const base::Feature kUserLevelMemoryPressureSignal{ - - // Perform memory purges after freezing only if all pages are frozen. - const base::Feature kFreezePurgeMemoryAllPagesFrozen{ -- "FreezePurgeMemoryAllPagesFrozen", base::FEATURE_DISABLED_BY_DEFAULT}; -+ "FreezePurgeMemoryAllPagesFrozen", base::FEATURE_ENABLED_BY_DEFAULT}; - - // Enables the `sec-ch-ua-full` client hint to be sent along with the full user - // agent string in the HTTP request headers, as well as surfacing the full user --- -2.25.1 diff --git a/build/patches/Move-navigation-bar-to-bottom.patch b/build/patches/Move-navigation-bar-to-bottom.patch index 6b208d81..9d6a068d 100644 --- a/build/patches/Move-navigation-bar-to-bottom.patch +++ b/build/patches/Move-navigation-bar-to-bottom.patch @@ -16,11 +16,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html cc/base/features.h | 1 + cc/input/browser_controls_offset_manager.cc | 6 +++ cc/trees/layer_tree_host_impl.cc | 3 ++ + .../start_surface/StartSurfaceMediator.java | 5 ++ .../tab_management/TabGroupUiCoordinator.java | 7 ++- .../tab_management/TabGroupUiMediator.java | 50 +++++++++++++++++- .../tab_management/TabGroupUiProperties.java | 6 ++- .../tab_management/TabGroupUiToolbarView.java | 18 +++++++ .../tab_management/TabGroupUiViewBinder.java | 3 ++ + .../TabListContainerViewBinder.java | 4 ++ + .../tab_management/TabListCoordinator.java | 6 +++ .../tab_management/TabListRecyclerView.java | 19 ++++++- .../tab_management/TabSwitcherMediator.java | 16 ++++++ .../ChromeAccessibilitySettingsDelegate.java | 52 +++++++++++++++++++ @@ -82,7 +85,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../accessibility/AccessibilitySettings.java | 16 ++++++ .../AccessibilitySettingsDelegate.java | 6 +++ .../render_widget_host_view_android.cc | 3 ++ - 70 files changed, 753 insertions(+), 56 deletions(-) + 73 files changed, 768 insertions(+), 56 deletions(-) diff --git a/cc/base/features.cc b/cc/base/features.cc --- a/cc/base/features.cc @@ -144,6 +147,28 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc // This counter-scrolls the page to keep the appearance of the page content // being fixed while the browser controls animate. viewport().ScrollBy(scroll_delta, +diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java ++++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +@@ -78,6 +78,9 @@ import org.chromium.components.prefs.PrefService; + import org.chromium.ui.modelutil.PropertyModel; + import org.chromium.ui.util.ColorUtils; + ++import org.chromium.chrome.browser.flags.ChromeFeatureList; ++import org.chromium.chrome.browser.flags.CachedFeatureFlags; ++ + /** The mediator implements the logic to interact with the surfaces and caller. */ + class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.OnClickListener, + StartSurface.OnTabSelectingListener, BackPressHandler { +@@ -1028,6 +1031,8 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. + } + + private void setTopMargin(int topMargin) { ++ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ topMargin = 0; + mPropertyModel.set(TOP_MARGIN, topMargin); + } + diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java @@ -363,6 +388,50 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser } } } +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java +@@ -22,6 +22,8 @@ import androidx.recyclerview.widget.LinearLayoutManager; + import org.chromium.components.browser_ui.styles.ChromeColors; + import org.chromium.ui.modelutil.PropertyKey; + import org.chromium.ui.modelutil.PropertyModel; ++import org.chromium.chrome.browser.flags.CachedFeatureFlags; ++import org.chromium.chrome.browser.flags.ChromeFeatureList; + + /** + * ViewBinder for TabListRecyclerView. +@@ -58,6 +60,8 @@ class TabListContainerViewBinder { + params.topMargin = newTopMargin; + view.requestLayout(); + } else if (BOTTOM_CONTROLS_HEIGHT == propertyKey) { ++ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ return; + FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) view.getLayoutParams(); + params.bottomMargin = model.get(BOTTOM_CONTROLS_HEIGHT); + view.requestLayout(); +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +@@ -47,6 +47,9 @@ import org.chromium.ui.modelutil.SimpleRecyclerViewAdapter; + import org.chromium.ui.resources.dynamics.DynamicResourceLoader; + import org.chromium.ui.widget.ViewLookupCachingFrameLayout; + ++import org.chromium.chrome.browser.flags.ChromeFeatureList; ++import org.chromium.chrome.browser.flags.CachedFeatureFlags; ++ + import java.lang.annotation.Retention; + import java.lang.annotation.RetentionPolicy; + import java.util.List; +@@ -255,6 +258,9 @@ public class TabListCoordinator + if (mMode == TabListMode.GRID) { + GridLayoutManager gridLayoutManager = + new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT); ++ // invert the order if the toolbar is at bottom ++ if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ gridLayoutManager.setReverseLayout(true); + mRecyclerView.setLayoutManager(gridLayoutManager); + mMediator.registerOrientationListener(gridLayoutManager); + mMediator.updateSpanCount(gridLayoutManager, diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java --- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java +++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java @@ -568,30 +637,23 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv /** * A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder} * and associated classes. -@@ -747,6 +750,15 @@ public abstract class ChromeActivity +@@ -747,6 +750,16 @@ public abstract class ChromeActivity int toolbarLayoutId = getToolbarLayoutId(); if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) { controlContainer.initWithToolbar(toolbarLayoutId); + ImageView shadowImage = findViewById(R.id.toolbar_hairline); + if (shadowImage != null) { ++ // Invert the shadown if the top toolbar is at the bottom + if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { + ViewGroup.MarginLayoutParams marginParams = (ViewGroup.MarginLayoutParams)shadowImage.getLayoutParams(); + marginParams.setMargins(marginParams.leftMargin, 0, -+ marginParams.rightMargin, marginParams.bottomMargin); ++ marginParams.rightMargin, marginParams.bottomMargin); + shadowImage.setLayoutParams(marginParams); + } + } } } onInitialLayoutInflationComplete(); -@@ -770,6 +782,7 @@ public abstract class ChromeActivity - mCompositorViewHolderSupplier.get().setRootView(rootView); - - // Setting fitsSystemWindows to false ensures that the root view doesn't consume the -+ // Invert the shadown if the top toolbar is at the bottom - // insets. - rootView.setFitsSystemWindows(false); - diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch index 6ea41b95..53735d00 100644 --- a/build/patches/Multiple-fingerprinting-mitigations.patch +++ b/build/patches/Multiple-fingerprinting-mitigations.patch @@ -178,9 +178,9 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa static void UpdateStatusFromBaseFeatures(); static void EnableOverlayScrollbars(bool); -+ BLINK_PLATFORM_EXPORT static void EnableFingerprintingClientRectsNoise(bool); -+ BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasMeasureTextNoise(bool); -+ BLINK_PLATFORM_EXPORT static void EnableFingerprintingCanvasImageDataNoise(bool); ++ static void EnableFingerprintingClientRectsNoise(bool); ++ static void EnableFingerprintingCanvasMeasureTextNoise(bool); ++ static void EnableFingerprintingCanvasImageDataNoise(bool); static void EnableFluentScrollbars(bool); WebRuntimeFeatures() = delete; @@ -195,11 +195,10 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink #include "base/notreached.h" #include "base/time/time.h" #include "cc/animation/animation_host.h" -@@ -2234,6 +2235,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { - #if DCHECK_IS_ON() - AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */); - #endif -+ +@@ -809,6 +810,15 @@ Document::Document(const DocumentInit& initializer, + ? MakeGarbageCollected(*this) + : nullptr), + data_(MakeGarbageCollected(GetExecutionContext())) { + if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { + // Precompute -0.0003% to 0.0003% noise factor for get*ClientRect*() fingerprinting + noise_factor_x_ = 1 + (base::RandDouble() - 0.5) * 0.000003; @@ -208,17 +207,25 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink + noise_factor_x_ = 1; + noise_factor_y_ = 1; + } -+} + + if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution)) + script_runner_delayer_->Activate(); + +@@ -2236,6 +2246,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() { + #endif + } + +double Document::GetNoiseFactorX() { + return noise_factor_x_; +} + +double Document::GetNoiseFactorY() { + return noise_factor_y_; - } - ++} ++ void Document::InvalidateStyleAndLayoutForFontUpdates() { + DCHECK(IsActive()); + DCHECK(IsMainThread()); diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h --- a/third_party/blink/renderer/core/dom/document.h +++ b/third_party/blink/renderer/core/dom/document.h diff --git a/build/patches/Re-introduce-kWebAuthCable.patch b/build/patches/Re-introduce-kWebAuthCable.patch index 085bf086..eaa61f43 100644 --- a/build/patches/Re-introduce-kWebAuthCable.patch +++ b/build/patches/Re-introduce-kWebAuthCable.patch @@ -11,11 +11,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../authenticator_dialog_view_browsertest.cc | 7 +++++++ .../webauthn/authenticator_dialog_browsertest.cc | 7 +++++++ .../webauthn/chrome_webauthn_browsertest.cc | 2 ++ - content/browser/webauth/authenticator_common.cc | 4 +++- .../webauth/authenticator_impl_unittest.cc | 15 +++++++++++++-- content/public/common/content_features.cc | 6 ++++++ content/public/common/content_features.h | 1 + - 7 files changed, 39 insertions(+), 3 deletions(-) + 6 files changed, 36 insertions(+), 2 deletions(-) diff --git a/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc b/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc --- a/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc @@ -84,20 +83,6 @@ diff --git a/chrome/browser/webauthn/chrome_webauthn_browsertest.cc b/chrome/bro std::ostringstream trace_; AuthenticatorRequestDialogModel* model_ = nullptr; }; -diff --git a/content/browser/webauth/authenticator_common.cc b/content/browser/webauth/authenticator_common.cc ---- a/content/browser/webauth/authenticator_common.cc -+++ b/content/browser/webauth/authenticator_common.cc -@@ -293,7 +293,9 @@ base::flat_set GetWebAuthnTransports( - transports.insert(device::FidoTransportProtocol::kInternal); - } - -- transports.insert(device::FidoTransportProtocol::kHybrid); -+ if (base::FeatureList::IsEnabled(features::kWebAuthCable)) { -+ transports.insert(device::FidoTransportProtocol::kHybrid); -+ } - - // kAndroidAccessory doesn't work on Windows because of USB stack issues. - // Note: even if this value were inserted it wouldn't take effect on Windows diff --git a/content/browser/webauth/authenticator_impl_unittest.cc b/content/browser/webauth/authenticator_impl_unittest.cc --- a/content/browser/webauth/authenticator_impl_unittest.cc +++ b/content/browser/webauth/authenticator_impl_unittest.cc diff --git a/build/patches/Remove-http-referrals-in-cross-origin-navigation.patch b/build/patches/Remove-http-referrals-in-cross-origin-navigation.patch index b02fed79..f6e41499 100644 --- a/build/patches/Remove-http-referrals-in-cross-origin-navigation.patch +++ b/build/patches/Remove-http-referrals-in-cross-origin-navigation.patch @@ -50,9 +50,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting : R.string.text_off); } -+ ChromeSwitchPreference enableFeferrerPref = findPreference(PREF_ENABLE_REFERRERS); -+ enableFeferrerPref.setChecked(prefService.getBoolean(Pref.ENABLE_REFERRERS)); -+ enableFeferrerPref.setOnPreferenceChangeListener(this); ++ ChromeSwitchPreference enableReferrerPref = findPreference(PREF_ENABLE_REFERRERS); ++ enableReferrerPref.setChecked(prefService.getBoolean(Pref.ENABLE_REFERRERS)); ++ enableReferrerPref.setOnPreferenceChangeListener(this); + Preference preloadPagesPreference = findPreference(PREF_PRELOAD_PAGES); if (preloadPagesPreference != null) { @@ -65,7 +65,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro For example, some websites may respond to this request by showing you ads that aren’t based on other websites you’ve visited. Many websites will still collect and use your browsing data — for example to improve security, to provide content, ads and recommendations, and to generate reporting statistics. + -+ Enable http referrer header ++ Enable HTTP Referrer header + Access payment methods diff --git a/build/patches/Remove-navigator.connection-info.patch b/build/patches/Remove-navigator.connection-info.patch index 368a5d4a..a872aea9 100644 --- a/build/patches/Remove-navigator.connection-info.patch +++ b/build/patches/Remove-navigator.connection-info.patch @@ -8,8 +8,11 @@ and disable observers Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../blink/renderer/modules/netinfo/network_information.cc | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) + .../renderer/modules/netinfo/network_information.cc | 7 ++++++- + .../renderer/modules/netinfo/network_information.h | 1 + + .../platform/network/network_state_notifier.cc | 13 +++++++++++++ + .../platform/network/network_state_notifier.h | 2 +- + 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b/third_party/blink/renderer/modules/netinfo/network_information.cc --- a/third_party/blink/renderer/modules/netinfo/network_information.cc @@ -19,7 +22,7 @@ diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b bool NetworkInformation::IsObserving() const { - return !!connection_observer_handle_; -+ return false; ++ return !!connection_observer_handle_ || is_fake_observing_; } String NetworkInformation::type() const { @@ -35,7 +38,7 @@ diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b } void NetworkInformation::StartObserving() { -+ //is_fake_observing_ = true; ++ is_fake_observing_ = true; + if ((true)) return; if (!IsObserving() && !context_stopped_) { type_ = GetNetworkStateNotifier().ConnectionType(); @@ -44,10 +47,56 @@ diff --git a/third_party/blink/renderer/modules/netinfo/network_information.cc b } void NetworkInformation::StopObserving() { -+ //is_fake_observing_ = false; ++ is_fake_observing_ = false; + if ((true)) return; if (IsObserving()) { DCHECK(connection_observer_handle_); connection_observer_handle_ = nullptr; +diff --git a/third_party/blink/renderer/modules/netinfo/network_information.h b/third_party/blink/renderer/modules/netinfo/network_information.h +--- a/third_party/blink/renderer/modules/netinfo/network_information.h ++++ b/third_party/blink/renderer/modules/netinfo/network_information.h +@@ -118,6 +118,7 @@ class NetworkInformation final + + std::unique_ptr + connection_observer_handle_; ++ bool is_fake_observing_ = false; + }; + + } // namespace blink +diff --git a/third_party/blink/renderer/platform/network/network_state_notifier.cc b/third_party/blink/renderer/platform/network/network_state_notifier.cc +--- a/third_party/blink/renderer/platform/network/network_state_notifier.cc ++++ b/third_party/blink/renderer/platform/network/network_state_notifier.cc +@@ -522,6 +522,19 @@ NetworkStateNotifier::GetWebHoldbackDownlinkThroughputMbps() const { + return absl::nullopt; + } + ++NetworkStateNotifier::NetworkStateNotifier() : has_override_(false) { ++ // set default data ++ SetNetworkConnectionInfoOverride( ++ /*on_line*/ true, ++ /*type*/ WebConnectionType::kWebConnectionTypeWifi, ++ /*effective_type*/ absl::nullopt, ++ /*http_rtt_msec*/ 0, ++ /*max_bandwidth_mbps*/ std::numeric_limits::max()); ++ SetNetworkQuality( ++ /*effective_type*/ WebEffectiveConnectionType::kType4G, ++ base::TimeDelta(), base::TimeDelta(), 10000); ++} ++ + void NetworkStateNotifier::GetMetricsWithWebHoldback( + WebConnectionType* type, + double* downlink_max_mbps, +diff --git a/third_party/blink/renderer/platform/network/network_state_notifier.h b/third_party/blink/renderer/platform/network/network_state_notifier.h +--- a/third_party/blink/renderer/platform/network/network_state_notifier.h ++++ b/third_party/blink/renderer/platform/network/network_state_notifier.h +@@ -122,7 +122,7 @@ class PLATFORM_EXPORT NetworkStateNotifier { + scoped_refptr task_runner_; + }; + +- NetworkStateNotifier() : has_override_(false) {} ++ NetworkStateNotifier(); + NetworkStateNotifier(const NetworkStateNotifier&) = delete; + NetworkStateNotifier& operator=(const NetworkStateNotifier&) = delete; + -- 2.25.1 diff --git a/build/patches/openH264-enable-ARM-ARM64-optimizations.patch b/build/patches/openH264-enable-ARM-ARM64-optimizations.patch index 2ae45e1f..23594f63 100644 --- a/build/patches/openH264-enable-ARM-ARM64-optimizations.patch +++ b/build/patches/openH264-enable-ARM-ARM64-optimizations.patch @@ -7,9 +7,9 @@ Limit threads auto-detect only for iOS License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- - .../modules/mediarecorder/h264_encoder.cc | 8 ++++---- - third_party/openh264/BUILD.gn | 18 +++++++++++++++--- - 2 files changed, 19 insertions(+), 7 deletions(-) + .../modules/mediarecorder/h264_encoder.cc | 8 +++---- + third_party/openh264/BUILD.gn | 24 ++++++++++++++----- + 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc b/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc --- a/third_party/blink/renderer/modules/mediarecorder/h264_encoder.cc @@ -38,12 +38,13 @@ diff --git a/third_party/openh264/BUILD.gn b/third_party/openh264/BUILD.gn source_set("common") { sources = openh264_common_sources - if (is_chromeos && current_cpu == "arm") { +- sources += openh264_common_sources_asm_arm + if (is_chromeos || is_android) { -+ if (current_cpu == "arm") { - sources += openh264_common_sources_asm_arm -+ } else if (current_cpu == "arm64") { -+ sources += openh264_common_sources_asm_arm64 -+ } ++ if (current_cpu == "arm") { ++ sources += openh264_common_sources_asm_arm ++ } else if (current_cpu == "arm64") { ++ sources += openh264_common_sources_asm_arm64 ++ } } include_dirs = openh264_common_include_dirs @@ -52,12 +53,13 @@ diff --git a/third_party/openh264/BUILD.gn b/third_party/openh264/BUILD.gn source_set("processing") { sources = openh264_processing_sources - if (is_chromeos && current_cpu == "arm") { +- sources += openh264_processing_sources_asm_arm + if (is_chromeos || is_android) { -+ if (current_cpu == "arm") { - sources += openh264_processing_sources_asm_arm -+ } else if (current_cpu == "arm64") { -+ sources += openh264_processing_sources_asm_arm64 -+ } ++ if (current_cpu == "arm") { ++ sources += openh264_processing_sources_asm_arm ++ } else if (current_cpu == "arm64") { ++ sources += openh264_processing_sources_asm_arm64 ++ } } include_dirs = openh264_processing_include_dirs @@ -66,12 +68,13 @@ diff --git a/third_party/openh264/BUILD.gn b/third_party/openh264/BUILD.gn source_set("encoder") { sources = openh264_encoder_sources - if (is_chromeos && current_cpu == "arm") { +- sources += openh264_encoder_sources_asm_arm + if (is_chromeos || is_android) { -+ if (current_cpu == "arm") { - sources += openh264_encoder_sources_asm_arm -+ } else if (current_cpu == "arm64") { -+ sources += openh264_encoder_sources_asm_arm64 -+ } ++ if (current_cpu == "arm") { ++ sources += openh264_encoder_sources_asm_arm ++ } else if (current_cpu == "arm64") { ++ sources += openh264_encoder_sources_asm_arm64 ++ } } include_dirs = openh264_encoder_include_dirs