From 39751f34d64f7016821c646e75aad9b0593c38b0 Mon Sep 17 00:00:00 2001 From: Artem Samoilenko Date: Thu, 17 Apr 2025 13:08:52 -0400 Subject: [PATCH] [cr137] [Android] Remove patch for ExportFlow Upstream now calls `runCreateFileOnDiskIntent` either way, so this patch becomes obsolete. Chromium change: https://chromium.googlesource.com/chromium/src/+/a58bf5281372f484db298f8fcd1c0a8dda0f64a0 [CodeHealth] Clean up LocalPasswordsAndroidAccessLossWarning. Part 1 I've split the cleanup into multiple parts to facilitate the review. This CL cleans up the code related to password export. It: 1) Enables the feature flag by default in the export flow code. 2) Deletes up ExportWarningDialogFragment that is not used anymore, and cleans up its tests and strings used only there 3) Deletes PasswordSettingsExportTests, because they test password export from settings only, and M4.1 export is handled in PasswordAccessLossExportDialogCoordinatorTest In the second part I will enable feature by default in other parts of code. Change-Id: I233affd3cb8b47cc067a055e92aca219cd5776ef --- android/brave_java_sources.gni | 1 - android/java/apk_for_test.flags | 10 -------- .../settings/BraveExportFlow.java | 19 -------------- .../chromium/chrome/browser/BytecodeTest.java | 11 -------- build/android/bytecode/BUILD.gn | 1 - .../org/brave/bytecode/BraveClassAdapter.java | 1 - .../bytecode/BraveExportFlowClassAdapter.java | 25 ------------------- 7 files changed, 68 deletions(-) delete mode 100644 android/java/org/chromium/chrome/browser/password_manager/settings/BraveExportFlow.java delete mode 100644 build/android/bytecode/java/org/brave/bytecode/BraveExportFlowClassAdapter.java diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index 8b0f589cb6e..a94e22bacc8 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -293,7 +293,6 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/onboarding/v2/OnboardingV2Fragment.java", "../../brave/android/java/org/chromium/chrome/browser/onboarding/v2/OnboardingV2PagerAdapter.java", "../../brave/android/java/org/chromium/chrome/browser/partnercustomizations/CloseBraveManager.java", - "../../brave/android/java/org/chromium/chrome/browser/password_manager/settings/BraveExportFlow.java", "../../brave/android/java/org/chromium/chrome/browser/password_manager/settings/BravePasswordSettingsBase.java", "../../brave/android/java/org/chromium/chrome/browser/playlist/PlaylistHostActivity.java", "../../brave/android/java/org/chromium/chrome/browser/playlist/PlaylistServiceFactoryAndroid.java", diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags index 5927a051062..b01da40cada 100644 --- a/android/java/apk_for_test.flags +++ b/android/java/apk_for_test.flags @@ -846,16 +846,6 @@ -keep class org.chromium.chrome.browser.omnibox.suggestions.editurl.BraveEditUrlSuggestionProcessorBase --keep class org.chromium.chrome.browser.password_manager.settings.ExportFlow { - public (...); - *** runSharePasswordsIntent(...); - *** runCreateFileOnDiskIntent(...); -} - --keep class org.chromium.chrome.browser.password_manager.settings.BraveExportFlow { - public (...); -} - -keep class org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesLayout -keep class org.chromium.chrome.browser.suggestions.tile.BraveMostVisitedTilesLayoutBase diff --git a/android/java/org/chromium/chrome/browser/password_manager/settings/BraveExportFlow.java b/android/java/org/chromium/chrome/browser/password_manager/settings/BraveExportFlow.java deleted file mode 100644 index 3d0aa169496..00000000000 --- a/android/java/org/chromium/chrome/browser/password_manager/settings/BraveExportFlow.java +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright (c) 2024 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. */ - -package org.chromium.chrome.browser.password_manager.settings; - -import org.chromium.base.BraveReflectionUtil; -import org.chromium.chrome.browser.access_loss.PasswordAccessLossWarningType; - -public class BraveExportFlow extends ExportFlow { - public BraveExportFlow(@PasswordAccessLossWarningType int warningType) { - super(warningType); - } - - public void runSharePasswordsIntent() { - BraveReflectionUtil.invokeMethod(ExportFlow.class, this, "runCreateFileOnDiskIntent"); - } -} diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index bf9bf7c92ff..12ba3e3f6fd 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -817,12 +817,6 @@ public class BytecodeTest { MethodModifier.STATIC, String.class, int.class)); - Assert.assertTrue( - methodExists( - "org/chromium/chrome/browser/password_manager/settings/ExportFlow", - "runSharePasswordsIntent", - MethodModifier.REGULAR, - void.class)); Assert.assertTrue( methodExists( "org/chromium/chrome/browser/omnibox/styles/OmniboxResourceProvider", @@ -1790,11 +1784,6 @@ public class BytecodeTest { Optional.class, Supplier.class, Supplier.class)); - Assert.assertTrue( - constructorsMatch( - "org/chromium/chrome/browser/password_manager/settings/ExportFlow", - "org/chromium/chrome/browser/password_manager/settings/BraveExportFlow", - int.class)); Assert.assertTrue( constructorsMatch( diff --git a/build/android/bytecode/BUILD.gn b/build/android/bytecode/BUILD.gn index 4a8dbeeea26..78a5cf48b81 100644 --- a/build/android/bytecode/BUILD.gn +++ b/build/android/bytecode/BUILD.gn @@ -48,7 +48,6 @@ java_binary("java_bytecode_rewriter") { "//brave/build/android/bytecode/java/org/brave/bytecode/BraveDynamicColorsClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveEditUrlSuggestionProcessorBaseClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveEditUrlSuggestionProcessorClassAdapter.java", - "//brave/build/android/bytecode/java/org/brave/bytecode/BraveExportFlowClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveExternalNavigationHandlerClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveFeedSurfaceCoordinatorClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveFeedSurfaceMediatorClassAdapter.java", diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java index bb810672705..acfe5eb86f4 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java @@ -48,7 +48,6 @@ public class BraveClassAdapter { chain = new BraveDynamicColorsClassAdapter(chain); chain = new BraveEditUrlSuggestionProcessorBaseClassAdapter(chain); chain = new BraveEditUrlSuggestionProcessorClassAdapter(chain); - chain = new BraveExportFlowClassAdapter(chain); chain = new BraveExternalNavigationHandlerClassAdapter(chain); chain = new BraveFeedSurfaceCoordinatorClassAdapter(chain); chain = new BraveFeedSurfaceMediatorClassAdapter(chain); diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveExportFlowClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveExportFlowClassAdapter.java deleted file mode 100644 index 8e105974956..00000000000 --- a/build/android/bytecode/java/org/brave/bytecode/BraveExportFlowClassAdapter.java +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (c) 2024 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at https://mozilla.org/MPL/2.0/. */ - -package org.brave.bytecode; - -import org.objectweb.asm.ClassVisitor; - -public class BraveExportFlowClassAdapter extends BraveClassVisitor { - static String sExportFlowClassName = - "org/chromium/chrome/browser/password_manager/settings/ExportFlow"; - static String sBraveExportFlowClassName = - "org/chromium/chrome/browser/password_manager/settings/BraveExportFlow"; - - public BraveExportFlowClassAdapter(ClassVisitor visitor) { - super(visitor); - - redirectConstructor(sExportFlowClassName, sBraveExportFlowClassName); - - makePublicMethod(sExportFlowClassName, "runSharePasswordsIntent"); - addMethodAnnotation( - sBraveExportFlowClassName, "runSharePasswordsIntent", "Ljava/lang/Override;"); - } -}