>
+ mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue = new LinkedList<>();
+
+- private static Fido2CredentialRequest sFido2CredentialRequestOverrideForTesting;
+-
+ /**
+ * Builds the Authenticator service implementation.
+ *
+@@ -97,18 +95,6 @@ public final class AuthenticatorImpl implements Authenticator {
+ mGmsCorePackageVersion = PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME);
+ }
+
+- public static void overrideFido2CredentialRequestForTesting(Fido2CredentialRequest request) {
+- sFido2CredentialRequestOverrideForTesting = request;
+- }
+-
+- private Fido2CredentialRequest getFido2CredentialRequest() {
+- if (sFido2CredentialRequestOverrideForTesting != null) {
+- return sFido2CredentialRequestOverrideForTesting;
+- }
+-
+- return new Fido2CredentialRequest(mIntentSender, mSupportLevel);
+- }
+-
+ /**
+ * Called by InternalAuthenticatorAndroid, which facilitates WebAuthn for processes that
+ * originate from the browser process. Since the request is from the browser process, the
+@@ -136,15 +122,7 @@ public final class AuthenticatorImpl implements Authenticator {
mMakeCredentialCallback = callback;
mIsOperationPending = true;
@@ -3340,7 +3375,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
}
@Override
-@@ -157,15 +149,7 @@ public final class AuthenticatorImpl implements Authenticator {
+@@ -157,15 +135,7 @@ public final class AuthenticatorImpl implements Authenticator {
mGetAssertionCallback = callback;
mIsOperationPending = true;
@@ -3356,7 +3391,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
}
@Override
-@@ -178,15 +162,7 @@ public final class AuthenticatorImpl implements Authenticator {
+@@ -178,15 +148,7 @@ public final class AuthenticatorImpl implements Authenticator {
callback.call(isUvpaa);
};
@@ -3371,6 +3406,18 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
- isUvpaa -> onIsUserVerifyingPlatformAuthenticatorAvailableResponse(isUvpaa));
}
+ @Override
+@@ -202,10 +164,7 @@ public final class AuthenticatorImpl implements Authenticator {
+ // reason, this method will return true but chrome will ignore conditional requests.
+ // Android surfaces only platform credentials on conditional requests, use IsUVPAA as a
+ // proxy for availability.
+- mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(callback);
+- getFido2CredentialRequest().handleIsUserVerifyingPlatformAuthenticatorAvailableRequest(
+- mRenderFrameHost,
+- isUvpaa -> onIsUserVerifyingPlatformAuthenticatorAvailableResponse(isUvpaa));
++ callback.call(false);
+ }
+
@Override
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/Fido2ApiCallHelper.java
diff --git a/build/patches/Remove-contextual-search-manager.patch b/build/patches/Remove-contextual-search-manager.patch
index 91ce218e..3e8bf8bb 100644
--- a/build/patches/Remove-contextual-search-manager.patch
+++ b/build/patches/Remove-contextual-search-manager.patch
@@ -31,15 +31,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../privacy/settings/PrivacySettings.java | 9 --
.../chrome/browser/tab/TabHelpers.java | 2 -
.../tabbed_mode/TabbedRootUiCoordinator.java | 5 +-
- .../chrome/browser/ui/RootUiCoordinator.java | 28 +-----
+ .../chrome/browser/ui/RootUiCoordinator.java | 27 +-----
chrome/browser/BUILD.gn | 17 ----
chrome/browser/about_flags.cc | 25 ------
+ .../flags/android/chrome_feature_list.cc | 1 -
...nfiguration_policy_handler_list_factory.cc | 6 +-
.../strings/android_chrome_strings.grd | 59 -------------
content/browser/browser_interface_binders.cc | 1 -
third_party/blink/public/mojom/BUILD.gn | 2 +-
third_party/blink/public/public_features.gni | 2 +-
- 35 files changed, 17 insertions(+), 535 deletions(-)
+ 36 files changed, 17 insertions(+), 535 deletions(-)
delete mode 100644 chrome/android/java/res/layout/contextual_search_caption_view.xml
delete mode 100644 chrome/android/java/res/layout/contextual_search_card_icon_view.xml
delete mode 100644 chrome/android/java/res/layout/contextual_search_context_view.xml
@@ -941,15 +942,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
mActionModeControllerCallback = new ToolbarActionModeCallback();
mTabModelSelectorSupplier = tabModelSelectorSupplier;
-@@ -593,7 +590,6 @@ public class RootUiCoordinator
- if (mBottomSheetController != null) {
- if (mBottomSheetObserver != null) {
- mBottomSheetController.removeObserver(mBottomSheetObserver);
-- }
- BottomSheetControllerFactory.detach(mBottomSheetController);
- mBottomSheetController.destroy();
- }
-@@ -997,15 +993,6 @@ public class RootUiCoordinator
+@@ -997,15 +994,6 @@ public class RootUiCoordinator
@Override
public boolean canShowAppMenu() {
@@ -965,7 +958,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
// Do not show the menu if we are in find in page view.
if (mFindToolbarManager != null && mFindToolbarManager.isShowing()
&& !DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
-@@ -1221,10 +1208,6 @@ public class RootUiCoordinator
+@@ -1221,10 +1209,6 @@ public class RootUiCoordinator
public void onStartedShowing(int layoutType, boolean showToolbar) {
if (layoutType != LayoutType.BROWSING
&& layoutType != LayoutType.SIMPLE_ANIMATION) {
@@ -976,7 +969,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
}
if (layoutType == LayoutType.TAB_SWITCHER) {
-@@ -1350,10 +1333,6 @@ public class RootUiCoordinator
+@@ -1350,10 +1334,6 @@ public class RootUiCoordinator
* cross-feature interaction, e.g. hide other features when this feature is shown.
*/
protected void onFindToolbarShown() {
@@ -987,7 +980,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
}
/**
-@@ -1498,9 +1477,6 @@ public class RootUiCoordinator
+@@ -1498,9 +1478,6 @@ public class RootUiCoordinator
case SheetState.FULL:
if (!mOpened) {
mOpened = true;
@@ -997,7 +990,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
}
// On visible bottom sheet, hide page zoom dialog
-@@ -1508,8 +1484,6 @@ public class RootUiCoordinator
+@@ -1508,8 +1485,6 @@ public class RootUiCoordinator
break;
case SheetState.HIDDEN:
mOpened = false;
@@ -1096,6 +1089,17 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
{"explore-sites", flag_descriptions::kExploreSitesName,
flag_descriptions::kExploreSitesDescription, kOsAndroid,
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kExploreSites,
+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
+@@ -221,7 +221,6 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+ &kContextMenuSearchAndShopWithGoogleLens,
+ &kContextMenuTranslateWithGoogleLens,
+ &kContextMenuPopupStyle,
+- &kContextualSearchDebug,
+ &kContextualSearchDelayedIntelligence,
+ &kContextualSearchDisableOnlineDetection,
+ &kContextualSearchForceCaption,
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -1122,7 +1126,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
-@@ -806,33 +806,6 @@ CHAR_LIMIT guidelines:
+@@ -809,33 +809,6 @@ CHAR_LIMIT guidelines:
Privacy and security
@@ -1156,7 +1160,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
“Do Not Track”
-@@ -4032,38 +4005,6 @@ To change this setting, <resetlink>reset sync<resetlink>reset sync
diff --git a/build/patches/Remove-price-shopping-commerce-integrations.patch b/build/patches/Remove-price-shopping-commerce-integrations.patch
index ae7a3a89..8d0cba68 100644
--- a/build/patches/Remove-price-shopping-commerce-integrations.patch
+++ b/build/patches/Remove-price-shopping-commerce-integrations.patch
@@ -7,42 +7,43 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/BUILD.gn | 24 ---
chrome/android/chrome_java_sources.gni | 4 -
chrome/android/features/tab_ui/BUILD.gn | 7 -
- .../res/layout/large_message_card_item.xml | 9 --
+ .../res/layout/large_message_card_item.xml | 9 -
.../java/res/layout/tab_grid_card_item.xml | 8 -
- .../tab_management/LargeMessageCardView.java | 30 ----
+ .../tab_management/LargeMessageCardView.java | 30 ---
.../LargeMessageCardViewBinder.java | 1 -
.../MessageCardProviderMediator.java | 6 +-
.../StoreTrackingUtilities.java | 4 +-
.../TabGridDialogCoordinator.java | 2 +-
- .../tab_management/TabGridViewBinder.java | 37 -----
+ .../tab_management/TabGridViewBinder.java | 37 ----
.../tab_management/TabGroupUiCoordinator.java | 2 +-
.../tab_management/TabListCoordinator.java | 25 +--
- .../tasks/tab_management/TabListMediator.java | 153 +-----------------
+ .../tasks/tab_management/TabListMediator.java | 177 +-----------------
.../tasks/tab_management/TabProperties.java | 5 +-
.../TabSelectionEditorCoordinator.java | 2 +-
- .../TabSwitcherCoordinator.java | 102 +-----------
- .../tab_management/TabSwitcherMediator.java | 57 -------
+ .../TabSwitcherCoordinator.java | 102 +---------
+ .../tab_management/TabSwitcherMediator.java | 57 ------
.../chrome/browser/app/ChromeActivity.java | 17 --
- .../AppMenuPropertiesDelegateImpl.java | 46 +-----
- .../browser/bookmarks/BookmarkBridge.java | 85 ----------
+ .../AppMenuPropertiesDelegateImpl.java | 46 +----
+ .../browser/bookmarks/BookmarkBridge.java | 85 ---------
.../bookmarks/BookmarkItemsAdapter.java | 23 ---
.../browser/bookmarks/BookmarkManager.java | 11 --
- .../BookmarkSaveFlowCoordinator.java | 37 +----
- .../bookmarks/BookmarkSaveFlowMediator.java | 54 +------
+ .../BookmarkSaveFlowCoordinator.java | 37 +---
+ .../bookmarks/BookmarkSaveFlowMediator.java | 54 +-----
.../browser/bookmarks/BookmarkUtils.java | 12 +-
.../init/ProcessInitializationHandler.java | 5 -
- .../chrome/browser/tab/TabHelpers.java | 9 --
+ .../chrome/browser/tab/TabHelpers.java | 9 -
.../tabbed_mode/TabbedRootUiCoordinator.java | 22 ---
.../ToolbarButtonInProductHelpController.java | 26 ---
- .../browser/toolbar/ToolbarManager.java | 17 --
- .../chrome/browser/ui/RootUiCoordinator.java | 21 ---
+ .../browser/toolbar/ToolbarManager.java | 33 ----
+ .../chrome/browser/ui/RootUiCoordinator.java | 20 --
chrome/android/java_sources.gni | 8 -
.../price_tracking/PriceTrackingFeatures.java | 2 +-
+ .../price_tracking_notification_bridge.cc | 10 -
.../commerce/subscriptions/android/BUILD.gn | 1 -
- .../CommerceSubscriptionsService.java | 36 +----
+ .../CommerceSubscriptionsService.java | 36 +---
.../SubscriptionsManagerImpl.java | 26 +--
chrome/browser/persisted_state_db/BUILD.gn | 1 -
- 38 files changed, 22 insertions(+), 915 deletions(-)
+ 39 files changed, 22 insertions(+), 964 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -625,7 +626,45 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
if (areTabsUnchanged(tabsList)) {
if (tabsList == null) return true;
for (int i = 0; i < tabsList.size(); i++) {
-@@ -1839,34 +1754,6 @@ class TabListMediator {
+@@ -1284,11 +1199,6 @@ class TabListMediator {
+
+ void hardCleanup() {
+ assert !mVisible;
+- if (PriceTrackingUtilities.isTrackPricesOnTabsEnabled()
+- && (PriceTrackingFeatures.isPriceDropIphEnabled()
+- || PriceTrackingFeatures.isPriceDropBadgeEnabled())) {
+- saveSeenPriceDrops();
+- }
+ sViewedTabIds.clear();
+ }
+
+@@ -1443,25 +1353,6 @@ class TabListMediator {
+ * @param recyclerView the {@link TabListRecyclerView} to add the listener too.
+ */
+ void registerOnScrolledListener(RecyclerView recyclerView) {
+- if (PriceTrackingUtilities.isTrackPricesOnTabsEnabled()
+- && (PriceTrackingFeatures.isPriceDropIphEnabled()
+- || PriceTrackingFeatures.isPriceDropBadgeEnabled())) {
+- mRecyclerView = recyclerView;
+- mOnScrollListener = new OnScrollListener() {
+- @Override
+- public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
+- if (!mTabModelSelector.isIncognitoSelected()) {
+- for (int i = 0; i < mRecyclerView.getChildCount(); i++) {
+- if (mRecyclerView.getLayoutManager().isViewPartiallyVisible(
+- mRecyclerView.getChildAt(i), false, true)) {
+- addViewedTabId(i);
+- }
+- }
+- }
+- }
+- };
+- mRecyclerView.addOnScrollListener(mOnScrollListener);
+- }
+ }
+
+ private void unregisterOnScrolledListener() {
+@@ -1839,34 +1730,6 @@ class TabListMediator {
}
private void setupPersistedTabDataFetcherForTab(PseudoTab pseudoTab, int index) {
@@ -660,7 +699,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
@VisibleForTesting
-@@ -1974,23 +1861,6 @@ class TabListMediator {
+@@ -1974,23 +1837,6 @@ class TabListMediator {
return false;
}
@@ -684,7 +723,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/**
* Update the layout of tab switcher to make it compact. Because now we have messages within the
* tabs like PriceMessage and these messages take up the entire row, some operations like
-@@ -2001,7 +1871,7 @@ class TabListMediator {
+@@ -2001,7 +1847,7 @@ class TabListMediator {
void updateLayout() {
// Right now we need to update layout only if there is a price welcome message card in tab
// switcher.
@@ -693,7 +732,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
assert mGridLayoutManager != null;
int spanCount = mGridLayoutManager.getSpanCount();
GridLayoutManager.SpanSizeLookup spanSizeLookup = mGridLayoutManager.getSpanSizeLookup();
-@@ -2093,25 +1963,4 @@ class TabListMediator {
+@@ -2093,25 +1939,4 @@ class TabListMediator {
private boolean isShowingTabsInMRUOrder() {
return TabSwitcherCoordinator.isShowingTabsInMRUOrder(mMode);
}
@@ -1840,15 +1879,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
-@@ -92,7 +92,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
+@@ -92,8 +92,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.page_info.ChromePageInfo;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
-import org.chromium.chrome.browser.price_tracking.PriceTrackingFeatures;
- import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
+-import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
import org.chromium.chrome.browser.profiles.Profile;
-@@ -1967,22 +1966,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+ import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
+@@ -1967,22 +1965,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@VisibleForTesting
public void showPriceDropIPH() {
@@ -1871,21 +1911,43 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
}
/**
+@@ -1991,21 +1973,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+ * viewed in the tab switcher grid.
+ */
+ private void maybeShowPriceDropIPH() {
+- if (!PriceTrackingUtilities.isTrackPricesOnTabsEnabled()
+- || !PriceTrackingFeatures.isPriceDropIphEnabled() || mTabModelSelector == null
+- || mTabModelSelector.isIncognitoSelected()) {
+- return;
+- }
+- TabModel tabModel = mTabModelSelector.getCurrentModel();
+- for (int i = 0; i < tabModel.getCount(); i++) {
+- ShoppingPersistedTabData.from(tabModel.getTabAt(i), (shoppingPersistedTabData) -> {
+- if (shoppingPersistedTabData != null
+- && shoppingPersistedTabData.getPriceDrop() != null
+- && !shoppingPersistedTabData.getIsCurrentPriceDropSeen()) {
+- showPriceDropIPH();
+- }
+- });
+- }
+ }
+
+ private void checkIfNtpLoaded() {
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
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
-@@ -44,10 +44,7 @@ import org.chromium.chrome.browser.app.omnibox.OmniboxPedalDelegateImpl;
+@@ -44,10 +44,8 @@ import org.chromium.chrome.browser.app.omnibox.OmniboxPedalDelegateImpl;
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
import org.chromium.chrome.browser.back_press.BackPressManager;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
-import org.chromium.chrome.browser.bookmarks.PowerBookmarkUtils;
import org.chromium.chrome.browser.bookmarks.TabBookmarker;
--import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
+ import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
-import org.chromium.chrome.browser.commerce.ShoppingFeatures;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelManager;
-@@ -92,7 +89,6 @@ import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
+@@ -92,7 +90,6 @@ import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceInteractionSource;
import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -1893,7 +1955,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
import org.chromium.chrome.browser.segmentation_platform.ContextualPageActionController;
-@@ -103,7 +99,6 @@ import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
+@@ -103,7 +100,6 @@ import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
import org.chromium.chrome.browser.share.ShareUtils;
import org.chromium.chrome.browser.share.qrcode.QrCodeDialog;
import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
@@ -1901,7 +1963,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
import org.chromium.chrome.browser.tab.RequestDesktopUtils;
-@@ -776,17 +771,6 @@ public class RootUiCoordinator
+@@ -777,17 +773,6 @@ public class RootUiCoordinator
initMerchantTrustSignals();
initScrollCapture();
@@ -1919,7 +1981,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
new OneShotCallback<>(mProfileSupplier, this::initHistoryClustersCoordinator);
if (RequestDesktopUtils.maybeDefaultEnableGlobalSetting(
-@@ -1087,9 +1071,6 @@ public class RootUiCoordinator
+@@ -1088,9 +1073,6 @@ public class RootUiCoordinator
mIdentityDiscController = new IdentityDiscController(
mActivity, mActivityLifecycleDispatcher, mProfileSupplier);
@@ -1929,7 +1991,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
ShareButtonController shareButtonController = new ShareButtonController(mActivity,
AppCompatResources.getDrawable(
mActivity, R.drawable.ic_toolbar_share_offset_24dp),
-@@ -1135,8 +1116,6 @@ public class RootUiCoordinator
+@@ -1136,8 +1118,6 @@ public class RootUiCoordinator
AdaptiveToolbarButtonVariant.SHARE, shareButtonController);
adaptiveToolbarButtonController.addButtonVariant(
AdaptiveToolbarButtonVariant.VOICE, voiceToolbarButtonController);
@@ -1980,6 +2042,38 @@ diff --git a/chrome/browser/commerce/price_tracking/android/java/src/org/chromiu
}
private static boolean isSignedIn() {
+diff --git a/chrome/browser/commerce/price_tracking/android/price_tracking_notification_bridge.cc b/chrome/browser/commerce/price_tracking/android/price_tracking_notification_bridge.cc
+--- a/chrome/browser/commerce/price_tracking/android/price_tracking_notification_bridge.cc
++++ b/chrome/browser/commerce/price_tracking/android/price_tracking_notification_bridge.cc
+@@ -6,7 +6,6 @@
+
+ #include "base/android/jni_array.h"
+ #include "base/memory/ptr_util.h"
+-#include "chrome/browser/commerce/price_tracking/android/jni_headers/PriceTrackingNotificationBridge_jni.h"
+ #include "content/public/browser/browser_context.h"
+
+ using OptimizationType = optimization_guide::proto::OptimizationType;
+@@ -26,10 +25,6 @@ PriceTrackingNotificationBridge::GetForBrowserContext(
+ }
+
+ PriceTrackingNotificationBridge::PriceTrackingNotificationBridge() {
+- JNIEnv* env = base::android::AttachCurrentThread();
+- java_obj_.Reset(env, Java_PriceTrackingNotificationBridge_create(
+- env, reinterpret_cast(this))
+- .obj());
+ }
+
+ PriceTrackingNotificationBridge::~PriceTrackingNotificationBridge() = default;
+@@ -42,9 +37,4 @@ void PriceTrackingNotificationBridge::OnNotificationPayload(
+ !payload.has_value()) {
+ return;
+ }
+-
+- // Pass the payload to Java.
+- JNIEnv* env = base::android::AttachCurrentThread();
+- Java_PriceTrackingNotificationBridge_showNotification(
+- env, java_obj_, base::android::ToJavaByteArray(env, payload.value()));
+ }
diff --git a/chrome/browser/commerce/subscriptions/android/BUILD.gn b/chrome/browser/commerce/subscriptions/android/BUILD.gn
--- a/chrome/browser/commerce/subscriptions/android/BUILD.gn
+++ b/chrome/browser/commerce/subscriptions/android/BUILD.gn
diff --git a/build/patches/Remove-segmentation-platform.patch b/build/patches/Remove-segmentation-platform.patch
index 2f24c9b5..a5df7370 100644
--- a/build/patches/Remove-segmentation-platform.patch
+++ b/build/patches/Remove-segmentation-platform.patch
@@ -8,7 +8,8 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome_browser_main_extra_parts_segmentation_platform.cc | 4 ++++
- 1 file changed, 4 insertions(+)
+ components/segmentation_platform/embedder/BUILD.gn | 1 -
+ 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.cc b/chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.cc
--- a/chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.cc
@@ -41,5 +42,16 @@ diff --git a/chrome/browser/segmentation_platform/chrome_browser_main_extra_part
+ if ((true)) return;
segmentation_platform::UkmDatabaseClient::GetInstance().PostMessageLoopRun();
}
+diff --git a/components/segmentation_platform/embedder/BUILD.gn b/components/segmentation_platform/embedder/BUILD.gn
+--- a/components/segmentation_platform/embedder/BUILD.gn
++++ b/components/segmentation_platform/embedder/BUILD.gn
+@@ -21,7 +21,6 @@ source_set("embedder") {
+ "//components/optimization_guide/core",
+ "//components/optimization_guide/core:features",
+ "//components/segmentation_platform/internal",
+- "//components/segmentation_platform/internal:optimization_guide_segmentation_handler",
+ "//components/segmentation_platform/internal/proto",
+ "//components/segmentation_platform/public",
+ "//url",
--
2.25.1
diff --git a/build/patches/Remove-signin-and-sync-integrations.patch b/build/patches/Remove-signin-and-sync-integrations.patch
index 5410f9db..576b37a2 100644
--- a/build/patches/Remove-signin-and-sync-integrations.patch
+++ b/build/patches/Remove-signin-and-sync-integrations.patch
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../identity_disc/IdentityDiscController.java | 104 +-------
.../init/ChromeBrowserInitializer.java | 2 -
.../init/ProcessInitializationHandler.java | 9 -
- .../chrome/browser/ntp/RecentTabsManager.java | 81 +-----
+ .../chrome/browser/ntp/RecentTabsManager.java | 109 +--------
.../browser/ntp/RecentTabsRowAdapter.java | 30 +--
.../browser/ntp/search/SearchBoxMediator.java | 1 -
.../browser/omaha/RequestGenerator.java | 3 -
@@ -90,7 +90,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/search_resumption/BUILD.gn | 4 -
.../SearchResumptionModuleMediator.java | 37 +--
.../SearchResumptionModuleUtils.java | 12 -
- .../ManageAccountDevicesLinkView.java | 24 +-
+ .../ManageAccountDevicesLinkView.java | 26 +-
.../SendTabToSelfCoordinator.java | 151 ------------
.../account_consistency_mode_manager.cc | 7 +-
.../signin/identity_manager_factory.cc | 5 -
@@ -107,7 +107,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../ui/signin/SyncConsentFragmentBase.java | 53 +---
.../WebSigninAccountPickerDelegate.java | 23 --
.../ui/signin/fre/SigninFirstRunMediator.java | 71 +-----
- .../strings/android_chrome_strings.grd | 18 --
+ .../strings/android_chrome_strings.grd | 3 -
.../core/browser/leak_detection_delegate.cc | 2 +-
.../core/browser/password_form_manager.cc | 34 +--
.../browser/password_manager_client_helper.cc | 43 +---
@@ -119,7 +119,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../ProfileOAuth2TokenServiceDelegate.java | 52 ----
.../net/HttpNegotiateAuthenticator.java | 88 +------
.../chromoting/base/OAuthTokenFetcher.java | 2 -
- 100 files changed, 92 insertions(+), 2526 deletions(-)
+ 100 files changed, 91 insertions(+), 2542 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -2413,10 +2413,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
}
/**
-@@ -425,42 +387,16 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
+@@ -418,80 +380,12 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
+ return mPrefs.getSyncPromoCollapsed();
}
- private @SyncPromoState int calculatePromoState() {
+- /** Returns the current promo state. */
+- @SyncPromoState
+- int getPromoState() {
+- return mPromoState;
+- }
+-
+- private @SyncPromoState int calculatePromoState() {
- if (!mSignInManager.getIdentityManager().hasPrimaryAccount(ConsentLevel.SYNC)) {
- if (!mSignInManager.isSyncOptInAllowed()) {
- return SyncPromoState.NO_PROMO;
@@ -2431,10 +2438,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
- return SyncPromoState.NO_PROMO;
- }
- return SyncPromoState.PROMO_FOR_SYNC_TURNED_OFF_STATE;
-+ return SyncPromoState.NO_PROMO;
- }
-
- private void updatePromoState() {
+- }
+-
+- private void updatePromoState() {
- final @SyncPromoState int newState = calculatePromoState();
- if (newState == mPromoState) return;
-
@@ -2447,17 +2453,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
- mSyncPromoController.increasePromoShowCount();
- }
- mPromoState = newState;
- }
-
- /**
- * Sets up the sync promo view.
- */
- void setUpSyncPromoView(PersonalizedSigninPromoView view) {
+- }
+-
+- /**
+- * Sets up the sync promo view.
+- */
+- void setUpSyncPromoView(PersonalizedSigninPromoView view) {
- mSyncPromoController.setUpSyncPromoView(mProfileDataCache, view, null);
- }
-
- // SignInStateObserver implementation.
-@@ -480,18 +416,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
+- }
+-
+- // SignInStateObserver implementation.
+- @Override
+- public void onSignedIn() {
+- update();
+- }
+-
+- @Override
+- public void onSignedOut() {
+- update();
+- }
+-
+ // AccountsChangeObserver implementation.
+ @Override
+ public void onAccountsChanged() {
update();
}
@@ -2476,7 +2494,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
private void onUpdateDone() {
if (mUpdatedCallback != null) {
mUpdatedCallback.onUpdated();
-@@ -499,7 +423,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
+@@ -499,7 +393,6 @@ public class RecentTabsManager implements SyncService.SyncStateChangedListener,
}
private void update() {
@@ -3913,7 +3931,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
import org.chromium.components.browser_ui.widget.RoundedCornerImageView;
import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.components.signin.base.AccountInfo;
-@@ -73,25 +72,11 @@ public class ManageAccountDevicesLinkView extends LinearLayout {
+@@ -73,32 +72,16 @@ public class ManageAccountDevicesLinkView extends LinearLayout {
LayoutInflater.from(getContext())
.inflate(R.layout.send_tab_to_self_manage_devices_link, this);
@@ -3940,7 +3958,14 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
new SpanApplier.SpanInfo("", "",
new NoUnderlineClickableSpan(
getContext(), this::openManageDevicesPageInNewTab)));
-@@ -116,11 +101,4 @@ public class ManageAccountDevicesLinkView extends LinearLayout {
+ linkView.setText(linkText);
+ linkView.setMovementMethod(LinkMovementMethod.getInstance());
+- } else {
+- linkView.setText(account.getEmail());
+ }
+ }
+
+@@ -116,11 +99,4 @@ public class ManageAccountDevicesLinkView extends LinearLayout {
IntentUtils.addTrustedIntentExtras(intent);
getContext().startActivity(intent);
}
@@ -4722,28 +4747,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
Sync and personalize across devices
-@@ -396,21 +393,6 @@ CHAR_LIMIT guidelines:
-
- Because the preloaded pages are encrypted, Google will not learn anything about the preloaded page content. Google servers will learn which sites are privately preloaded. This information is only used to preload the pages, and is not linked to other information from your Google Account.
-
--
-- Make searches and browsing better
--
--
-- Sends URLs of pages you visit to Google
--
--
-- For more settings that relate to privacy, security, and data collection, see <link>Sync and Google services</link>
--
--
-- For more settings that relate to privacy, security, and data collection, see <link1>Sync</link1> and <link2>Google services</link2>
--
--
-- For more settings that relate to privacy, security, and data collection, see <link>Google services</link>
--
-
-
-
diff --git a/components/password_manager/core/browser/leak_detection_delegate.cc b/components/password_manager/core/browser/leak_detection_delegate.cc
--- a/components/password_manager/core/browser/leak_detection_delegate.cc
+++ b/components/password_manager/core/browser/leak_detection_delegate.cc
diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch
index 1126764b..9ba62f28 100644
--- a/build/patches/Remove-voice-recognition-integration.patch
+++ b/build/patches/Remove-voice-recognition-integration.patch
@@ -481,8 +481,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
-import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.page_info.ChromePageInfo;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
- import org.chromium.chrome.browser.price_tracking.PriceTrackingUtilities;
-@@ -2051,11 +2050,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
+ import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
+@@ -2035,11 +2034,6 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
return mLocationBar.getOmniboxStub();
}
@@ -497,7 +497,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
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
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
-@@ -85,8 +85,6 @@ import org.chromium.chrome.browser.messages.MessagesResourceMapperInitializer;
+@@ -86,8 +86,6 @@ import org.chromium.chrome.browser.messages.MessagesResourceMapperInitializer;
import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
@@ -506,7 +506,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.profiles.Profile;
-@@ -266,7 +264,6 @@ public class RootUiCoordinator
+@@ -267,7 +265,6 @@ public class RootUiCoordinator
protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>();
protected Supplier mStartSurfaceParentTabSupplier;
@Nullable
@@ -514,7 +514,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
private MediaCaptureOverlayController mCaptureController;
private @Nullable ScrollCaptureManager mScrollCaptureManager;
protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher;
-@@ -541,9 +538,6 @@ public class RootUiCoordinator
+@@ -542,9 +539,6 @@ public class RootUiCoordinator
}
if (mToolbarManager != null) {
@@ -524,7 +524,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
mToolbarManager.destroy();
mToolbarManager = null;
}
-@@ -1081,19 +1075,11 @@ public class RootUiCoordinator
+@@ -1083,19 +1077,11 @@ public class RootUiCoordinator
new VoiceToolbarButtonController.VoiceSearchDelegate() {
@Override
public boolean isVoiceSearchEnabled() {
@@ -545,7 +545,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
}
};
VoiceToolbarButtonController voiceToolbarButtonController =
-@@ -1143,13 +1129,6 @@ public class RootUiCoordinator
+@@ -1145,13 +1131,6 @@ public class RootUiCoordinator
if (!mSupportsAppMenuSupplier.getAsBoolean()) {
mToolbarManager.getToolbar().disableMenuButton();
}
diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch
index f4026a3b..6abcc5f4 100644
--- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch
+++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch
@@ -78,7 +78,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
-@@ -273,6 +273,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -272,6 +272,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kReachedCodeProfiler,
&kReaderModeInCCT,
&kReengagementNotification,
@@ -86,7 +86,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kRelatedSearches,
&kRelatedSearchesAlternateUx,
&kRelatedSearchesInBar,
-@@ -806,6 +807,9 @@ const base::Feature kRequestDesktopSiteDefaults{
+@@ -805,6 +806,9 @@ const base::Feature kRequestDesktopSiteDefaults{
const base::Feature kSafeModeForCachedFlags{"SafeModeForCachedFlags",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch
index e326a77c..54aba678 100644
--- a/build/patches/Restore-Simplified-NTP-launch.patch
+++ b/build/patches/Restore-Simplified-NTP-launch.patch
@@ -356,7 +356,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
-@@ -249,6 +249,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -248,6 +248,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kIncognitoReauthenticationForAndroid,
&kIncognitoScreenshot,
&kInfobarScrollOptimization,
@@ -364,7 +364,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kInstanceSwitcher,
&kInstantStart,
&kIsVoiceSearchEnabledCache,
-@@ -748,6 +749,9 @@ const base::Feature kNotificationPermissionVariant{
+@@ -747,6 +748,9 @@ const base::Feature kNotificationPermissionVariant{
const base::Feature kInstanceSwitcher{"InstanceSwitcher",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch
index c0ea36ab..32734c2e 100644
--- a/build/patches/Restore-offline-indicator-v2-flag.patch
+++ b/build/patches/Restore-offline-indicator-v2-flag.patch
@@ -183,7 +183,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
-@@ -262,6 +262,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -261,6 +261,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewTabPageTilesTitleWrapAround,
&kNewWindowAppMenu,
&kNotificationPermissionVariant,
@@ -191,7 +191,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kPageAnnotationsService,
&kInlineUpdateFlow,
&kBookmarksImprovedSaveFlow,
-@@ -764,6 +765,9 @@ const base::Feature kInstanceSwitcher{"InstanceSwitcher",
+@@ -763,6 +764,9 @@ const base::Feature kInstanceSwitcher{"InstanceSwitcher",
const base::Feature kSimplifiedNTP{"SimplifiedNTP",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch b/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch
index 9eebc7c9..d609bd41 100644
--- a/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch
+++ b/build/patches/Revert-the-removal-of-an-option-to-block-autoplay.patch
@@ -198,20 +198,20 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
-@@ -600,6 +600,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -601,6 +601,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
int resource = 0;
if (mCategory.getType() == SiteSettingsCategory.Type.AUTOMATIC_DOWNLOADS) {
resource = R.string.website_settings_add_site_description_automatic_downloads;
-+ } else if (mCategory.showSites(SiteSettingsCategory.Type.AUTOPLAY)) {
++ } else if (mCategory.getType() == SiteSettingsCategory.Type.AUTOPLAY) {
+ resource = R.string.website_settings_add_site_description_autoplay;
} else if (mCategory.getType() == SiteSettingsCategory.Type.BACKGROUND_SYNC) {
resource = R.string.website_settings_add_site_description_background_sync;
} else if (mCategory.getType() == SiteSettingsCategory.Type.JAVASCRIPT) {
-@@ -725,6 +727,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -726,6 +728,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
boolean allowSpecifyingExceptions = false;
if (mCategory.getType() == SiteSettingsCategory.Type.SOUND) {
allowSpecifyingExceptions = true;
-+ } else if (mCategory.showSites(SiteSettingsCategory.Type.AUTOPLAY)) {
++ } else if (mCategory.getType() == SiteSettingsCategory.Type.AUTOPLAY) {
+ allowSpecifyingExceptions = true;
} else if (mCategory.getType() == SiteSettingsCategory.Type.JAVASCRIPT) {
allowSpecifyingExceptions = true;
diff --git a/build/patches/Site-setting-for-images.patch b/build/patches/Site-setting-for-images.patch
index 5b2a5898..ce782dfa 100644
--- a/build/patches/Site-setting-for-images.patch
+++ b/build/patches/Site-setting-for-images.patch
@@ -190,20 +190,20 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
-@@ -619,6 +619,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -620,6 +620,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
browserContextHandle, ContentSettingsType.SOUND)
? R.string.website_settings_add_site_description_sound_block
: R.string.website_settings_add_site_description_sound_allow;
-+ } else if (mCategory.showSites(SiteSettingsCategory.Type.IMAGES)) {
++ } else if (mCategory.getType() == SiteSettingsCategory.Type.IMAGES) {
+ resource = R.string.website_settings_add_site_description_images;
} else if (mCategory.getType() == SiteSettingsCategory.Type.COOKIES) {
if (mRequiresFourStateSetting) {
resource = cookieSettingsExceptionShouldBlock()
-@@ -738,6 +740,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -739,6 +741,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
- } else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT_JIT)) {
+ } else if (mCategory.getType() == SiteSettingsCategory.Type.JAVASCRIPT_JIT) {
allowSpecifyingExceptions = true;
-+ } else if (mCategory.showSites(SiteSettingsCategory.Type.IMAGES)) {
++ } else if (mCategory.getType() == SiteSettingsCategory.Type.IMAGES) {
+ allowSpecifyingExceptions = true;
} else if (mCategory.getType() == SiteSettingsCategory.Type.COOKIES) {
allowSpecifyingExceptions = true;
diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch
index 474567c2..485cce0c 100644
--- a/build/patches/Timezone-customization.patch
+++ b/build/patches/Timezone-customization.patch
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../res/xml/site_settings_preferences.xml | 4 +
.../java/res/xml/website_preferences.xml | 9 +
.../ContentSettingsResources.java | 35 +++-
- .../site_settings/SingleCategorySettings.java | 77 ++++++-
+ .../site_settings/SingleCategorySettings.java | 78 ++++++-
.../site_settings/SingleWebsiteSettings.java | 8 +-
.../site_settings/SiteSettings.java | 2 +-
.../site_settings/SiteSettingsCategory.java | 9 +-
@@ -44,7 +44,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/content_settings_agent_impl.cc | 83 ++++++++
.../renderer/content_settings_agent_impl.h | 11 +
.../WebLayerSiteSettingsDelegate.java | 3 +
- 35 files changed, 701 insertions(+), 15 deletions(-)
+ 35 files changed, 702 insertions(+), 15 deletions(-)
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/time_zone_select_dialog.xml
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/timezoneoverride_site_settings_preference.xml
create mode 100755 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java
@@ -353,41 +353,42 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
// Keys for Allowed/Blocked preference groups/headers.
private static final String ALLOWED_GROUP = "allowed_group";
-@@ -231,7 +237,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -231,7 +237,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
Integer contentSetting = website.site().getContentSetting(
browserContextHandle, mCategory.getContentSettingsType());
if (contentSetting != null) {
- return ContentSettingValues.BLOCK == contentSetting;
-+ if (i == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)
-+ return ContentSettingValues.ALLOW != contentSetting;
-+ else
-+ return ContentSettingValues.BLOCK == contentSetting;
++ if (mCategory.getContentSettingsType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
++ return ContentSettingValues.ALLOW != contentSetting;
++ } else {
++ return ContentSettingValues.BLOCK == contentSetting;
++ }
}
return false;
}
-@@ -401,7 +410,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -401,7 +411,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (queryHasChanged) getInfoForOrigins();
});
- if (getSiteSettingsDelegate().isHelpAndFeedbackEnabled()) {
+ if (getSiteSettingsDelegate().isHelpAndFeedbackEnabled() ||
-+ mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) ) {
++ mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
MenuItem help = menu.add(
Menu.NONE, R.id.menu_id_site_settings_help, Menu.NONE, R.string.menu_help);
help.setIcon(VectorDrawableCompat.create(
-@@ -412,7 +422,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -412,7 +423,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_id_site_settings_help) {
- if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
-+ if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
++ if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
+ getSiteSettingsDelegate()
+ .launchTimeZoneOverrideHelpAndFeedbackActivity(getActivity());
+ } else if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
getSiteSettingsDelegate().launchProtectedContentHelpAndFeedbackActivity(
getActivity());
} else {
-@@ -507,6 +520,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -507,6 +521,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
WebsitePreferenceBridge.setDefaultContentSetting(
browserContextHandle, mCategory.getContentSettingsType(), setting);
getInfoForOrigins();
@@ -400,16 +401,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (FOUR_STATE_COOKIE_TOGGLE_KEY.equals(preference.getKey())) {
setCookieSettingsPreference((CookieSettingsState) newValue);
getInfoForOrigins();
-@@ -613,6 +632,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -613,6 +633,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
browserContextHandle, ContentSettingsType.FEDERATED_IDENTITY_API)
? R.string.website_settings_add_site_description_federated_identity_block
: R.string.website_settings_add_site_description_federated_identity_allow;
-+ } else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
++ } else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
+ resource = R.string.website_settings_category_timezone_override_allowed;
}
assert resource > 0;
return getString(resource);
-@@ -653,6 +674,13 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -653,6 +675,13 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (mCategory.getType() == SiteSettingsCategory.Type.COOKIES && mRequiresFourStateSetting) {
setting = cookieSettingsExceptionShouldBlock() ? ContentSettingValues.BLOCK
: ContentSettingValues.ALLOW;
@@ -423,16 +424,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else {
setting = (WebsitePreferenceBridge.isCategoryEnabled(
browserContextHandle, mCategory.getContentSettingsType()))
-@@ -711,6 +739,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -711,6 +740,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
} else if (mCategory.getType() == SiteSettingsCategory.Type.FEDERATED_IDENTITY_API) {
allowSpecifyingExceptions = true;
-+ } else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
++ } else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
+ allowSpecifyingExceptions = true;
}
if (allowSpecifyingExceptions) {
getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(),
-@@ -882,7 +912,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -882,7 +913,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) getPreferenceScreen().findPreference(
TRI_STATE_TOGGLE_KEY);
@@ -448,7 +449,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (mRequiresFourStateSetting) {
FourStateCookieSettingsPreference fourStateCookieToggle =
(FourStateCookieSettingsPreference) getPreferenceScreen().findPreference(
-@@ -911,6 +948,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -911,6 +949,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
(FourStateCookieSettingsPreference) screen.findPreference(
FOUR_STATE_COOKIE_TOGGLE_KEY);
// TODO(crbug.com/1104836): Remove the old third-party cookie blocking UI
@@ -458,12 +459,12 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference notificationsVibrate = screen.findPreference(NOTIFICATIONS_VIBRATE_TOGGLE_KEY);
mNotificationsQuietUiPref = screen.findPreference(NOTIFICATIONS_QUIET_UI_TOGGLE_KEY);
mDesktopSitePeripheralPref = screen.findPreference(DESKTOP_SITE_PERIPHERAL_TOGGLE_KEY);
-@@ -924,20 +964,32 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -924,20 +965,32 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (mRequiresTriStateSetting) {
screen.removePreference(binaryToggle);
screen.removePreference(fourStateCookieToggle);
- configureTriStateToggle(triStateToggle, contentType);
-+ if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
++ if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
+ screen.removePreference(triStateToggle);
+ configureTimeOverrideStateToggle(timeOverrideStatePreference);
+ }
@@ -486,13 +487,13 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (mCategory.getType() != SiteSettingsCategory.Type.COOKIES) {
screen.removePreference(screen.findPreference(COOKIE_INFO_TEXT_KEY));
}
-+ if (!(mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE))) {
++ if (mCategory.getType() != SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
+ screen.removePreference(screen.findPreference(TIMEOVERRIDE_INFO_TEXT));
+ }
if (permissionBlockedByOs) {
maybeShowOsWarning(screen);
-@@ -1067,6 +1119,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -1067,6 +1120,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
triStateToggle.initialize(setting, descriptionIds);
}
@@ -508,7 +509,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void configureBinaryToggle(ChromeSwitchPreference binaryToggle, int contentType) {
binaryToggle.setOnPreferenceChangeListener(this);
binaryToggle.setTitle(ContentSettingsResources.getTitle(contentType));
-@@ -1168,9 +1229,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
+@@ -1168,9 +1230,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
CharSequence[] descriptions = new String[2];
descriptions[0] =
@@ -1046,7 +1047,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ ValidSettings(CONTENT_SETTING_ALLOW, // use system time
+ CONTENT_SETTING_ASK, // custom timezone, default UTC
+ CONTENT_SETTING_BLOCK), // random
-+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
++ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
+ ContentSettingsInfo::PERSISTENT,