From 587ce3ee0fb06c4c41caf016baa992933f282351 Mon Sep 17 00:00:00 2001 From: Max Karolinskiy <41635752+mkarolin@users.noreply.github.com> Date: Fri, 1 Dec 2023 17:29:02 -0500 Subject: [PATCH] Upgrade from Chromium 119 to Chromium 120 (uplift to 1.61.x). (#21135) * Merge pull request #20434 from brave/cr120 Upgrade from Chromium 119 to Chromium 120. * Updated chrome-VERSION.patch from Chromium 119.0.6045.163 to Chromium 120.0.6099.35. * Additional assert_ts.js -> assert.js for 1.61.x. Chromium change: https://chromium.googlesource.com/chromium/src/+/f7a2ea671005530e7a891bba411a34bfd1b3b4cd commit f7a2ea671005530e7a891bba411a34bfd1b3b4cd Author: dpapad Date: Mon Oct 16 21:13:04 2023 +0000 WebUI: Rename assert_ts.ts to assert.ts, part 7 (last) In this part updating one remaining reference in ui/file_manager/ and removing assert_ts.ts. assert_ts.ts used the "_ts" suffix to differentiate from the previously existing assert.js file. The latter no longer exists and the "_ts" suffix can be dropped. Fixed: 1291526 * Remove `SidePanelCoordinator` `final` keyword substitution (#20765) `SidePanelCoordinator` is tagged upstream as `final`, and as a workaround to be able to derive from it, an override had been introduced at some point to replace the keyword `final` with naught. This type of redefinition is unreliable, as it is UB, and it also becomes highly viral. This change replaces the substitution with a patch. The substitution was removing the `final` keyword from the signature of other functions in different headers, and leaving it with no token to indicate the function is an override, causing a build failure. * `Label::CalculatePreferredSize()` marked as `final` (#20767) This function is now marked as `final`, however there is another entry in the overload set that can be used in its place for the override in `BraveVPNStatusLabel`. Chromium change: https://chromium.googlesource.com/chromium/src/+/bf2f84a8c4f27e399e05bf4730a29152f6a8b0b6 commit bf2f84a8c4f27e399e05bf4730a29152f6a8b0b6 Author: weidongliu Date: Mon Oct 30 15:59:03 2023 +0000 views: Mark CalculatePreferredSize() of views::Label as final Views::Label now has two functions to calculate the preferred size. This can cause some unexpected errors. CalculatePreferredSize() is now expected to be deprecated. Therefore, mark it as final to prevent overrided by subclasses. Bug: 1346889 * Revert "Disable kPowerBookmarksSidePanel feature flag" This reverts commit 237341ebe2c9de9970bec0f26f82c355d370fa28. * Java files formatting. * Fix `BraveBrowsingDataRemoverDelegate` substitution (#21034) This override has been missing a matching header since it was introduced, and this has been causing linking to fail in every upstream occurrence of `ChromeBrowsingDataRemoverDelegateFactory::GetForProfile` as the return type in the header was not being replaced accordingly. This changes adds the changes to the header as well, and provides an inclusion `BraveBrowsingDataRemoverDelegate` in the shadow file, to allow the compiler to understand that `BraveBrowsingDataRemoverDelegate*` is pefectly convertible to `ChromeBrowsingDataRemoverDelegate`. * [Android] Move JNI classes to jni_zero namespace * Disabled failing upstream browser tests. * Merge pull request #21152 from brave/maxk-fix-page-info-cookies-separator [cr120 follow-up] Removes an extra separator in cookies page info view. * Merge pull request #21153 from brave/maxk-redirect-on-device-data-to-cookies [cr120 follow-up] Redirect On-device data link to cookies page. * Merge pull request #21166 from brave/maxk-hide-hover-card-image-toggle [cr120 follow-up] Hide Settings->Appearance hover card toggle. * Fixed crash accessing 'send to devices' in share menu via Sync (#21168) Fixes brave/brave-browser#34636 Related Chromium commit: https://source.chromium.org/chromium/chromium/src/+/84ed1f62ecd64bbfc3d2c4775a6e80a6b0e9defb Clean up SendTabToSelfSigninPromo flag Enabled by default in M119 (https://crrev.com/c/4905024), can be cleaned up in M120. Fixed: 1479693, 1295204 Change-Id: Ic778e9c886a5d9391fb5da7510d166952481fe21 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4905343 Reviewed-by: Boris Sazonov Reviewed-by: Wenyu Fu Code-Coverage: findit-for-me@appspot.gserviceaccount.com Commit-Queue: Victor Vianna Cr-Commit-Position: refs/heads/main@{#1204655} * Merge pull request #21169 from brave/120.0.6099.56_master Upgrade from Chromium 120.0.6099.35 to Chromium 120.0.6099.56. * Updated chrome-VERSION.patch from Chromium 120.0.6099.35 to Chromium 120.0.6099.56. --------- Co-authored-by: cdesouza-chromium Co-authored-by: Emerick Rogul Co-authored-by: Artem Samoilenko Co-authored-by: AlexeyBarabash --- android/brave_java_sources.gni | 2 +- .../BraveTabUiFeatureUtilities.java | 6 +- android/java/apk_for_test.flags | 22 +- .../chrome/browser/BraveFeatureUtil.java | 4 +- .../chrome/browser/BraveLocalState.java | 5 +- .../chrome/browser/BraveRelaunchUtils.java | 5 +- .../chrome/browser/BraveRewardsHelper.java | 3 +- .../browser/BraveRewardsNativeWorker.java | 6 +- .../chrome/browser/BraveSyncWorker.java | 7 +- .../chrome/browser/app/BraveActivity.java | 130 +++-- .../browser/app/helpers/ImageLoader.java | 2 +- .../BraveTabbedAppMenuPropertiesDelegate.java | 6 +- .../autofill/BraveAutofillPopupBridge.java | 54 -- .../bookmarks/BraveBookmarkBridge.java | 5 +- .../BraveLeoSettingsLauncherHelper.java | 3 +- .../BraveNewsBottomSheetDialogFragment.java | 52 +- .../BraveNewsControllerFactory.java | 5 +- .../brave_news/CardBuilderFeedCard.java | 67 ++- .../BraveStatsBottomSheetDialogFragment.java | 163 +++--- .../BraveComponentUpdater.java | 6 +- .../crash/BravePureJavaExceptionReporter.java | 2 - .../AssetRatioServiceFactory.java | 5 +- .../BlockchainRegistryFactory.java | 5 +- ...BraveWalletProviderDelegateImplHelper.java | 7 +- .../BraveWalletServiceFactory.java | 5 +- .../crypto_wallet/JsonRpcServiceFactory.java | 5 +- .../crypto_wallet/KeyringServiceFactory.java | 5 +- .../crypto_wallet/SwapServiceFactory.java | 5 +- .../crypto_wallet/TxServiceFactory.java | 5 +- .../activities/AssetDetailActivity.java | 20 +- .../fragments/NftGridFragment.java | 32 +- .../dapps/ConnectAccountFragment.java | 5 +- .../BraveDappPermissionPromptDialog.java | 5 +- .../crypto_wallet/util/KeystoreHelper.java | 39 +- .../crypto_wallet/util/TokenUtils.java | 9 +- .../util/WalletDataFilesInstaller.java | 4 +- .../util/WalletDataFilesInstallerUtil.java | 2 +- .../crypto_wallet/util/WalletNativeUtils.java | 5 +- .../firstrun/WelcomeOnboardingActivity.java | 83 +-- .../BraveIdentityDiscController.java | 29 + .../BraveSyncAccountDeletedInformer.java | 3 +- .../MiscAndroidMetricsFactory.java | 5 +- .../settings/BraveThemePreferences.java | 5 +- .../BraveNotificationPlatformBridge.java | 3 +- .../BraveNotificationSettingsBridge.java | 2 +- .../notifications/BravePermissionUtils.java | 4 +- .../chrome/browser/ntp/BraveNtpAdapter.java | 12 +- .../NTPBackgroundImagesBridge.java | 5 +- .../BraveAutocompleteMediatorBase.java | 23 +- .../playlist/PlaylistHostActivity.java | 6 +- .../PlaylistServiceFactoryAndroid.java | 5 +- .../settings/BravePlaylistPreferences.java | 8 +- .../BravePlaylistSaveMediaFragment.java | 12 +- .../preferences/BravePrefServiceBridge.java | 5 +- .../website/BraveShieldsContentSettings.java | 10 +- .../settings/BravePrivacySettings.java | 15 +- .../chrome/browser/rate/RateUtils.java | 7 +- .../browser/rewards/BraveRewardsPanel.java | 9 +- .../rewards/onboarding/RewardsOnboarding.java | 46 +- .../settings/BraveSearchEnginePrefHelper.java | 3 +- .../BraveSetDefaultBrowserUtils.java | 62 +- .../SetDefaultBrowserBottomSheetFragment.java | 7 +- .../settings/AppearancePreferences.java | 18 +- .../settings/BraveNewsPreferencesDetails.java | 6 +- .../settings/BraveNewsPreferencesV2.java | 6 +- .../settings/BraveWalletResetPreference.java | 47 +- .../developer/BraveQAPreferences.java | 24 +- .../browser/share/BraveShareDelegateImpl.java | 6 +- .../shields/FilterListServiceFactory.java | 5 +- .../shields/UrlSanitizerServiceFactory.java | 5 +- .../browser/signin/BraveSigninManager.java | 16 +- .../speedreader/BraveSpeedReaderUtils.java | 5 +- .../chrome/browser/sync/BraveSyncDevices.java | 6 +- .../BraveTabbedRootUiCoordinator.java | 79 ++- .../browser/toolbar/BraveHomeButton.java | 1 + .../bottom/BottomToolbarConfiguration.java | 10 +- .../bottom/BottomToolbarCoordinator.java | 2 +- .../toolbar/top/BraveToolbarLayoutImpl.java | 371 ++++++------ ...BravePackageReplacedBroadcastReceiver.java | 5 +- .../chrome/browser/util/BraveReferrer.java | 7 +- .../browser/vpn/BraveVpnNativeWorker.java | 6 +- ...ActionSearchAndBookmarkWidgetProvider.java | 6 +- .../utils/BraveSearchWidgetUtils.java | 8 +- .../chromium/chrome/browser/BytecodeTest.java | 166 ++++-- app/BUILD.gn | 1 + app/app_management_strings.grdp | 16 + app/brave_main_delegate_browsertest.cc | 28 +- app/brave_strings.grd | 62 +- app/extensions_strings.grdp | 2 + app/extensions_strings_override.grdp | 2 + app/generated_resources.grd | 546 +++++++++++++----- app/generated_resources_override.grd | 12 +- app/gmc_strings.grdp | 6 + app/nearby_share_strings.grdp | 29 +- app/nearby_share_strings_override.grdp | 3 + app/os_settings_search_tag_strings.grdp | 32 +- app/os_settings_strings.grdp | 325 ++++++++--- app/password_manager_ui_strings.grdp | 7 +- app/profiles_strings.grdp | 3 + app/settings_brave_strings.grdp | 36 +- app/settings_brave_strings_override.grdp | 2 + app/settings_strings.grdp | 142 ++++- app/settings_strings_override.grdp | 10 +- app/shared_settings_strings.grdp | 3 + app/support_tool_strings.grdp | 6 + .../chrome/browser/BraveAdsNativeHelper.java | 5 +- .../device_id/DeviceIdImplAndroid.java | 5 +- .../dialogs/BraveAdsNotificationDialog.java | 3 +- .../browser/dialogs/BraveAdsSignupDialog.java | 6 +- .../browser/notifications/BraveAds.java | 3 +- .../background_helper_linux.cc | 13 +- ...rave_content_browser_client_browsertest.cc | 34 +- .../android/brave_rewards_native_worker.cc | 5 +- .../brave_rewards/rewards_service_factory.cc | 2 +- browser/brave_rewards/rewards_tab_helper.cc | 2 +- ...brave_wallet_ethereum_chain_browsertest.cc | 2 +- ...ve_wallet_provider_delegate_impl_helper.cc | 4 +- .../browser/download/BraveMimeUtils.java | 3 +- .../download_display_controller_unittest.cc | 10 +- browser/extensions/api/brave_rewards_api.cc | 11 +- browser/ipfs/ipfs_policy_browsertest.cc | 6 - browser/ipfs/ipfs_tab_helper_browsertest.cc | 27 +- .../ipfs_not_connected_page_browsertest.cc | 3 +- .../test/ipfs_onboarding_page_browsertest.cc | 12 +- .../net/brave_network_audit_browsertest.cc | 10 +- .../custom_background_file_manager.h | 7 +- .../mock_permission_lifetime_prompt.cc | 4 + .../mock_permission_lifetime_prompt.h | 1 + browser/profiles/brave_profile_manager.cc | 2 +- .../brave_appearance_page/super_referral.ts | 2 +- .../brave_overrides/appearance_page.ts | 12 + .../brave_sync_page/brave_sync_subpage.ts | 2 +- .../BraveManageAccountDevicesLinkView.java | 20 +- browser/speedreader/speedreader_tab_helper.cc | 5 +- .../tab_groups/BraveTabGroupModelFilter.java | 9 +- ...ocation_navigation_throttle_browsertest.cc | 6 +- .../translate/brave_translate_browsertest.cc | 13 +- .../browser/ui/appmenu/BraveAppMenu.java | 48 +- .../brave_res/layout/location_status_icon.xml | 2 +- .../strings/android_chrome_strings.grd | 324 +++++------ .../android_chrome_strings_override.grd | 17 - ..._browser_command_controller_browsertest.cc | 2 +- browser/ui/brave_shields_data_controller.cc | 5 +- browser/ui/commander/ranker.cc | 6 +- browser/ui/tabs/brave_tab_menu_model.cc | 2 +- browser/ui/tabs/brave_tab_strip_model.cc | 2 +- .../brave_app_menu_model_browsertest.cc | 2 +- .../brave_actions_container_browsertest.cc | 2 +- .../brave_news/brave_news_bubble_view.cc | 2 +- .../frame/vertical_tab_strip_region_view.cc | 7 +- ...e_wayback_machine_infobar_contents_view.cc | 14 +- .../brave_wallet_permission_prompt_impl.cc | 5 + .../brave_wallet_permission_prompt_impl.h | 1 + .../views/sidebar/sidebar_container_view.cc | 7 +- .../ui/views/tabs/brave_tab_search_button.cc | 8 +- .../ui/views/tabs/brave_tab_search_button.h | 3 +- browser/ui/views/tabs/brave_tab_strip.cc | 4 +- .../toolbar/brave_toolbar_view_browsertest.cc | 2 +- .../views/toolbar/brave_vpn_status_label.cc | 5 +- .../ui/views/toolbar/brave_vpn_status_label.h | 3 +- .../ui/wallet_bubble_manager_delegate_impl.cc | 2 +- browser/ui/webui/brave_adblock_ui.cc | 8 +- browser/ui/webui/brave_rewards_page_ui.cc | 6 +- .../webui/settings/brave_adblock_handler.cc | 8 +- .../settings/brave_import_data_handler.cc | 2 +- .../webcompat_reporter_dialog.cc | 4 +- .../brave_welcome_ui_browsertest.cc | 2 +- .../webui/welcome_page/welcome_dom_handler.cc | 2 +- .../widevine_permission_android_unittest.cc | 8 +- build/android/BUILD.gn | 2 +- build/android/bytecode/BUILD.gn | 2 +- .../BraveAutofillPopupBridgeClassAdapter.java | 21 - .../org/brave/bytecode/BraveClassAdapter.java | 6 +- ...aveIdentityDiscControllerClassAdapter.java | 28 + ...ageAccountDevicesLinkViewClassAdapter.java | 4 +- ...ravePermissionDialogModelClassAdapter.java | 2 +- chromium_src/check_chromium_src_config.json5 | 6 - .../chrome/browser/active_use_util.cc | 18 - .../intent_helper/intent_picker_features.cc | 16 - .../link_capturing_features.cc} | 11 +- ..._browsing_data_remover_delegate_factory.cc | 2 + ...e_browsing_data_remover_delegate_factory.h | 15 + .../devtools/url_constants_unittest.cc | 2 +- .../browser/download/download_commands.h | 2 +- .../chrome/browser/importer/profile_writer.h | 6 +- .../profiles/off_the_record_profile_impl.cc | 8 - .../chrome/browser/profiles/profile_impl.cc | 2 - .../extension_telemetry_service_factory.cc | 49 ++ .../extension_telemetry_service_factory.h | 50 ++ .../storage/shared_storage_browsertest.cc | 10 + ...syncable_bookmark_sync_service_factory.cc} | 4 +- .../prefs/chrome_syncable_prefs_database.cc | 40 +- .../ui/cocoa/first_run_dialog_controller.mm | 2 +- .../ui/side_panel/side_panel_entry_id.h | 15 - .../ui/toolbar/recent_tabs_sub_menu_model.cc | 5 +- .../recent_tabs_sub_menu_model_unittest.cc | 7 +- chromium_src/chrome/browser/ui/ui_features.cc | 3 +- .../views/omnibox/omnibox_popup_view_views.h | 6 +- .../page_info_cookies_content_view.cc | 17 + .../ui/views/permissions/chooser_bubble_ui.cc | 6 +- .../permissions/permission_prompt_factory.cc | 2 +- .../views/side_panel/side_panel_coordinator.h | 2 - .../ui/views/side_panel/side_panel_util.cc | 12 - .../ui/views/side_panel/side_panel_util.h | 1 - .../page_specific_site_data_dialog.cc | 12 + chromium_src/chrome/common/chrome_features.cc | 4 +- chromium_src/chrome/common/url_constants.cc | 314 ---------- chromium_src/chrome/common/url_constants.h | 465 +++++++++++++++ .../install_static/chromium_install_modes.cc | 10 - .../chrome/installer/setup/user_experiment.cc | 17 - .../chrome/test/base/testing_profile.cc | 2 - .../attribution_reporting/features.cc | 3 +- .../payments/offer_notification_handler.cc | 37 ++ .../core/common/autofill_payments_features.cc | 2 - .../public/feature_constants.cc | 17 - .../omnibox/common/omnibox_features.cc | 2 - .../components/permissions/features.cc | 2 + .../permissions/permission_request_manager.cc | 2 +- .../privacy_sandbox_features.cc | 2 - .../privacy_sandbox_settings_unittest.cc | 14 +- .../tracking_protection_onboarding.cc | 20 + .../tracking_protection_onboarding.h | 16 + .../safe_browsing/core/common/features.cc | 1 - .../entry_point_display_reason.cc | 42 ++ .../entry_point_display_reason.h | 27 + .../components/send_tab_to_self/features.cc | 18 - .../signin/public/base/signin_switches.cc | 18 - .../common_syncable_prefs_database.cc | 4 +- .../attribution_storage_delegate_impl.cc | 22 + .../attribution_storage_delegate_impl.h | 18 + .../content/public/common/content_features.cc | 4 + .../browser_state_keyed_service_factories.mm | 10 +- .../chrome/browser/main/browser_agent_util.mm | 2 +- .../memory/{ => model}/memory_debugger.mm | 7 +- .../tabs/{ => model}/tab_helper_util.mm | 3 +- chromium_src/net/base/proxy_string_util.cc | 6 + .../input_file_parsers.cc | 4 +- .../third_party/blink/common/features.cc | 5 + .../common/origin_trials/origin_trials.cc | 26 +- .../common/origin_trials/origin_trials.h | 3 +- .../origin_trials/origin_trial_context.cc | 2 +- .../core/origin_trials/origin_trial_context.h | 4 +- .../ui/webui/resources/tools/bundle_js.py | 11 - common/brave_content_client.cc | 2 +- .../core/ai_chat_credential_manager.cc | 3 +- components/arc_strings.grdp | 12 +- components/autofill_payments_strings.grdp | 43 +- components/autofill_strings.grdp | 16 + .../search_result_ad/test_web_page_util.cc | 8 +- .../unittest/unittest_file_path_util.cc | 10 +- .../common/unittest/unittest_time_util.cc | 2 +- .../date_range_history_filter_unittest.cc | 42 +- .../history/history_item_value_util.cc | 9 +- .../history/sorts/history_sort_unittest.cc | 30 +- ...database_migration_issue_17231_unittest.cc | 4 +- ...on_transaction_history_json_reader_util.cc | 3 +- ...rchase_intent_signal_history_value_util.cc | 2 +- .../brave_federated/data_stores/data_store.cc | 5 +- .../public/interfaces/BUILD.gn | 7 + .../brave_news/browser/direct_feed_fetcher.cc | 4 +- .../named_third_party_registry_unittest.cc | 4 +- .../browser/test/rewards_state_browsertest.cc | 4 +- .../brave_rewards/core/common/time_util.cc | 2 +- .../core/contribution/contribution.cc | 3 +- .../core/contribution/contribution_monthly.cc | 5 +- .../core/database/database_multi_tables.cc | 3 +- .../core/database/database_recurring_tip.cc | 12 +- .../promotion/get_available/get_available.cc | 9 +- .../publisher_prefix_list_updater.cc | 4 +- .../publisher/server_publisher_fetcher.cc | 3 +- .../core/test/test_rewards_engine_client.cc | 5 +- components/brave_shields/resources/BUILD.gn | 32 + .../resources/domain_block_interstitial.html | 6 +- .../resources/domain_block_interstitial.js | 15 +- .../browser/brave_stats_updater_util.cc | 5 +- components/brave_sync/qr_code_data.cc | 4 +- .../brave_vpn/browser/brave_vpn_service.cc | 12 +- .../browser/asset_ratio_response_parser.cc | 5 +- .../asset_ratio_response_parser_unittest.cc | 6 +- .../browser/bitcoin/bitcoin_tx_meta.cc | 6 +- .../bitcoin/bitcoin_tx_meta_unittest.cc | 6 +- .../brave_wallet/browser/brave_wallet_p3a.cc | 4 +- .../brave_wallet/browser/eth_tx_meta.cc | 6 +- .../browser/eth_tx_meta_unittest.cc | 6 +- .../brave_wallet/browser/fil_tx_meta.cc | 6 +- .../browser/fil_tx_meta_unittest.cc | 6 +- .../brave_wallet/browser/solana_tx_meta.cc | 6 +- .../browser/solana_tx_meta_unittest.cc | 6 +- .../browser/zcash/zcash_tx_meta.cc | 6 +- .../common/value_conversion_utils.cc | 2 +- .../common/api/hardware_keyrings.ts | 2 +- .../common/async/__mocks__/bridge.ts | 2 +- .../ledgerjs/eth_ledger_bridge_keyring.ts | 2 +- .../ledgerjs/sol_ledger_bridge_keyring.ts | 2 +- .../hardware/trezor/trezor_bridge_keyring.ts | 2 +- .../common/slices/api.slice.ts | 2 +- .../panel/async/wallet_panel_async_handler.ts | 2 +- .../brave_wallet_ui/utils/account-utils.ts | 2 +- .../brave_wallet_ui/utils/network-utils.ts | 2 +- components/brave_wallet_ui/utils/tx-utils.ts | 2 +- .../brave_wayback_machine_utils.cc | 3 +- components/commerce_strings.grdp | 18 +- components/components_strings.grd | 1 + components/compose_strings.grdp | 94 +++ components/constants/brave_paths.cc | 3 +- .../content/resources/BUILD.gn | 32 + .../decentralized_dns_interstitial.html | 6 +- .../decentralized_dns_interstitial.js | 17 +- components/history_clusters_strings.grdp | 10 + .../history_clusters_strings_override.grdp | 4 + components/ipfs/resources/BUILD.gn | 53 ++ .../ipfs/resources/ipfs_interstitial.html | 6 +- .../ipfs/resources/ipfs_interstitial.js | 26 +- .../resources/onboarding/ipfs_onboarding.html | 6 +- .../resources/onboarding/ipfs_onboarding.js | 47 +- components/management_strings.grdp | 8 +- components/new_or_sad_tab_strings.grdp | 35 +- .../new_or_sad_tab_strings_override.grdp | 10 + components/omnibox_pedal_ui_strings.grdp | 13 + components/p3a/metric_log_store.cc | 8 +- components/page_info_strings.grdp | 50 +- components/pdf_strings.grdp | 6 + .../BravePermissionDialogDelegate.java | 4 +- .../BravePermissionDialogModel.java | 12 +- components/permissions_strings.grdp | 26 +- components/policy_strings.grdp | 27 + components/privacy_sandbox_strings.grdp | 74 ++- .../privacy_sandbox_strings_override.grdp | 2 +- components/request_otr/resources/BUILD.gn | 32 + .../resources/request_otr_interstitial.html | 6 +- .../resources/request_otr_interstitial.js | 16 +- components/resources/BUILD.gn | 4 + .../chrome/browser/util/SafetyNetCheck.java | 11 +- components/search_engine_choice_strings.grdp | 19 +- .../brave_identity_manager_unittest.cc | 3 +- components/site_settings_strings.grdp | 10 +- .../rs/lib/src/sdk/credentials/fetch.rs | 43 +- components/skus/browser/rs/lib/src/sdk/mod.rs | 3 - .../sync/service/brave_sync_auth_manager.cc | 3 +- .../brave_sync_auth_manager_unittest.cc | 2 +- .../time_period_storage/daily_storage.cc | 4 +- .../time_period_storage.cc | 6 +- components/tor/tor_file_watcher_unittest.cc | 34 +- ios/app/BUILD.gn | 2 +- ios/app/brave_core_main.mm | 4 +- ios/browser/api/ads/brave_ads.mm | 11 +- .../api/bookmarks/brave_bookmarks_api.mm | 23 +- .../bookmarks/exporter/bookmarks_encoder.cc | 1 - .../importer/brave_bookmarks_importer.mm | 7 +- .../api/brave_rewards/brave_rewards_api.mm | 4 +- ios/browser/api/opentabs/BUILD.gn | 4 +- .../api/opentabs/brave_opentabs_api.mm | 2 +- ios/browser/api/password/BUILD.gn | 2 +- ios/browser/api/web/web_state/BUILD.gn | 2 +- .../api/web/web_state/web_state_native.mm | 2 +- jest.config.js | 9 +- package.json | 4 +- patches/base-BUILD.gn.patch | 6 +- ...base-threading-thread_restrictions.h.patch | 4 +- ...ase-trace_event-builtin_categories.h.patch | 4 +- patches/build-android-gyp-proguard.py.patch | 2 +- patches/build-config-android-config.gni.patch | 2 +- ...ld-config-android-internal_rules.gni.patch | 4 +- patches/build-config-android-rules.gni.patch | 6 +- patches/build-rust-cargo_crate.gni.patch | 2 +- patches/build-rust-rust_target.gni.patch | 2 +- patches/build-rust-std-remap_alloc.cc.patch | 2 +- patches/chrome-BUILD.gn.patch | 26 +- patches/chrome-VERSION.patch | 8 +- patches/chrome-android-BUILD.gn.patch | 20 +- ...rome-android-chrome_java_sources.gni.patch | 4 +- ...ome-android-features-tab_ui-BUILD.gn.patch | 2 +- ...rowser-feed-FeedSurfaceMediator.java.patch | 13 + ...ome-android-java-AndroidManifest.xml.patch | 2 +- ...a-res-layout-custom_tabs_toolbar.xml.patch | 4 +- ...ntextmenu-ChromeContextMenuItem.java.patch | 20 +- ...menu-ChromeContextMenuPopulator.java.patch | 8 +- ...ions-NotificationPlatformBridge.java.patch | 8 +- ...rivacy-settings-PrivacySettings.java.patch | 6 +- ...ync-settings-ManageSyncSettings.java.patch | 6 +- ...ed_mode-TabbedRootUiCoordinator.java.patch | 4 +- patches/chrome-app-BUILD.gn.patch | 2 +- patches/chrome-browser-BUILD.gn.patch | 4 +- patches/chrome-browser-about_flags.cc.patch | 4 +- ...hrome-browser-browser_process_impl.h.patch | 4 +- ...owser-download-download_item_model.h.patch | 6 +- ...wnload-download_target_determiner.cc.patch | 6 +- ...r-download-internal-android-BUILD.gn.patch | 2 +- .../chrome-browser-extensions-BUILD.gn.patch | 4 +- ..._private-extension_info_generator.cc.patch | 4 +- ...-identity_get_auth_token_function.cc.patch | 6 +- ...ponent_extension_resource_manager.cc.patch | 4 +- ...ser-extensions-extension_tab_util.cc.patch | 4 +- ...rotocol-external_protocol_handler.cc.patch | 18 +- patches/chrome-browser-flags-BUILD.gn.patch | 4 +- ...porter-in_process_importer_bridge.cc.patch | 2 +- .../chrome-browser-incognito-BUILD.gn.patch | 2 +- ...-media-webrtc-webrtc_log_uploader.cc.patch | 4 +- ...t-profile_network_context_service.cc.patch | 4 +- ...et-system_network_context_manager.cc.patch | 4 +- ...hrome-browser-notifications-BUILD.gn.patch | 4 +- ...hrome-browser-prefs-browser_prefs.cc.patch | 12 +- .../chrome-browser-profiles-profile.cc.patch | 2 +- ...ext_menu-render_view_context_menu.cc.patch | 4 +- ...text_menu-render_view_context_menu.h.patch | 4 +- ...-resources-bookmarks-api_listener.ts.patch | 2 +- ...sources-bookmarks-command_manager.ts.patch | 2 +- ...wser-resources-bookmarks-reducers.ts.patch | 2 +- ...-resources-password_manager-BUILD.gn.patch | 2 +- ...password_manager-password_manager.ts.patch | 2 +- ...-browser-resources-settings-BUILD.gn.patch | 4 +- ...ettings-people_page-sync_controls.ts.patch | 2 +- ...vacy_page-personalization_options.ts.patch | 2 +- ...tings-privacy_page-privacy_page.html.patch | 6 +- ...ettings-privacy_page-privacy_page.ts.patch | 4 +- ...-browser-resources-settings-route.ts.patch | 4 +- ...browser-resources-settings-router.ts.patch | 4 +- ...owser-resources-settings-settings.ts.patch | 2 +- ...ngs-settings_page-main_page_mixin.ts.patch | 2 +- ...ings_category_default_radio_group.ts.patch | 2 +- ..._settings_page-site_settings_page.ts.patch | 4 +- ...ization-profile_customization_app.ts.patch | 2 +- ...e_picker-profile_picker_main_view.ts.patch | 2 +- ...heck_client_download_request_base.cc.patch | 2 +- ...-account_consistency_mode_manager.cc.patch | 4 +- ...browser-sync-sync_service_factory.cc.patch | 4 +- patches/chrome-browser-ui-BUILD.gn.patch | 8 +- ...rowser-ui-actions-chrome_action_id.h.patch | 13 + ...rome-browser-ui-appmenu-AppMenu.java.patch | 26 +- ...-browser-ui-android-toolbar-BUILD.gn.patch | 2 +- ...ar-java-res-layout-toolbar_phone.xml.patch | 2 +- ...r-java-res-layout-toolbar_tablet.xml.patch | 2 +- ...rowser-toolbar-top-ToolbarPhone.java.patch | 12 +- ...owser-toolbar-top-ToolbarTablet.java.patch | 6 +- patches/chrome-browser-ui-browser.cc.patch | 6 +- ...rome-browser-ui-browser_navigator.cc.patch | 10 +- .../chrome-browser-ui-chrome_pages.cc.patch | 4 +- .../chrome-browser-ui-color-BUILD.gn.patch | 4 +- ...-ui-side_panel-side_panel_entry_id.h.patch | 12 + ...rtup-startup_browser_creator_impl.cc.patch | 4 +- ...r-ui-startup-startup_tab_provider.cc.patch | 4 +- .../chrome-browser-ui-tab_helpers.cc.patch | 4 +- ...me-browser-ui-tabs-tab_strip_model.h.patch | 4 +- ...oolbar-recent_tabs_sub_menu_model.cc.patch | 10 +- ...toolbar-recent_tabs_sub_menu_model.h.patch | 13 - ...cent_tabs_sub_menu_model_unittest.cc.patch | 48 +- ...views-bookmarks-bookmark_bar_view.cc.patch | 4 +- ...ws-bookmarks-bookmark_bubble_view.cc.patch | 4 +- ...i-views-frame-browser_view_layout.cc.patch | 2 +- ...ws-location_bar-location_bar_view.cc.patch | 4 +- ...verlay-video_overlay_window_views.cc.patch | 4 +- ...-page_info-page_info_view_factory.cc.patch | 6 +- ...i-views-profiles-profile_menu_view.h.patch | 2 +- ...ws-profiles-profile_menu_view_base.h.patch | 4 +- ...-side_panel-side_panel_coordinator.h.patch | 13 + .../chrome-browser-ui-views-tabs-tab.cc.patch | 4 +- ...e-browser-ui-views-tabs-tab_strip.cc.patch | 2 +- ...ser-ui-views-toolbar-toolbar_view.cc.patch | 6 +- .../chrome-browser-ui-webui-BUILD.gn.patch | 4 +- ...-chrome_web_ui_controller_factory.cc.patch | 4 +- ...r-ui-webui-downloads-downloads_ui.cc.patch | 2 +- ...ui-webui-extensions-extensions_ui.cc.patch | 4 +- ...owser-ui-webui-history-history_ui.cc.patch | 4 +- ...ebui-settings-import_data_handler.cc.patch | 4 +- ...-ui-webui-settings-people_handler.cc.patch | 8 +- ...ttings_localized_strings_provider.cc.patch | 4 +- ...bui-settings-site_settings_helper.cc.patch | 8 +- ...ome-browser-ui-webui-theme_source.cc.patch | 6 +- ..._integration-web_app_shortcut_mac.mm.patch | 4 +- .../chrome-chrome_repack_locales.gni.patch | 2 +- patches/chrome-common-BUILD.gn.patch | 6 +- ...extensions-api-developer_private.idl.patch | 4 +- patches/chrome-installer-gcapi-gcapi.cc.patch | 6 +- ...nstaller-gcapi-google_update_util.cc.patch | 9 +- ...me-installer-mini_installer-BUILD.gn.patch | 6 +- ...taller-mini_installer-chrome.release.patch | 4 +- patches/chrome-installer-setup-BUILD.gn.patch | 4 +- patches/chrome-installer-util-BUILD.gn.patch | 6 +- ...aller-util-google_update_settings.cc.patch | 2 +- ...er-chrome_content_renderer_client.cc.patch | 2 +- ...rer-chrome_content_renderer_client.h.patch | 4 +- patches/chrome-test-BUILD.gn.patch | 6 +- ...me-test-data-webui-settings-BUILD.gn.patch | 4 +- ...uild-win-create_installer_archive.py.patch | 8 +- ...s-bookmarks-browser-bookmark_model.h.patch | 4 +- ...browser_ui-settings-android-BUILD.gn.patch | 2 +- ...e_settings-ChosenObjectSettings.java.patch | 2 +- ...settings-SingleCategorySettings.java.patch | 4 +- ...e_settings-SiteSettingsCategory.java.patch | 33 +- ...t-android-java-res-values-dimens.xml.patch | 4 +- ...er-page_specific_content_settings.cc.patch | 6 +- ...ntent_settings-core-browser-BUILD.gn.patch | 2 +- ...-content_settings_policy_provider.cc.patch | 6 +- ...ser-content_settings_pref_provider.h.patch | 2 +- ...browser-content_settings_registry.cc.patch | 4 +- ...browser-content_settings_uma_util.cc.patch | 6 +- ...re-browser-content_settings_utils.cc.patch | 4 +- ...core-common-content_settings_types.h.patch | 10 +- ...-core-common-cookie_settings_base.cc.patch | 14 +- ...s-core-common-cookie_settings_base.h.patch | 4 +- ...nts-crash-core-app-breakpad_linux.cc.patch | 22 - ...sh-core-browser-resources-crashes.ts.patch | 2 +- ...nternal-common-download_item_impl.cc.patch | 4 +- ...ts-external_intents-android-BUILD.gn.patch | 2 +- ...nts-infobars-core-infobar_delegate.h.patch | 8 +- patches/components-metrics-BUILD.gn.patch | 4 +- .../components-omnibox-browser-BUILD.gn.patch | 4 +- ...x-browser-autocomplete_controller.cc.patch | 6 +- .../components-page_info-page_info.cc.patch | 4 +- ...nager-core-browser-login_database.cc.patch | 4 +- patches/components-permissions-BUILD.gn.patch | 4 +- ...ponents-permissions-android-BUILD.gn.patch | 4 +- ...prompt-permission_dialog_delegate.cc.patch | 4 +- ...s-permissions-permission_uma_util.cc.patch | 8 +- ...nents-permissions-permission_util.cc.patch | 2 +- ...mponents-permissions-request_type.cc.patch | 4 +- .../components-search_engines-BUILD.gn.patch | 4 +- ...ch_engines-prepopulated_engines.json.patch | 2 +- ...s-sync-engine-sync_scheduler_impl.cc.patch | 4 +- .../components-sync-engine-syncer.cc.patch | 4 +- ...nents-sync-protocol-proto_visitors.h.patch | 2 +- .../components-sync-service-BUILD.gn.patch | 4 +- ...nts-sync-service-sync_service_impl.h.patch | 4 +- ...linux-system_media_controls_linux.cc.patch | 6 +- .../components-update_client-BUILD.gn.patch | 4 +- ...-variations-variations_seed_store.cc.patch | 4 +- .../components-version_info-BUILD.gn.patch | 4 +- ...orage-dom_storage_context_wrapper.cc.patch | 10 +- ...r_host-navigation_controller_impl.cc.patch | 4 +- ...-renderer_host-navigation_request.cc.patch | 6 +- ...derer_host-render_frame_host_impl.cc.patch | 4 +- ...wser-resources-gpu-browser_bridge.ts.patch | 2 +- ...t-browser-resources-gpu-info_view.ts.patch | 2 +- ...er-web_contents-web_contents_impl.cc.patch | 4 +- patches/content-common-BUILD.gn.patch | 2 +- patches/content-common-frame.mojom.patch | 4 +- ...lic-browser-content_browser_client.h.patch | 4 +- ...ontent-renderer-render_frame_impl.cc.patch | 4 +- ...ntent-renderer-render_thread_impl.cc.patch | 4 +- ...xtension_web_request_event_router.cc.patch | 4 +- ...nsions-browser-user_script_manager.h.patch | 6 +- ...nsions-common-api-_api_features.json.patch | 4 +- ...r-native_extension_bindings_system.h.patch | 4 +- patches/ios-chrome-app-BUILD.gn.patch | 4 +- patches/ios-chrome-browser-net-BUILD.gn.patch | 2 +- ...-shared-model-prefs-browser_prefs.mm.patch | 16 +- ...r-sync-model-sync_service_factory.mm.patch | 2 +- patches/net-BUILD.gn.patch | 4 +- patches/net-cookies-canonical_cookie.cc.patch | 2 +- patches/net-dns-host_cache.cc.patch | 4 +- .../net-dns-host_resolver_manager.cc.patch | 4 +- ...nfigured_proxy_resolution_service.cc.patch | 4 +- .../sandbox-policy-win-sandbox_win.cc.patch | 4 +- .../services-network-cookie_manager.cc.patch | 4 +- ...ices-network-cors-cors_url_loader.cc.patch | 4 +- ...services-network-public-cpp-BUILD.gn.patch | 4 +- .../third_party-android_deps-BUILD.gn.patch | 4 +- ...rty-blink-renderer-bindings-BUILD.gn.patch | 2 +- ...er-bindings-generated_in_modules.gni.patch | 4 +- ...renderer-bindings-idl_in_modules.gni.patch | 4 +- ...ndings-scripts-bind_gen-interface.py.patch | 4 +- ...d_party-blink-renderer-core-BUILD.gn.patch | 4 +- ...erer-core-dom-events-event_target.cc.patch | 2 +- ...ink-renderer-core-frame-dom_window.h.patch | 2 +- ...e-html-canvas-html_canvas_element.cc.patch | 4 +- ...re-html-canvas-html_canvas_element.h.patch | 4 +- ...core-loader-mixed_content_checker.cc.patch | 4 +- ...-core-loader-mixed_content_checker.h.patch | 2 +- ...cy-permissions_policy_features.json5.patch | 4 +- ...arty-blink-renderer-modules-BUILD.gn.patch | 4 +- ...anvas2d-base_rendering_context_2d.cc.patch | 8 +- ...modules-mediastream-media_devices.cc.patch | 4 +- ...-modules-plugins-dom_plugin_array.cc.patch | 2 +- ...ebgl-webgl_rendering_context_base.cc.patch | 44 +- ...rty-blink-renderer-platform-BUILD.gn.patch | 4 +- ...shpad-util-net-http_transport_win.cc.patch | 4 +- .../third_party-rust-syn-v1-BUILD.gn.patch | 4 +- ...plication-ApplicationPanelSidebar.ts.patch | 2 +- ...tools-gritsettings-resource_ids.spec.patch | 20 +- ...json_schema_compiler-cc_generator.py.patch | 4 +- ...metadata-histogram_suffixes_list.xml.patch | 4 +- ...iews-controls-menu-menu_separator.cc.patch | 2 +- patches/ui-webui-resources-BUILD.gn.patch | 4 +- ...webui-resources-cr_elements-BUILD.gn.patch | 4 +- ...s-cr_elements-cr_lottie-cr_lottie.ts.patch | 2 +- ...ebui-resources-tools-build_webui.gni.patch | 2 +- ...i-webui-resources-tools-bundle_js.py.patch | 11 - ...sources-tools-bundle_js_excludes.gni.patch | 12 + patches/v8/BUILD.gn.patch | 6 +- patches/v8/src-codegen-compiler.cc.patch | 4 +- test/BUILD.gn | 1 + test/filters/browser_tests-linux.filter | 7 + test/filters/browser_tests-windows-x86.filter | 1 + test/filters/browser_tests-windows.filter | 8 - test/filters/browser_tests.filter | 211 +++++-- test/filters/unit_tests.filter | 47 ++ third_party/android_deps/BUILD.gn | 2 - .../core/brave_page_graph/page_graph.cc | 6 +- utility/importer/chrome_importer.cc | 8 +- 599 files changed, 5250 insertions(+), 3096 deletions(-) delete mode 100644 android/java/org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge.java create mode 100644 android/java/org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController.java delete mode 100644 build/android/bytecode/java/org/brave/bytecode/BraveAutofillPopupBridgeClassAdapter.java create mode 100644 build/android/bytecode/java/org/brave/bytecode/BraveIdentityDiscControllerClassAdapter.java delete mode 100644 chromium_src/chrome/browser/active_use_util.cc delete mode 100644 chromium_src/chrome/browser/apps/intent_helper/intent_picker_features.cc rename chromium_src/{components/performance_manager/features.cc => chrome/browser/apps/link_capturing/link_capturing_features.cc} (56%) create mode 100644 chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.h delete mode 100644 chromium_src/chrome/browser/profiles/off_the_record_profile_impl.cc create mode 100644 chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.cc create mode 100644 chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.h create mode 100644 chromium_src/chrome/browser/storage/shared_storage_browsertest.cc rename chromium_src/chrome/browser/sync/{bookmark_sync_service_factory.cc => local_or_syncable_bookmark_sync_service_factory.cc} (82%) delete mode 100644 chromium_src/chrome/browser/ui/side_panel/side_panel_entry_id.h create mode 100644 chromium_src/chrome/browser/ui/views/site_data/page_specific_site_data_dialog.cc delete mode 100644 chromium_src/chrome/common/url_constants.cc create mode 100644 chromium_src/chrome/common/url_constants.h delete mode 100644 chromium_src/chrome/installer/setup/user_experiment.cc create mode 100644 chromium_src/components/autofill/core/browser/payments/offer_notification_handler.cc delete mode 100644 chromium_src/components/feature_engagement/public/feature_constants.cc create mode 100644 chromium_src/components/privacy_sandbox/tracking_protection_onboarding.cc create mode 100644 chromium_src/components/privacy_sandbox/tracking_protection_onboarding.h create mode 100644 chromium_src/components/send_tab_to_self/entry_point_display_reason.cc create mode 100644 chromium_src/components/send_tab_to_self/entry_point_display_reason.h delete mode 100644 chromium_src/components/send_tab_to_self/features.cc delete mode 100644 chromium_src/components/signin/public/base/signin_switches.cc create mode 100644 chromium_src/content/browser/attribution_reporting/attribution_storage_delegate_impl.cc create mode 100644 chromium_src/content/browser/attribution_reporting/attribution_storage_delegate_impl.h rename chromium_src/ios/chrome/browser/memory/{ => model}/memory_debugger.mm (83%) rename chromium_src/ios/chrome/browser/tabs/{ => model}/tab_helper_util.mm (89%) delete mode 100644 chromium_src/ui/webui/resources/tools/bundle_js.py create mode 100644 components/brave_shields/resources/BUILD.gn create mode 100644 components/compose_strings.grdp create mode 100644 components/decentralized_dns/content/resources/BUILD.gn create mode 100644 components/ipfs/resources/BUILD.gn create mode 100644 components/request_otr/resources/BUILD.gn create mode 100644 patches/chrome-android-feed-core-java-src-org-chromium-chrome-browser-feed-FeedSurfaceMediator.java.patch create mode 100644 patches/chrome-browser-ui-actions-chrome_action_id.h.patch create mode 100644 patches/chrome-browser-ui-side_panel-side_panel_entry_id.h.patch delete mode 100644 patches/chrome-browser-ui-toolbar-recent_tabs_sub_menu_model.h.patch create mode 100644 patches/chrome-browser-ui-views-side_panel-side_panel_coordinator.h.patch delete mode 100644 patches/components-crash-core-app-breakpad_linux.cc.patch delete mode 100644 patches/ui-webui-resources-tools-bundle_js.py.patch create mode 100644 patches/ui-webui-resources-tools-bundle_js_excludes.gni.patch diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index 21134c873b73..9e7cf6b46603 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -66,7 +66,6 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/app/shimmer/ShimmerDrawable.java", "../../brave/android/java/org/chromium/chrome/browser/app/shimmer/ShimmerFrameLayout.java", "../../brave/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java", - "../../brave/android/java/org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge.java", "../../brave/android/java/org/chromium/chrome/browser/bookmarks/BraveBookmarkBridge.java", "../../brave/android/java/org/chromium/chrome/browser/bookmarks/BraveBookmarkDelegate.java", "../../brave/android/java/org/chromium/chrome/browser/bookmarks/BraveBookmarkImportExportDialogFragment.java", @@ -238,6 +237,7 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java", "../../brave/android/java/org/chromium/chrome/browser/homepage/BraveHomepageManager.java", "../../brave/android/java/org/chromium/chrome/browser/homepage/settings/BraveHomepageSettings.java", + "../../brave/android/java/org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController.java", "../../brave/android/java/org/chromium/chrome/browser/infobar/BraveInfoBarIdentifier.java", "../../brave/android/java/org/chromium/chrome/browser/infobar/BraveTranslateCompactInfoBarBase.java", "../../brave/android/java/org/chromium/chrome/browser/informers/BraveAndroidSyncDisabledInformer.java", diff --git a/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/BraveTabUiFeatureUtilities.java b/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/BraveTabUiFeatureUtilities.java index 07ee29ad6b5d..257d66d63f7e 100644 --- a/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/BraveTabUiFeatureUtilities.java +++ b/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/BraveTabUiFeatureUtilities.java @@ -6,11 +6,11 @@ package org.chromium.chrome.browser.tasks.tab_management; import org.chromium.base.BravePreferenceKeys; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; public class BraveTabUiFeatureUtilities { public static boolean isBraveTabGroupsEnabled() { - return SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, true); + return ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, true); } } diff --git a/android/java/apk_for_test.flags b/android/java/apk_for_test.flags index a814447dbef1..afd36ca9b747 100644 --- a/android/java/apk_for_test.flags +++ b/android/java/apk_for_test.flags @@ -384,7 +384,7 @@ *** getModel(...); } --keep class org.chromium.components.permissions.PermissionDialogModel { +-keep class org.chromium.components.permissions.PermissionDialogModelFactory { *** getModel(...); } @@ -512,14 +512,6 @@ *** getCardViewBackgroundColor(...); } --keep class org.chromium.chrome.browser.autofill.AutofillPopupBridge { - public (...); -} - --keep class org.chromium.chrome.browser.autofill.BraveAutofillPopupBridge { - public (...); -} - -keep class org.chromium.chrome.browser.download.BraveDownloadMessageUiControllerImpl { *** isVisibleToUser(...); } @@ -654,12 +646,11 @@ -keep class org.chromium.chrome.browser.share.send_tab_to_self.ManageAccountDevicesLinkView { public (...); - *** inflateIfVisible(...); + *** getSharingAccountInfo(...); } -keep class org.chromium.chrome.browser.share.send_tab_to_self.BraveManageAccountDevicesLinkView { public (...); - *** inflateIfVisible(...); } -keep class org.chromium.chrome.browser.ChromeApplicationImpl @@ -818,3 +809,12 @@ -keep class org.chromium.chrome.browser.tasks.tab_groups.BraveTabGroupModelFilter { public (...); } + +-keep class org.chromium.chrome.browser.identity_disc.IdentityDiscController { + public (...); + *** calculateButtonData(...); +} + +-keep class org.chromium.chrome.browser.identity_disc.BraveIdentityDiscController { + public (...); +} diff --git a/android/java/org/chromium/chrome/browser/BraveFeatureUtil.java b/android/java/org/chromium/chrome/browser/BraveFeatureUtil.java index c7fef743ee3b..14cc2eab9f10 100644 --- a/android/java/org/chromium/chrome/browser/BraveFeatureUtil.java +++ b/android/java/org/chromium/chrome/browser/BraveFeatureUtil.java @@ -5,8 +5,8 @@ package org.chromium.chrome.browser; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; @JNINamespace("chrome::android") public abstract class BraveFeatureUtil { diff --git a/android/java/org/chromium/chrome/browser/BraveLocalState.java b/android/java/org/chromium/chrome/browser/BraveLocalState.java index 40a59f835264..fddfeb908351 100644 --- a/android/java/org/chromium/chrome/browser/BraveLocalState.java +++ b/android/java/org/chromium/chrome/browser/BraveLocalState.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.components.prefs.PrefService; /** diff --git a/android/java/org/chromium/chrome/browser/BraveRelaunchUtils.java b/android/java/org/chromium/chrome/browser/BraveRelaunchUtils.java index 528e02ee5371..670bfc89a43e 100644 --- a/android/java/org/chromium/chrome/browser/BraveRelaunchUtils.java +++ b/android/java/org/chromium/chrome/browser/BraveRelaunchUtils.java @@ -9,8 +9,9 @@ import android.content.Context; import android.content.DialogInterface; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.R; @JNINamespace("chrome::android") diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java b/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java index 75bdf83db43b..d035c3b6cef4 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsHelper.java @@ -31,8 +31,9 @@ import androidx.annotation.Nullable; +import org.jni_zero.CalledByNative; + import org.chromium.base.ContextUtils; -import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.customtabs.CustomTabActivity; diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java b/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java index 4b68b4a9d85f..ac276cccddba 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java @@ -11,11 +11,11 @@ import androidx.annotation.Nullable; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; import org.json.JSONException; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import org.chromium.brave_rewards.mojom.PublisherStatus; import org.chromium.chrome.browser.tab.Tab; import org.chromium.components.embedder_support.util.UrlConstants; diff --git a/android/java/org/chromium/chrome/browser/BraveSyncWorker.java b/android/java/org/chromium/chrome/browser/BraveSyncWorker.java index 326bf63d1b2e..6e85300867b1 100644 --- a/android/java/org/chromium/chrome/browser/BraveSyncWorker.java +++ b/android/java/org/chromium/chrome/browser/BraveSyncWorker.java @@ -8,13 +8,14 @@ import android.content.Context; import android.content.SharedPreferences; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.base.Callback; import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import org.chromium.base.task.PostTask; import org.chromium.base.task.TaskTraits; diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 40a60e9ac4d6..b77f3e2f3324 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -41,6 +41,9 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.wireguard.android.backend.GoBackend; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.base.ApplicationStatus; import org.chromium.base.BraveFeatureList; import org.chromium.base.BravePreferenceKeys; @@ -51,8 +54,6 @@ import org.chromium.base.IntentUtils; import org.chromium.base.Log; import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import org.chromium.base.supplier.ObservableSupplier; import org.chromium.base.supplier.UnownedUserDataSupplier; import org.chromium.base.task.PostTask; @@ -133,9 +134,9 @@ import org.chromium.chrome.browser.playlist.settings.BravePlaylistPreferences; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.PrefChangeRegistrar; import org.chromium.chrome.browser.preferences.PrefChangeRegistrar.PrefObserver; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.preferences.website.BraveShieldsContentSettings; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge; import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState; @@ -943,10 +944,10 @@ public void finishNativeInitialization() { maybeSolveAdaptiveCaptcha(); } - if (SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_DOUBLE_RESTART, false)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_DOUBLE_RESTART, false); + if (ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_DOUBLE_RESTART, false)) { + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_DOUBLE_RESTART, false); BraveRelaunchUtils.restart(); return; } @@ -961,8 +962,11 @@ public void finishNativeInitialization() { BraveRewardsHelper.setRewardsEnvChange(false); } - int appOpenCount = SharedPreferencesManager.getInstance().readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT); - SharedPreferencesManager.getInstance().writeInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT, appOpenCount + 1); + int appOpenCount = + ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT); + ChromeSharedPreferences.getInstance() + .writeInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT, appOpenCount + 1); if (PackageUtils.isFirstInstall(this) && appOpenCount == 0) { checkForYandexSE(); @@ -1000,7 +1004,8 @@ public void finishNativeInitialization() { // if (PackageUtils.isFirstInstall(this) // && - // SharedPreferencesManager.getInstance().readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + // + // SharedPreferencesManager.getInstance().readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) // == 1) { // Calendar calender = Calendar.getInstance(); // calender.setTime(new Date()); @@ -1022,7 +1027,8 @@ public void finishNativeInitialization() { // OnboardingPrefManager.getInstance().setOnboardingShownForSkip(true); // } - if (SharedPreferencesManager.getInstance().readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) == 1) { + if (ChromeSharedPreferences.getInstance().readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + == 1) { Calendar calender = Calendar.getInstance(); calender.setTime(new Date()); calender.add(Calendar.DATE, DAYS_12); @@ -1053,8 +1059,8 @@ public void finishNativeInitialization() { } if (PackageUtils.isFirstInstall(this) - && SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + && ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) == 1) { Calendar calender = Calendar.getInstance(); calender.setTime(new Date()); @@ -1089,28 +1095,29 @@ public void finishNativeInitialization() { String countryCode = Locale.getDefault().getCountry(); if (countryCode.equals(BraveConstants.INDIA_COUNTRY_CODE) - && SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_AD_FREE_CALLOUT_DIALOG, true) - && getActivityTab() != null && getActivityTab().getUrl().getSpec() != null + && ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_AD_FREE_CALLOUT_DIALOG, true) + && getActivityTab() != null + && getActivityTab().getUrl().getSpec() != null && UrlUtilities.isNTPUrl(getActivityTab().getUrl().getSpec()) - && (SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_OPENED_YOUTUBE, false) - || SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + && (ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_OPENED_YOUTUBE, false) + || ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) >= 7)) { showAdFreeCalloutDialog(); } initBraveNewsController(); - if (SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_PLAYLIST, false)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_PLAYLIST, false); + if (ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_PLAYLIST, false)) { + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_PLAYLIST, false); openPlaylist(false); - } else if (SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_VPN, false)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_VPN, false); + } else if (ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_VPN, false)) { + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_VPN, false); handleDeepLinkVpn(); } else if (!mIsDeepLink && OnboardingPrefManager.getInstance().isOnboardingSearchBoxTooltip() @@ -1121,14 +1128,14 @@ && getActivityTab() != null && getActivityTab().getUrl().getSpec() != null // Added to reset app links settings for upgrade case if (!PackageUtils.isFirstInstall(this) - && !SharedPreferencesManager.getInstance().readBoolean( - BravePrivacySettings.PREF_APP_LINKS, true) - && SharedPreferencesManager.getInstance().readBoolean( - BravePrivacySettings.PREF_APP_LINKS_RESET, true)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePrivacySettings.PREF_APP_LINKS, true); - SharedPreferencesManager.getInstance().writeBoolean( - BravePrivacySettings.PREF_APP_LINKS_RESET, false); + && !ChromeSharedPreferences.getInstance() + .readBoolean(BravePrivacySettings.PREF_APP_LINKS, true) + && ChromeSharedPreferences.getInstance() + .readBoolean(BravePrivacySettings.PREF_APP_LINKS_RESET, true)) { + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePrivacySettings.PREF_APP_LINKS, true); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePrivacySettings.PREF_APP_LINKS_RESET, false); } mUsageMonitor = new UsageMonitor(mMiscAndroidMetrics); @@ -1145,13 +1152,16 @@ private void checkForVpnCallout() { if (!countryCode.equals(BraveConstants.INDIA_COUNTRY_CODE) && BraveVpnUtils.isVpnFeatureSupported(BraveActivity.this)) { - if (BraveVpnPrefUtils.shouldShowCallout() && !BraveVpnPrefUtils.isSubscriptionPurchase() - && (SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + if (BraveVpnPrefUtils.shouldShowCallout() + && !BraveVpnPrefUtils.isSubscriptionPurchase() + && (ChromeSharedPreferences.getInstance() + .readInt( + BravePreferenceKeys + .BRAVE_APP_OPEN_COUNT) == 1 && !PackageUtils.isFirstInstall(this)) - || (SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + || (ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) == 7 && PackageUtils.isFirstInstall(this))) { showVpnCalloutDialog(); @@ -1187,9 +1197,10 @@ public void initBraveNewsController() { } private void migrateBgPlaybackToFeature() { - if (SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_BACKGROUND_VIDEO_PLAYBACK_CONVERTED_TO_FEATURE, - false)) { + if (ChromeSharedPreferences.getInstance() + .readBoolean( + BravePreferenceKeys.BRAVE_BACKGROUND_VIDEO_PLAYBACK_CONVERTED_TO_FEATURE, + false)) { if (BravePrefServiceBridge.getInstance().getBackgroundVideoPlaybackEnabled() && ChromeFeatureList.isEnabled( BraveFeatureList.BRAVE_BACKGROUND_VIDEO_PLAYBACK)) { @@ -1201,8 +1212,10 @@ private void migrateBgPlaybackToFeature() { BraveFeatureUtil.enableFeature( BraveFeatureList.BRAVE_BACKGROUND_VIDEO_PLAYBACK_INTERNAL, true, true); } - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_BACKGROUND_VIDEO_PLAYBACK_CONVERTED_TO_FEATURE, true); + ChromeSharedPreferences.getInstance() + .writeBoolean( + BravePreferenceKeys.BRAVE_BACKGROUND_VIDEO_PLAYBACK_CONVERTED_TO_FEATURE, + true); } private void showSearchBoxTooltip() { @@ -1256,11 +1269,11 @@ public void setDormantUsersPrefs() { private void openPlaylist(boolean shouldHandlePlaylistActivity) { if (!shouldHandlePlaylistActivity) mIsDeepLink = true; - if (SharedPreferencesManager.getInstance().readBoolean( - PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, true)) { + if (ChromeSharedPreferences.getInstance() + .readBoolean(PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, true)) { PlaylistUtils.openPlaylistMenuOnboardingActivity(BraveActivity.this); - SharedPreferencesManager.getInstance().writeBoolean( - PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, false); + ChromeSharedPreferences.getInstance() + .writeBoolean(PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, false); } else if (shouldHandlePlaylistActivity) { openPlaylistActivity(BraveActivity.this, ConstantUtils.ALL_PLAYLIST); } @@ -1305,8 +1318,8 @@ private void showLinkVpnSubscriptionDialog() { } private void showAdFreeCalloutDialog() { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_AD_FREE_CALLOUT_DIALOG, false); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_AD_FREE_CALLOUT_DIALOG, false); BraveAdFreeCalloutDialogFragment braveAdFreeCalloutDialogFragment = new BraveAdFreeCalloutDialogFragment(); @@ -1326,11 +1339,12 @@ public void focusSearchBox() { private void checkFingerPrintingOnUpgrade() { if (!PackageUtils.isFirstInstall(this) - && SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + && ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) == 0) { - boolean value = SharedPreferencesManager.getInstance().readBoolean( - BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION, true); + boolean value = + ChromeSharedPreferences.getInstance() + .readBoolean(BravePrivacySettings.PREF_FINGERPRINTING_PROTECTION, true); if (value) { BraveShieldsContentSettings.setShieldsValue(Profile.getLastUsedRegularProfile(), "", BraveShieldsContentSettings.RESOURCE_IDENTIFIER_FINGERPRINTING, @@ -1524,12 +1538,12 @@ private void createNotificationChannel() { } private boolean isNoRestoreState() { - return SharedPreferencesManager.getInstance() + return ChromeSharedPreferences.getInstance() .readBoolean(BravePreferenceKeys.BRAVE_CLOSE_TABS_ON_EXIT, false); } private boolean isClearBrowsingDataOnExit() { - return SharedPreferencesManager.getInstance() + return ChromeSharedPreferences.getInstance() .readBoolean(BravePreferenceKeys.BRAVE_CLEAR_ON_EXIT, false); } diff --git a/android/java/org/chromium/chrome/browser/app/helpers/ImageLoader.java b/android/java/org/chromium/chrome/browser/app/helpers/ImageLoader.java index 7c491b8568b8..53e383a21332 100644 --- a/android/java/org/chromium/chrome/browser/app/helpers/ImageLoader.java +++ b/android/java/org/chromium/chrome/browser/app/helpers/ImageLoader.java @@ -39,8 +39,8 @@ import org.xmlpull.v1.XmlSerializer; import org.chromium.base.ContextUtils; -import org.chromium.chrome.browser.WebContentsFactory; import org.chromium.chrome.browser.app.BraveActivity; +import org.chromium.chrome.browser.content.WebContentsFactory; import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.crypto_wallet.util.WalletConstants; import org.chromium.chrome.browser.profiles.Profile; diff --git a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java index f35d655ce933..a88fa6ab6842 100644 --- a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java +++ b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java @@ -33,7 +33,7 @@ import org.chromium.chrome.browser.playlist.settings.BravePlaylistPreferences; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.readaloud.ReadAloudController; import org.chromium.chrome.browser.set_default_browser.BraveSetDefaultBrowserUtils; import org.chromium.chrome.browser.speedreader.BraveSpeedReaderUtils; @@ -169,8 +169,8 @@ public void prepareMenu(Menu menu, AppMenuHandler handler) { MenuItem bravePlaylist = menu.findItem(R.id.brave_playlist_id); if (bravePlaylist != null) { if (ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST) - && SharedPreferencesManager.getInstance().readBoolean( - BravePlaylistPreferences.PREF_ENABLE_PLAYLIST, true)) { + && ChromeSharedPreferences.getInstance() + .readBoolean(BravePlaylistPreferences.PREF_ENABLE_PLAYLIST, true)) { bravePlaylist.setVisible(true); if (shouldShowIconBeforeItem()) { bravePlaylist.setIcon( diff --git a/android/java/org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge.java b/android/java/org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge.java deleted file mode 100644 index 81033b75f491..000000000000 --- a/android/java/org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (c) 2021 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.autofill; - -import android.app.Activity; -import android.view.View; -import android.view.ViewTreeObserver; - -import androidx.annotation.NonNull; - -import org.chromium.base.annotations.JNINamespace; -import org.chromium.chrome.browser.app.BraveActivity; -import org.chromium.ui.base.WindowAndroid; - -@JNINamespace("autofill") -public class BraveAutofillPopupBridge - extends AutofillPopupBridge implements ViewTreeObserver.OnPreDrawListener { - private View mView; - private BraveActivity mActivity; - private ViewTreeObserver mViewTreeObserver; - - public BraveAutofillPopupBridge(@NonNull View anchorView, long nativeAutofillPopupViewAndroid, - @NonNull WindowAndroid windowAndroid) { - super(anchorView, nativeAutofillPopupViewAndroid, windowAndroid); - - Activity activity = windowAndroid != null ? windowAndroid.getActivity().get() : null; - assert activity instanceof BraveActivity : "Wrong activity type!"; - if (activity instanceof BraveActivity) { - mActivity = (BraveActivity) activity; - } - - mView = anchorView; - mViewTreeObserver = mView.getViewTreeObserver(); - mViewTreeObserver.addOnPreDrawListener(this); - } - - // ViewTreeObserver.OnPreDrawListener implementation. - @Override - public boolean onPreDraw() { - if (mView.isShown() && mActivity != null && !mActivity.isViewBelowToolbar(mView)) { - mView.setY(mActivity.getToolbarBottom()); - } - - // We need to make an adjustment only once. - if (mViewTreeObserver != null && mViewTreeObserver.isAlive()) { - mViewTreeObserver.removeOnPreDrawListener(this); - } - - return true; - } -} diff --git a/android/java/org/chromium/chrome/browser/bookmarks/BraveBookmarkBridge.java b/android/java/org/chromium/chrome/browser/bookmarks/BraveBookmarkBridge.java index ae1be60c5bce..52af69a3d160 100644 --- a/android/java/org/chromium/chrome/browser/bookmarks/BraveBookmarkBridge.java +++ b/android/java/org/chromium/chrome/browser/bookmarks/BraveBookmarkBridge.java @@ -7,8 +7,9 @@ import androidx.appcompat.app.AppCompatActivity; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.CalledByNative; +import org.jni_zero.NativeMethods; + import org.chromium.ui.base.WindowAndroid; class BraveBookmarkBridge extends BookmarkBridge { diff --git a/android/java/org/chromium/chrome/browser/brave_leo/BraveLeoSettingsLauncherHelper.java b/android/java/org/chromium/chrome/browser/brave_leo/BraveLeoSettingsLauncherHelper.java index 76d868d16e93..4112cc314da3 100644 --- a/android/java/org/chromium/chrome/browser/brave_leo/BraveLeoSettingsLauncherHelper.java +++ b/android/java/org/chromium/chrome/browser/brave_leo/BraveLeoSettingsLauncherHelper.java @@ -7,7 +7,8 @@ import android.content.Context; -import org.chromium.base.annotations.CalledByNative; +import org.jni_zero.CalledByNative; + import org.chromium.chrome.browser.settings.BraveLeoPreferences; import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.components.browser_ui.settings.SettingsLauncher; diff --git a/android/java/org/chromium/chrome/browser/brave_news/BraveNewsBottomSheetDialogFragment.java b/android/java/org/chromium/chrome/browser/brave_news/BraveNewsBottomSheetDialogFragment.java index 9323a6585ce0..8d185164c67c 100644 --- a/android/java/org/chromium/chrome/browser/brave_news/BraveNewsBottomSheetDialogFragment.java +++ b/android/java/org/chromium/chrome/browser/brave_news/BraveNewsBottomSheetDialogFragment.java @@ -28,7 +28,7 @@ import org.chromium.brave_news.mojom.BraveNewsController; import org.chromium.brave_news.mojom.UserEnabled; import org.chromium.chrome.R; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.TabUtils; public class BraveNewsBottomSheetDialogFragment extends BottomSheetDialogFragment { @@ -111,28 +111,38 @@ public void onClick(View v) { } }); - disable.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - PostTask.postTask(TaskTraits.BEST_EFFORT, () -> { - if (mBraveNewsController != null) { - // Removes the news source from the fetch list by setting a - // UserEnabled.DISABLED prop for the publisher in question - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_NEWS_CHANGE_SOURCE, true); - mBraveNewsController.setPublisherPref(mPublisherId, UserEnabled.DISABLED); - BraveNewsUtils.disableFollowingPublisherList(mPublisherId); - BraveNewsUtils.setFollowingPublisherList(); + disable.setOnClickListener( + new View.OnClickListener() { + @Override + public void onClick(View v) { + PostTask.postTask( + TaskTraits.BEST_EFFORT, + () -> { + if (mBraveNewsController != null) { + // Removes the news source from the fetch list by setting a + // UserEnabled.DISABLED prop for the publisher in question + ChromeSharedPreferences.getInstance() + .writeBoolean( + BravePreferenceKeys + .BRAVE_NEWS_CHANGE_SOURCE, + true); + mBraveNewsController.setPublisherPref( + mPublisherId, UserEnabled.DISABLED); + BraveNewsUtils.disableFollowingPublisherList(mPublisherId); + BraveNewsUtils.setFollowingPublisherList(); + } + }); + dismiss(); + Toast.makeText( + mContext, + getResources() + .getString( + R.string.brave_news_disabled_content, + mPublisherName), + Toast.LENGTH_SHORT) + .show(); } }); - dismiss(); - Toast.makeText(mContext, - getResources().getString( - R.string.brave_news_disabled_content, mPublisherName), - Toast.LENGTH_SHORT) - .show(); - } - }); share.setOnClickListener(new View.OnClickListener() { @Override diff --git a/android/java/org/chromium/chrome/browser/brave_news/BraveNewsControllerFactory.java b/android/java/org/chromium/chrome/browser/brave_news/BraveNewsControllerFactory.java index 585714600e9c..17e503801ac0 100644 --- a/android/java/org/chromium/chrome/browser/brave_news/BraveNewsControllerFactory.java +++ b/android/java/org/chromium/chrome/browser/brave_news/BraveNewsControllerFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.brave_news; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_news.mojom.BraveNewsController; import org.chromium.mojo.bindings.ConnectionErrorHandler; import org.chromium.mojo.bindings.Interface; diff --git a/android/java/org/chromium/chrome/browser/brave_news/CardBuilderFeedCard.java b/android/java/org/chromium/chrome/browser/brave_news/CardBuilderFeedCard.java index d06be636946e..e81f195ccd32 100644 --- a/android/java/org/chromium/chrome/browser/brave_news/CardBuilderFeedCard.java +++ b/android/java/org/chromium/chrome/browser/brave_news/CardBuilderFeedCard.java @@ -70,7 +70,7 @@ import org.chromium.chrome.browser.brave_news.models.FeedItemsCard; import org.chromium.chrome.browser.local_database.DatabaseHelper; import org.chromium.chrome.browser.local_database.DisplayAdsTable; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.rate.BraveRateDialogFragment; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.util.BraveTouchUtils; @@ -723,9 +723,11 @@ private void showBraveRateDialog() { private void openUrlInSameTabAndSavePosition(String myUrl) { try { - SharedPreferencesManager.getInstance().writeInt( - Integer.toString(BraveActivity.getBraveActivity().getActivityTab().getId()), - mPosition); + ChromeSharedPreferences.getInstance() + .writeInt( + Integer.toString( + BraveActivity.getBraveActivity().getActivityTab().getId()), + mPosition); TabUtils.openUrlInSameTab(myUrl); } catch (BraveActivity.BraveActivityNotFoundException e) { Log.e(TAG, "openUrlInSameTabAndSavePosition " + e); @@ -1305,34 +1307,39 @@ private FeedItemMetadata getItemData(int index) { private void setListeners( View view, String urlString, String creativeInstanceId, boolean isPromo) { DisplayAd displayAd = mNewsItem.getDisplayAd(); - view.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (mBraveNewsController != null) { - if (isPromo) { - // Updates the no. of promotion cards visited - mBraveNewsController.onPromotedItemVisit( - mNewsItem.getUuid(), creativeInstanceId); - } else if (displayAd != null) { - // Updates the no. of ads cards visited - mBraveNewsController.onDisplayAdVisit( - displayAd.uuid, displayAd.creativeInstanceId); - } else { - // Brave News updates the no. of "normal" cards visited - int visitedNewsCardsCount = SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_NEWS_CARDS_VISITED); - visitedNewsCardsCount++; - SharedPreferencesManager.getInstance().writeInt( - BravePreferenceKeys.BRAVE_NEWS_CARDS_VISITED, - visitedNewsCardsCount); - if (visitedNewsCardsCount > 0) { - mBraveNewsController.onSessionCardVisitsCountChanged( - (short) visitedNewsCardsCount); + view.setOnClickListener( + new View.OnClickListener() { + @Override + public void onClick(View v) { + if (mBraveNewsController != null) { + if (isPromo) { + // Updates the no. of promotion cards visited + mBraveNewsController.onPromotedItemVisit( + mNewsItem.getUuid(), creativeInstanceId); + } else if (displayAd != null) { + // Updates the no. of ads cards visited + mBraveNewsController.onDisplayAdVisit( + displayAd.uuid, displayAd.creativeInstanceId); + } else { + // Brave News updates the no. of "normal" cards visited + int visitedNewsCardsCount = + ChromeSharedPreferences.getInstance() + .readInt( + BravePreferenceKeys + .BRAVE_NEWS_CARDS_VISITED); + visitedNewsCardsCount++; + ChromeSharedPreferences.getInstance() + .writeInt( + BravePreferenceKeys.BRAVE_NEWS_CARDS_VISITED, + visitedNewsCardsCount); + if (visitedNewsCardsCount > 0) { + mBraveNewsController.onSessionCardVisitsCountChanged( + (short) visitedNewsCardsCount); + } + } } } - } - } - }); + }); } private void setText(FeedItemMetadata itemData, TextView textView, int type) { diff --git a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsBottomSheetDialogFragment.java b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsBottomSheetDialogFragment.java index 4145825a9a57..0c455f492195 100644 --- a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsBottomSheetDialogFragment.java +++ b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsBottomSheetDialogFragment.java @@ -5,11 +5,13 @@ package org.chromium.chrome.browser.brave_stats; +import android.Manifest; import android.annotation.SuppressLint; import android.app.Dialog; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.util.Pair; import android.view.LayoutInflater; @@ -40,7 +42,6 @@ import org.chromium.chrome.browser.notifications.BravePermissionUtils; import org.chromium.chrome.browser.util.BraveTouchUtils; import org.chromium.ui.base.DeviceFormFactor; -import org.chromium.ui.permissions.PermissionConstants; import java.util.List; @@ -197,7 +198,7 @@ public void onRequestPermissionsResult( public void onResume() { super.onResume(); if (!BravePermissionUtils.hasPermission( - getContext(), PermissionConstants.NOTIFICATION_PERMISSION) + getContext(), Manifest.permission.POST_NOTIFICATIONS) || BravePermissionUtils.isGeneralNotificationPermissionBlocked(getActivity())) { statsNotificationView.setVisibility(View.VISIBLE); } else { @@ -207,23 +208,32 @@ public void onResume() { private void updateNotificationView(View view) { ImageView btnDismiss = view.findViewById(R.id.button_dismiss); - btnDismiss.setOnClickListener(v -> { statsNotificationView.setVisibility(View.GONE); }); + btnDismiss.setOnClickListener( + v -> { + statsNotificationView.setVisibility(View.GONE); + }); View notificationOnButton = view.findViewById(R.id.notification_on_button); - notificationOnButton.setOnClickListener(v -> { - if (BravePermissionUtils.isGeneralNotificationPermissionBlocked(getActivity()) - || getActivity().shouldShowRequestPermissionRationale( - PermissionConstants.NOTIFICATION_PERMISSION) - || (!BuildInfo.isAtLeastT() || !BuildInfo.targetsAtLeastT())) { - // other than android 13 redirect to - // setting page and for android 13 Last time don't allow selected in permission - // dialog, then enable through setting - BravePermissionUtils.notificationSettingPage(getContext()); - } else { - // 1st time request permission - ActivityCompat.requestPermissions(getActivity(), - new String[] {PermissionConstants.NOTIFICATION_PERMISSION}, 1); - } - }); + notificationOnButton.setOnClickListener( + v -> { + if (BravePermissionUtils.isGeneralNotificationPermissionBlocked(getActivity()) + || getActivity() + .shouldShowRequestPermissionRationale( + Manifest.permission.POST_NOTIFICATIONS) + || (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU + || !BuildInfo.targetsAtLeastT())) { + // other than android 13 redirect to + // setting page and for android 13 Last time don't allow selected in + // permission + // dialog, then enable through setting + BravePermissionUtils.notificationSettingPage(getContext()); + } else { + // 1st time request permission + ActivityCompat.requestPermissions( + getActivity(), + new String[] {Manifest.permission.POST_NOTIFICATIONS}, + 1); + } + }); } @Override @@ -238,29 +248,32 @@ private void updateBraveStatsLayoutAsync() { long totalSavedBandwidth; long adsTrackersCountToCheckForMonth; long adsTrackersCountToCheckFor3Month; + @Override protected Void doInBackground() { adsTrackersCount = - mDatabaseHelper - .getAllStatsWithDate(BraveStatsUtil.getCalculatedDate( - "yyyy-MM-dd", selectedDuration), - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)) - .size(); - totalSavedBandwidth = mDatabaseHelper.getTotalSavedBandwidthWithDate( - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", selectedDuration), - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)); + mDatabaseHelper + .getAllStatsWithDate( + BraveStatsUtil.getCalculatedDate( + "yyyy-MM-dd", selectedDuration), + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)) + .size(); + totalSavedBandwidth = + mDatabaseHelper.getTotalSavedBandwidthWithDate( + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", selectedDuration), + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)); adsTrackersCountToCheckForMonth = - mDatabaseHelper - .getAllStatsWithDate( - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_30), - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_7)) - .size(); + mDatabaseHelper + .getAllStatsWithDate( + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_30), + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_7)) + .size(); adsTrackersCountToCheckFor3Month = - mDatabaseHelper - .getAllStatsWithDate( - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_90), - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_30)) - .size(); + mDatabaseHelper + .getAllStatsWithDate( + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_90), + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", DAYS_30)) + .size(); return null; } @@ -269,37 +282,46 @@ protected void onPostExecute(Void result) { assert ThreadUtils.runningOnUiThread(); if (isCancelled()) return; Pair adsTrackersPair = - BraveStatsUtil.getBraveStatsStringFormNumberPair(adsTrackersCount, false); + BraveStatsUtil.getBraveStatsStringFormNumberPair(adsTrackersCount, false); adsTrackersCountText.setText( - String.format(mContext.getResources().getString(R.string.ntp_stat_text), - adsTrackersPair.first, adsTrackersPair.second)); + String.format( + mContext.getResources().getString(R.string.ntp_stat_text), + adsTrackersPair.first, + adsTrackersPair.second)); Pair dataSavedPair = - BraveStatsUtil.getBraveStatsStringFormNumberPair(totalSavedBandwidth, true); + BraveStatsUtil.getBraveStatsStringFormNumberPair(totalSavedBandwidth, true); dataSavedCountText.setText(dataSavedPair.first); boolean isTablet = DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext); if (isTablet) { adsTrackersText.setText( - String.format(mContext.getResources().getString(R.string.trackers_and_ads), - dataSavedPair.second)); + String.format( + mContext.getResources().getString(R.string.trackers_and_ads), + dataSavedPair.second)); dataSavedText.setText( - String.format(mContext.getResources().getString(R.string.data_saved_tablet_text), - dataSavedPair.second)); + String.format( + mContext.getResources() + .getString(R.string.data_saved_tablet_text), + dataSavedPair.second)); } else { adsTrackersText.setText( - String.format(mContext.getResources().getString(R.string.ads_trackers_text), - dataSavedPair.second)); + String.format( + mContext.getResources().getString(R.string.ads_trackers_text), + dataSavedPair.second)); dataSavedText.setText( - String.format(mContext.getResources().getString(R.string.data_saved_text), - dataSavedPair.second)); + String.format( + mContext.getResources().getString(R.string.data_saved_text), + dataSavedPair.second)); } long timeSavedCount = adsTrackersCount * BraveStatsUtil.MILLISECONDS_PER_ITEM; Pair timeSavedPair = BraveStatsUtil.getBraveStatsStringFromTime(timeSavedCount / 1000); timeSavedCountText.setText( - String.format(mContext.getResources().getString(R.string.ntp_stat_text), - timeSavedPair.first, timeSavedPair.second)); + String.format( + mContext.getResources().getString(R.string.ntp_stat_text), + timeSavedPair.first, + timeSavedPair.second)); timeSavedText.setText(mContext.getResources().getString(R.string.time_saved_text)); if (adsTrackersCount > 0) { @@ -333,16 +355,21 @@ protected void onPostExecute(Void result) { private void showWebsitesTrackers() { new AsyncTask() { List> websiteTrackers; + @Override protected Void doInBackground() { if (selectedType == WEBSITES) { - websiteTrackers = mDatabaseHelper.getStatsWithDate( - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", selectedDuration), - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)); + websiteTrackers = + mDatabaseHelper.getStatsWithDate( + BraveStatsUtil.getCalculatedDate( + "yyyy-MM-dd", selectedDuration), + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)); } else { - websiteTrackers = mDatabaseHelper.getSitesWithDate( - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", selectedDuration), - BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)); + websiteTrackers = + mDatabaseHelper.getSitesWithDate( + BraveStatsUtil.getCalculatedDate( + "yyyy-MM-dd", selectedDuration), + BraveStatsUtil.getCalculatedDate("yyyy-MM-dd", 0)); } return null; } @@ -368,24 +395,28 @@ protected void onPostExecute(Void result) { for (Pair statPair : websiteTrackers) { LayoutInflater inflater = LayoutInflater.from(mContext); ViewGroup layout = - (ViewGroup) inflater.inflate(R.layout.tracker_item_layout, null); + (ViewGroup) inflater.inflate(R.layout.tracker_item_layout, null); TextView mTrackerCountText = - (TextView) layout.findViewById(R.id.tracker_count_text); + (TextView) layout.findViewById(R.id.tracker_count_text); TextView mSiteText = (TextView) layout.findViewById(R.id.site_text); mTrackerCountText.setText(String.valueOf(statPair.second)); mSiteText.setText(statPair.first); if (GlobalNightModeStateProviderHolder.getInstance().isInNightMode()) { - mSiteText.setTextColor(mContext.getResources().getColor( - R.color.brave_stats_text_dark_color)); - mTrackerCountText.setTextColor(mContext.getResources().getColor( - R.color.brave_stats_text_dark_color)); + mSiteText.setTextColor( + mContext.getResources() + .getColor(R.color.brave_stats_text_dark_color)); + mTrackerCountText.setTextColor( + mContext.getResources() + .getColor(R.color.brave_stats_text_dark_color)); } else { - mSiteText.setTextColor(mContext.getResources().getColor( - R.color.brave_stats_text_light_color)); - mTrackerCountText.setTextColor(mContext.getResources().getColor( - R.color.brave_stats_text_light_color)); + mSiteText.setTextColor( + mContext.getResources() + .getColor(R.color.brave_stats_text_light_color)); + mTrackerCountText.setTextColor( + mContext.getResources() + .getColor(R.color.brave_stats_text_light_color)); } rootView.addView(layout); diff --git a/android/java/org/chromium/chrome/browser/component_updater/BraveComponentUpdater.java b/android/java/org/chromium/chrome/browser/component_updater/BraveComponentUpdater.java index c6f47f2e9c56..94a29319da16 100644 --- a/android/java/org/chromium/chrome/browser/component_updater/BraveComponentUpdater.java +++ b/android/java/org/chromium/chrome/browser/component_updater/BraveComponentUpdater.java @@ -5,14 +5,14 @@ package org.chromium.chrome.browser.component_updater; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; import org.json.JSONException; import org.json.JSONObject; import org.chromium.base.Log; import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; diff --git a/android/java/org/chromium/chrome/browser/crash/BravePureJavaExceptionReporter.java b/android/java/org/chromium/chrome/browser/crash/BravePureJavaExceptionReporter.java index d02643ebfe87..baf8e17fc73a 100644 --- a/android/java/org/chromium/chrome/browser/crash/BravePureJavaExceptionReporter.java +++ b/android/java/org/chromium/chrome/browser/crash/BravePureJavaExceptionReporter.java @@ -5,12 +5,10 @@ package org.chromium.chrome.browser.crash; -import org.chromium.build.annotations.MainDex; import org.chromium.build.annotations.UsedByReflection; import java.io.File; -@MainDex @UsedByReflection("SplitCompatApplication.java") public class BravePureJavaExceptionReporter extends ChromePureJavaExceptionReporter { @UsedByReflection("SplitCompatApplication.java") diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/AssetRatioServiceFactory.java b/android/java/org/chromium/chrome/browser/crypto_wallet/AssetRatioServiceFactory.java index 352af19a9318..9d4a0d9cf5e9 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/AssetRatioServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/AssetRatioServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_wallet.mojom.AssetRatioService; import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/BlockchainRegistryFactory.java b/android/java/org/chromium/chrome/browser/crypto_wallet/BlockchainRegistryFactory.java index 9f500e97d609..dff95d1b02d0 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/BlockchainRegistryFactory.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/BlockchainRegistryFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_wallet.mojom.BlockchainRegistry; import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletProviderDelegateImplHelper.java b/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletProviderDelegateImplHelper.java index d820bbb7f1f2..35fc849f56a2 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletProviderDelegateImplHelper.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletProviderDelegateImplHelper.java @@ -5,11 +5,12 @@ package org.chromium.chrome.browser.crypto_wallet; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.base.Callback; import org.chromium.base.Log; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import org.chromium.brave_wallet.mojom.CoinType; import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.settings.BraveWalletPreferences; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletServiceFactory.java b/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletServiceFactory.java index fe2042e5a77a..d81f52c3abfb 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/BraveWalletServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_wallet.mojom.BraveWalletP3a; import org.chromium.brave_wallet.mojom.BraveWalletService; import org.chromium.chrome.browser.crypto_wallet.util.Utils; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/JsonRpcServiceFactory.java b/android/java/org/chromium/chrome/browser/crypto_wallet/JsonRpcServiceFactory.java index 8c1d8df8e04d..d06a0c923d60 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/JsonRpcServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/JsonRpcServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_wallet.mojom.JsonRpcService; import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/KeyringServiceFactory.java b/android/java/org/chromium/chrome/browser/crypto_wallet/KeyringServiceFactory.java index 57be10b07378..5b592ff5b1a9 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/KeyringServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/KeyringServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_wallet.mojom.KeyringService; import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/SwapServiceFactory.java b/android/java/org/chromium/chrome/browser/crypto_wallet/SwapServiceFactory.java index 9b6607e7ba2b..3540f6342021 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/SwapServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/SwapServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_wallet.mojom.SwapService; import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/TxServiceFactory.java b/android/java/org/chromium/chrome/browser/crypto_wallet/TxServiceFactory.java index 49cd769ad728..23831d111161 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/TxServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/TxServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_wallet.mojom.EthTxManagerProxy; import org.chromium.brave_wallet.mojom.SolanaTxManagerProxy; import org.chromium.brave_wallet.mojom.TxService; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/activities/AssetDetailActivity.java b/android/java/org/chromium/chrome/browser/crypto_wallet/activities/AssetDetailActivity.java index dbe4f3304ea1..ad07ea4767c8 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/activities/AssetDetailActivity.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/activities/AssetDetailActivity.java @@ -65,7 +65,7 @@ import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.crypto_wallet.util.WalletConstants; import org.chromium.chrome.browser.crypto_wallet.web_ui.WebUiActivityType; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.util.TabUtils; @@ -248,9 +248,9 @@ mAssetSymbol, getResources().getDisplayMetrics().density, assetTitleText, this, auroraDialogBuilder.setView(dialogView); AlertDialog auroraDialog = auroraDialogBuilder.create(); - SharedPreferencesManager preferencesManager = SharedPreferencesManager.getInstance(); - mShouldShowDialog = preferencesManager.readBoolean( - WalletConstants.PREF_SHOW_BRIDGE_INFO_DIALOG, true); + mShouldShowDialog = + ChromeSharedPreferences.getInstance() + .readBoolean(WalletConstants.PREF_SHOW_BRIDGE_INFO_DIALOG, true); TextView message = dialogView.findViewById(R.id.dialog_aurora_desc); TextView title = dialogView.findViewById(R.id.dialog_aurora_tv_title); @@ -265,11 +265,13 @@ mAssetSymbol, getResources().getDisplayMetrics().density, assetTitleText, this, getString(R.string.brave_wallet_rainbow_bridge))); CheckBox checkBox = dialogView.findViewById(R.id.dialog_aurora_cb_dont_show); checkBox.setChecked(!mShouldShowDialog); - checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> { - preferencesManager.writeBoolean( - WalletConstants.PREF_SHOW_BRIDGE_INFO_DIALOG, !isChecked); - mShouldShowDialog = !isChecked; - }); + checkBox.setOnCheckedChangeListener( + (buttonView, isChecked) -> { + ChromeSharedPreferences.getInstance() + .writeBoolean( + WalletConstants.PREF_SHOW_BRIDGE_INFO_DIALOG, !isChecked); + mShouldShowDialog = !isChecked; + }); message.setMovementMethod(LinkMovementMethod.getInstance()); message.setText(getString(R.string.brave_wallet_aurora_modal_description, diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/NftGridFragment.java b/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/NftGridFragment.java index 9800c782bb70..6f6b7b0fbf7e 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/NftGridFragment.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/NftGridFragment.java @@ -60,7 +60,7 @@ import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.crypto_wallet.util.WalletConstants; import org.chromium.chrome.browser.custom_layout.AutoFitVerticalGridLayoutManager; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.TabUtils; import org.chromium.ui.text.NoUnderlineClickableSpan; import org.chromium.ui.text.SpanApplier; @@ -201,10 +201,10 @@ public void onResume() { mActive = true; recordP3AView(); - if (JavaUtils.anyNull(mWalletModel) || !mCanRunOnceWhenResumed - || !SharedPreferencesManager.getInstance().readBoolean( - SHOW_NFT_DISCOVERY_DIALOG, true)) - return; + if (JavaUtils.anyNull(mWalletModel) + || !mCanRunOnceWhenResumed + || !ChromeSharedPreferences.getInstance() + .readBoolean(SHOW_NFT_DISCOVERY_DIALOG, true)) return; mWalletModel.getCryptoModel().isNftDiscoveryEnabled(isNftDiscoveryEnabled -> { if (!isNftDiscoveryEnabled) { @@ -332,15 +332,19 @@ private void showNftDiscoveryDialog() { nftDiscoveryDialogBuilder.setView(dialogView); var dialog = nftDiscoveryDialogBuilder.create(); - enableBtn.setOnClickListener(v -> { - dialog.dismiss(); - mWalletModel.getCryptoModel().updateNftDiscovery(true); - SharedPreferencesManager.getInstance().writeBoolean(SHOW_NFT_DISCOVERY_DIALOG, false); - }); - cancelBtn.setOnClickListener(v -> { - dialog.dismiss(); - SharedPreferencesManager.getInstance().writeBoolean(SHOW_NFT_DISCOVERY_DIALOG, false); - }); + enableBtn.setOnClickListener( + v -> { + dialog.dismiss(); + mWalletModel.getCryptoModel().updateNftDiscovery(true); + ChromeSharedPreferences.getInstance() + .writeBoolean(SHOW_NFT_DISCOVERY_DIALOG, false); + }); + cancelBtn.setOnClickListener( + v -> { + dialog.dismiss(); + ChromeSharedPreferences.getInstance() + .writeBoolean(SHOW_NFT_DISCOVERY_DIALOG, false); + }); dialog.show(); } diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/dapps/ConnectAccountFragment.java b/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/dapps/ConnectAccountFragment.java index c8172f49af87..c6bb0ee8056c 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/dapps/ConnectAccountFragment.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/fragments/dapps/ConnectAccountFragment.java @@ -20,10 +20,11 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment; +import org.jni_zero.CalledByNative; +import org.jni_zero.NativeMethods; + import org.chromium.base.Callback; import org.chromium.base.Log; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.NativeMethods; import org.chromium.brave_wallet.mojom.AccountInfo; import org.chromium.brave_wallet.mojom.CoinType; import org.chromium.brave_wallet.mojom.PermissionLifetimeOption; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/permission/BraveDappPermissionPromptDialog.java b/android/java/org/chromium/chrome/browser/crypto_wallet/permission/BraveDappPermissionPromptDialog.java index c706b052f12c..babc1d92e069 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/permission/BraveDappPermissionPromptDialog.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/permission/BraveDappPermissionPromptDialog.java @@ -19,9 +19,10 @@ import com.google.android.material.card.MaterialCardView; +import org.jni_zero.CalledByNative; +import org.jni_zero.NativeMethods; + import org.chromium.base.Log; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.NativeMethods; import org.chromium.brave_wallet.mojom.AccountInfo; import org.chromium.brave_wallet.mojom.BraveWalletService; import org.chromium.brave_wallet.mojom.CoinType; diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/util/KeystoreHelper.java b/android/java/org/chromium/chrome/browser/crypto_wallet/util/KeystoreHelper.java index 7e839b3d635b..db982074c224 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/util/KeystoreHelper.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/util/KeystoreHelper.java @@ -10,7 +10,7 @@ import android.util.Base64; import org.chromium.base.BravePreferenceKeys; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import java.io.IOException; import java.io.UnsupportedEncodingException; @@ -41,8 +41,8 @@ public static void useBiometricOnUnlock(String text) { return; } - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_USE_BIOMETRICS_FOR_WALLET, true); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_USE_BIOMETRICS_FOR_WALLET, true); } private static boolean encryptText(String text) { @@ -81,15 +81,16 @@ private static void saveToSharedPref(byte[] iv, byte[] encrypted) { String ivBase64 = Base64.encodeToString(iv, Base64.DEFAULT); String encryptedBase64 = Base64.encodeToString(encrypted, Base64.DEFAULT); - SharedPreferencesManager.getInstance().writeString( - BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_IV, ivBase64); - SharedPreferencesManager.getInstance().writeString( - BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_ENCRYPTED, encryptedBase64); + ChromeSharedPreferences.getInstance() + .writeString(BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_IV, ivBase64); + ChromeSharedPreferences.getInstance() + .writeString( + BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_ENCRYPTED, encryptedBase64); } public static boolean shouldUseBiometricOnUnlock() { - return SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_USE_BIOMETRICS_FOR_WALLET, false); + return ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_USE_BIOMETRICS_FOR_WALLET, false); } public static String decryptText() @@ -97,10 +98,12 @@ public static String decryptText() InvalidAlgorithmParameterException, BadPaddingException, UnsupportedEncodingException, IOException, NoSuchPaddingException, UnrecoverableEntryException, InvalidKeyException, IllegalBlockSizeException { - String ivBase64 = SharedPreferencesManager.getInstance().readString( - BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_IV, ""); - String encryptedBase64 = SharedPreferencesManager.getInstance().readString( - BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_ENCRYPTED, ""); + String ivBase64 = + ChromeSharedPreferences.getInstance() + .readString(BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_IV, ""); + String encryptedBase64 = + ChromeSharedPreferences.getInstance() + .readString(BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_ENCRYPTED, ""); if (ivBase64.isEmpty() || encryptedBase64.isEmpty()) { return ""; } @@ -118,9 +121,11 @@ public static String decryptText() } public static void resetBiometric() { - SharedPreferencesManager manager = SharedPreferencesManager.getInstance(); - manager.removeKey(BravePreferenceKeys.BRAVE_USE_BIOMETRICS_FOR_WALLET); - manager.removeKey(BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_ENCRYPTED); - manager.removeKey(BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_IV); + ChromeSharedPreferences.getInstance() + .removeKey(BravePreferenceKeys.BRAVE_USE_BIOMETRICS_FOR_WALLET); + ChromeSharedPreferences.getInstance() + .removeKey(BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_ENCRYPTED); + ChromeSharedPreferences.getInstance() + .removeKey(BravePreferenceKeys.BRAVE_BIOMETRICS_FOR_WALLET_IV); } } diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/util/TokenUtils.java b/android/java/org/chromium/chrome/browser/crypto_wallet/util/TokenUtils.java index b212f8107d06..2cc471e5d042 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/util/TokenUtils.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/util/TokenUtils.java @@ -5,6 +5,7 @@ package org.chromium.chrome.browser.crypto_wallet.util; +import android.annotation.SuppressLint; import android.text.TextUtils; import androidx.annotation.NonNull; @@ -119,6 +120,7 @@ public static void getVisibleUserAssetsFiltered(BraveWalletService braveWalletSe }); } + @SuppressLint("WrongCommentType") /* * Wrapper for {@link BlockchainRegistry#getAllTokens} with Goerli contract address * modifications. @@ -126,8 +128,11 @@ public static void getVisibleUserAssetsFiltered(BraveWalletService braveWalletSe * Note:: all calls to {@link BlockchainRegistry#getAllTokens} should be intercepted by * this method. */ - public static void getAllTokens(@NonNull BlockchainRegistry blockchainRegistry, String chainId, - int coinType, Callbacks.Callback1 callback) { + public static void getAllTokens( + @NonNull BlockchainRegistry blockchainRegistry, + String chainId, + int coinType, + Callbacks.Callback1 callback) { blockchainRegistry.getAllTokens(chainId, coinType, tokens -> callback.call(Utils.fixupTokensRegistry(tokens, chainId))); } diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstaller.java b/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstaller.java index f2621aad87d9..b74b340dd335 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstaller.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstaller.java @@ -5,8 +5,8 @@ package org.chromium.chrome.browser.crypto_wallet.util; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; /** * Class for JNI interaction with wallet_data_files_installer_android.cc diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstallerUtil.java b/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstallerUtil.java index 225e838fee21..cf9c8c5ac5ef 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstallerUtil.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletDataFilesInstallerUtil.java @@ -5,7 +5,7 @@ package org.chromium.chrome.browser.crypto_wallet.util; -import org.chromium.base.annotations.CalledByNative; +import org.jni_zero.CalledByNative; /** * Class that is used by wallet_data_files_installer.cc to determine, if we need to download diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletNativeUtils.java b/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletNativeUtils.java index a1f93feb46de..2feaa317513a 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletNativeUtils.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/util/WalletNativeUtils.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.crypto_wallet.util; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.browser.profiles.Profile; @JNINamespace("chrome::android") diff --git a/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java b/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java index 1bffa1ffae97..3a57a3a791e6 100644 --- a/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java +++ b/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java @@ -47,7 +47,7 @@ import org.chromium.chrome.browser.onboarding.OnboardingPrefManager; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl; import org.chromium.chrome.browser.set_default_browser.BraveSetDefaultBrowserUtils; import org.chromium.chrome.browser.util.BraveConstants; @@ -110,42 +110,51 @@ private void initializeViews() { private void checkReferral() { InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(this).build(); - referrerClient.startConnection(new InstallReferrerStateListener() { - @Override - public void onInstallReferrerSetupFinished(int responseCode) { - switch (responseCode) { - case InstallReferrerResponse.OK: - try { - ReferrerDetails response = referrerClient.getInstallReferrer(); - String referrerUrl = response.getInstallReferrer(); - if (referrerUrl == null) return; - - if (referrerUrl.equals(BraveConstants.DEEPLINK_ANDROID_PLAYLIST)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_PLAYLIST, true); - } else if (referrerUrl.equals(BraveConstants.DEEPLINK_ANDROID_VPN)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_DEFERRED_DEEPLINK_VPN, true); - } - } catch (RemoteException e) { - Log.e(TAG, "Could not get referral: " + e.getMessage()); + referrerClient.startConnection( + new InstallReferrerStateListener() { + @Override + public void onInstallReferrerSetupFinished(int responseCode) { + switch (responseCode) { + case InstallReferrerResponse.OK: + try { + ReferrerDetails response = referrerClient.getInstallReferrer(); + String referrerUrl = response.getInstallReferrer(); + if (referrerUrl == null) return; + + if (referrerUrl.equals( + BraveConstants.DEEPLINK_ANDROID_PLAYLIST)) { + ChromeSharedPreferences.getInstance() + .writeBoolean( + BravePreferenceKeys + .BRAVE_DEFERRED_DEEPLINK_PLAYLIST, + true); + } else if (referrerUrl.equals( + BraveConstants.DEEPLINK_ANDROID_VPN)) { + ChromeSharedPreferences.getInstance() + .writeBoolean( + BravePreferenceKeys + .BRAVE_DEFERRED_DEEPLINK_VPN, + true); + } + } catch (RemoteException e) { + Log.e(TAG, "Could not get referral: " + e.getMessage()); + } + // Connection established. + break; + case InstallReferrerResponse.FEATURE_NOT_SUPPORTED: + // API not available on the current Play Store app. + Log.e(TAG, "InstallReferrerResponse.FEATURE_NOT_SUPPORTED"); + break; + case InstallReferrerResponse.SERVICE_UNAVAILABLE: + // Connection couldn't be established. + Log.e(TAG, "InstallReferrerResponse.SERVICE_UNAVAILABLE"); + break; } - // Connection established. - break; - case InstallReferrerResponse.FEATURE_NOT_SUPPORTED: - // API not available on the current Play Store app. - Log.e(TAG, "InstallReferrerResponse.FEATURE_NOT_SUPPORTED"); - break; - case InstallReferrerResponse.SERVICE_UNAVAILABLE: - // Connection couldn't be established. - Log.e(TAG, "InstallReferrerResponse.SERVICE_UNAVAILABLE"); - break; - } - } + } - @Override - public void onInstallReferrerServiceDisconnected() {} - }); + @Override + public void onInstallReferrerServiceDisconnected() {} + }); } private void initViews() { @@ -407,8 +416,8 @@ public void onCheckedChanged( OnboardingPrefManager.getInstance().setP3aOnboardingShown(true); OnboardingPrefManager.getInstance().setOnboardingSearchBoxTooltip(true); FirstRunStatus.setFirstRunFlowComplete(true); - SharedPreferencesManager.getInstance().writeBoolean( - ChromePreferenceKeys.FIRST_RUN_CACHED_TOS_ACCEPTED, true); + ChromeSharedPreferences.getInstance() + .writeBoolean(ChromePreferenceKeys.FIRST_RUN_CACHED_TOS_ACCEPTED, true); FirstRunUtils.setEulaAccepted(); finish(); sendFirstRunCompletePendingIntent(); diff --git a/android/java/org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController.java b/android/java/org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController.java new file mode 100644 index 000000000000..cc921681f6f7 --- /dev/null +++ b/android/java/org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController.java @@ -0,0 +1,29 @@ +/* Copyright (c) 2023 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.identity_disc; + +import android.content.Context; + +import org.chromium.base.supplier.ObservableSupplier; +import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; +import org.chromium.chrome.browser.profiles.Profile; + +/** Brave's implementation for IdentityDiscController. */ +public class BraveIdentityDiscController extends IdentityDiscController { + public BraveIdentityDiscController( + Context context, + ActivityLifecycleDispatcher activityLifecycleDispatcher, + ObservableSupplier profileSupplier) { + super(context, activityLifecycleDispatcher, profileSupplier); + } + + /* + * We want to override `IdentityDiscController#calculateButtonData` via asm + * to avoid enabling identity button on the home page + * as this button only meant to be used with Google account. + */ + public void calculateButtonData() {} +} diff --git a/android/java/org/chromium/chrome/browser/informers/BraveSyncAccountDeletedInformer.java b/android/java/org/chromium/chrome/browser/informers/BraveSyncAccountDeletedInformer.java index 7fee7291935f..f276c9c9be43 100644 --- a/android/java/org/chromium/chrome/browser/informers/BraveSyncAccountDeletedInformer.java +++ b/android/java/org/chromium/chrome/browser/informers/BraveSyncAccountDeletedInformer.java @@ -5,9 +5,10 @@ package org.chromium.chrome.browser.informers; +import org.jni_zero.CalledByNative; + import org.chromium.base.ContextUtils; import org.chromium.base.Log; -import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveSyncWorker; import org.chromium.chrome.browser.app.BraveActivity; diff --git a/android/java/org/chromium/chrome/browser/misc_metrics/MiscAndroidMetricsFactory.java b/android/java/org/chromium/chrome/browser/misc_metrics/MiscAndroidMetricsFactory.java index 4da2fe7e2467..eab7711037fa 100644 --- a/android/java/org/chromium/chrome/browser/misc_metrics/MiscAndroidMetricsFactory.java +++ b/android/java/org/chromium/chrome/browser/misc_metrics/MiscAndroidMetricsFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.misc_metrics; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.misc_metrics.mojom.MiscAndroidMetrics; diff --git a/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java b/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java index e4ee04d2ca98..0615595bb515 100644 --- a/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java +++ b/android/java/org/chromium/chrome/browser/night_mode/settings/BraveThemePreferences.java @@ -13,13 +13,14 @@ import androidx.annotation.Nullable; import androidx.preference.Preference; +import org.chromium.base.shared_preferences.SharedPreferencesManager; import org.chromium.chrome.R; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; import org.chromium.chrome.browser.night_mode.ThemeType; import org.chromium.chrome.browser.night_mode.WebContentsDarkModeController; import org.chromium.chrome.browser.ntp_background_images.NTPBackgroundImagesBridge; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.components.browser_ui.settings.SettingsUtils; @@ -46,7 +47,7 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, String root } } - SharedPreferencesManager sharedPreferencesManager = SharedPreferencesManager.getInstance(); + SharedPreferencesManager sharedPreferencesManager = ChromeSharedPreferences.getInstance(); BraveRadioButtonGroupThemePreference radioButtonGroupThemePreference = (BraveRadioButtonGroupThemePreference) findPreference(PREF_UI_THEME_PREF); diff --git a/android/java/org/chromium/chrome/browser/notifications/BraveNotificationPlatformBridge.java b/android/java/org/chromium/chrome/browser/notifications/BraveNotificationPlatformBridge.java index 62956d143bab..7ae2d69f1464 100644 --- a/android/java/org/chromium/chrome/browser/notifications/BraveNotificationPlatformBridge.java +++ b/android/java/org/chromium/chrome/browser/notifications/BraveNotificationPlatformBridge.java @@ -11,9 +11,10 @@ import android.content.Intent; import android.graphics.Bitmap; +import org.jni_zero.CalledByNative; + import org.chromium.base.ApplicationStatus; import org.chromium.base.ContextUtils; -import org.chromium.base.annotations.CalledByNative; public class BraveNotificationPlatformBridge extends NotificationPlatformBridge { private static final int[] EMPTY_VIBRATION_PATTERN = new int[0]; diff --git a/android/java/org/chromium/chrome/browser/notifications/BraveNotificationSettingsBridge.java b/android/java/org/chromium/chrome/browser/notifications/BraveNotificationSettingsBridge.java index 0fa984fda905..ab045ab5562e 100644 --- a/android/java/org/chromium/chrome/browser/notifications/BraveNotificationSettingsBridge.java +++ b/android/java/org/chromium/chrome/browser/notifications/BraveNotificationSettingsBridge.java @@ -10,7 +10,7 @@ import android.annotation.TargetApi; import android.os.Build; -import org.chromium.base.annotations.CalledByNative; +import org.jni_zero.CalledByNative; /** * This class provides our native code to access NotificationSettingsBridge diff --git a/android/java/org/chromium/chrome/browser/notifications/BravePermissionUtils.java b/android/java/org/chromium/chrome/browser/notifications/BravePermissionUtils.java index 4303e6edf18e..99134e709210 100644 --- a/android/java/org/chromium/chrome/browser/notifications/BravePermissionUtils.java +++ b/android/java/org/chromium/chrome/browser/notifications/BravePermissionUtils.java @@ -7,6 +7,7 @@ package org.chromium.chrome.browser.notifications; +import android.Manifest; import android.app.Activity; import android.app.NotificationChannelGroup; import android.app.NotificationManager; @@ -20,7 +21,6 @@ import androidx.core.content.ContextCompat; import org.chromium.chrome.browser.notifications.channels.BraveChannelDefinitions; -import org.chromium.ui.permissions.PermissionConstants; /** * This class is for settings permission related checks @@ -30,7 +30,7 @@ public class BravePermissionUtils { private static final String APP_UID = "app_uid"; public static boolean hasNotificationPermission(Context context) { - return hasPermission(context, PermissionConstants.NOTIFICATION_PERMISSION); + return hasPermission(context, Manifest.permission.POST_NOTIFICATIONS); } public static Boolean hasPermission(Context context, String permission) { diff --git a/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java b/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java index 0c46444890c6..505d19b967bd 100644 --- a/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java +++ b/android/java/org/chromium/chrome/browser/ntp/BraveNtpAdapter.java @@ -49,7 +49,7 @@ import org.chromium.chrome.browser.ntp_background_images.model.Wallpaper; import org.chromium.chrome.browser.ntp_background_images.util.NTPUtil; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.settings.BackgroundImagesPreferences; import org.chromium.chrome.browser.util.BraveConstants; @@ -130,10 +130,12 @@ public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int positi if (holder instanceof StatsViewHolder) { StatsViewHolder statsViewHolder = (StatsViewHolder) holder; - statsViewHolder.hideStatsImg.setOnClickListener(view -> { - SharedPreferencesManager.getInstance().writeBoolean( - BackgroundImagesPreferences.PREF_SHOW_BRAVE_STATS, false); - }); + statsViewHolder.hideStatsImg.setOnClickListener( + view -> { + ChromeSharedPreferences.getInstance() + .writeBoolean( + BackgroundImagesPreferences.PREF_SHOW_BRAVE_STATS, false); + }); List> statsPairs = BraveStatsUtil.getStatsPairs(); statsViewHolder.adsBlockedCountTv.setText(statsPairs.get(0).first); diff --git a/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java b/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java index 0b58f405caaf..2d78627bbc3f 100644 --- a/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java +++ b/android/java/org/chromium/chrome/browser/ntp_background_images/NTPBackgroundImagesBridge.java @@ -7,10 +7,11 @@ import androidx.annotation.Nullable; +import org.jni_zero.CalledByNative; +import org.jni_zero.NativeMethods; + import org.chromium.base.ObserverList; import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.NativeMethods; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.ntp_background_images.model.BackgroundImage; import org.chromium.chrome.browser.ntp_background_images.model.ImageCredit; diff --git a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediatorBase.java b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediatorBase.java index 7eb171983738..f6998d01d595 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediatorBase.java +++ b/android/java/org/chromium/chrome/browser/omnibox/suggestions/BraveAutocompleteMediatorBase.java @@ -16,12 +16,25 @@ import org.chromium.url.GURL; class BraveAutocompleteMediatorBase { - void loadUrlForOmniboxMatch(int matchIndex, @NonNull AutocompleteMatch suggestion, - @NonNull GURL url, long inputStart, boolean inVisibleSuggestionList, + void loadUrlForOmniboxMatch( + int matchIndex, + @NonNull AutocompleteMatch suggestion, + @NonNull GURL url, + long inputStart, boolean openInNewTab) { - BraveReflectionUtil.InvokeMethod(AutocompleteMediator.class, this, "loadUrlForOmniboxMatch", - int.class, matchIndex, AutocompleteMatch.class, suggestion, GURL.class, url, - long.class, inputStart, boolean.class, inVisibleSuggestionList, boolean.class, + BraveReflectionUtil.InvokeMethod( + AutocompleteMediator.class, + this, + "loadUrlForOmniboxMatch", + int.class, + matchIndex, + AutocompleteMatch.class, + suggestion, + GURL.class, + url, + long.class, + inputStart, + boolean.class, openInNewTab); if (suggestion.getType() == OmniboxSuggestionType.SEARCH_WHAT_YOU_TYPED || suggestion.getType() == OmniboxSuggestionType.SEARCH_SUGGEST) { diff --git a/android/java/org/chromium/chrome/browser/playlist/PlaylistHostActivity.java b/android/java/org/chromium/chrome/browser/playlist/PlaylistHostActivity.java index 5c3c2b1bae29..51f704346b4a 100644 --- a/android/java/org/chromium/chrome/browser/playlist/PlaylistHostActivity.java +++ b/android/java/org/chromium/chrome/browser/playlist/PlaylistHostActivity.java @@ -33,7 +33,7 @@ import org.chromium.chrome.browser.init.AsyncInitializationActivity; import org.chromium.chrome.browser.playlist.PlaylistServiceObserverImpl.PlaylistServiceObserverImplDelegate; import org.chromium.chrome.browser.playlist.settings.BravePlaylistPreferences; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.TabUtils; import org.chromium.mojo.bindings.ConnectionErrorHandler; import org.chromium.mojo.system.MojoException; @@ -56,8 +56,8 @@ public class PlaylistHostActivity extends AsyncInitializationActivity @Override public void onConnectionError(MojoException e) { if (ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST) - && SharedPreferencesManager.getInstance().readBoolean( - BravePlaylistPreferences.PREF_ENABLE_PLAYLIST, true)) { + && ChromeSharedPreferences.getInstance() + .readBoolean(BravePlaylistPreferences.PREF_ENABLE_PLAYLIST, true)) { mPlaylistService = null; initPlaylistService(); } diff --git a/android/java/org/chromium/chrome/browser/playlist/PlaylistServiceFactoryAndroid.java b/android/java/org/chromium/chrome/browser/playlist/PlaylistServiceFactoryAndroid.java index 866041e12a43..eb0c8d492609 100644 --- a/android/java/org/chromium/chrome/browser/playlist/PlaylistServiceFactoryAndroid.java +++ b/android/java/org/chromium/chrome/browser/playlist/PlaylistServiceFactoryAndroid.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.playlist; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.mojo.bindings.ConnectionErrorHandler; diff --git a/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistPreferences.java b/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistPreferences.java index e637fb5e9207..baf51fa123f2 100644 --- a/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistPreferences.java +++ b/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistPreferences.java @@ -17,7 +17,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveRelaunchUtils; import org.chromium.chrome.browser.playlist.PlaylistServiceFactoryAndroid; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.settings.BravePreferenceFragment; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; import org.chromium.components.browser_ui.settings.SettingsUtils; @@ -77,7 +77,7 @@ public void onActivityCreated(Bundle savedInstanceState) { }); updatePlaylistSettingsState( - SharedPreferencesManager.getInstance().readBoolean(PREF_ENABLE_PLAYLIST, true)); + ChromeSharedPreferences.getInstance().readBoolean(PREF_ENABLE_PLAYLIST, true)); } @Override @@ -119,8 +119,8 @@ private void updateAutoSaveMedia() { if (mAutoSaveMediaForOfflinePreference == null) { return; } - switch (SharedPreferencesManager.getInstance().readInt( - PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, 0)) { + switch (ChromeSharedPreferences.getInstance() + .readInt(PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, 0)) { case 0: mAutoSaveMediaForOfflinePreference.setSummary( getActivity().getResources().getString(R.string.on_text)); diff --git a/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistSaveMediaFragment.java b/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistSaveMediaFragment.java index 678baeda12db..20ebdcf84621 100644 --- a/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistSaveMediaFragment.java +++ b/android/java/org/chromium/chrome/browser/playlist/settings/BravePlaylistSaveMediaFragment.java @@ -12,7 +12,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.playlist.PlaylistServiceFactoryAndroid; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.mojo.bindings.ConnectionErrorHandler; import org.chromium.mojo.system.MojoException; @@ -56,15 +56,17 @@ public void onCreatePreferences(@Nullable Bundle savedInstanceState, String root BravePlaylistPreferences.PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE); radioButtonGroupPlaylistAutoSavePreference.initialize( - SharedPreferencesManager.getInstance().readInt( - BravePlaylistPreferences.PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, 0)); + ChromeSharedPreferences.getInstance() + .readInt(BravePlaylistPreferences.PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, 0)); radioButtonGroupPlaylistAutoSavePreference.setOnPreferenceChangeListener( (preference, newValue) -> { int method = (int) newValue; if (mPlaylistService != null) { - SharedPreferencesManager.getInstance().writeInt( - BravePlaylistPreferences.PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, method); + ChromeSharedPreferences.getInstance() + .writeInt( + BravePlaylistPreferences.PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, + method); } return true; }); diff --git a/android/java/org/chromium/chrome/browser/preferences/BravePrefServiceBridge.java b/android/java/org/chromium/chrome/browser/preferences/BravePrefServiceBridge.java index ed3dd102af47..2b696e797d74 100644 --- a/android/java/org/chromium/chrome/browser/preferences/BravePrefServiceBridge.java +++ b/android/java/org/chromium/chrome/browser/preferences/BravePrefServiceBridge.java @@ -5,9 +5,10 @@ package org.chromium.chrome.browser.preferences; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import org.chromium.chrome.browser.profiles.Profile; /** diff --git a/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java b/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java index 668dc4628ab4..e2e0eda2ec70 100644 --- a/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java +++ b/android/java/org/chromium/chrome/browser/preferences/website/BraveShieldsContentSettings.java @@ -5,9 +5,10 @@ package org.chromium.chrome.browser.preferences.website; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.browser.profiles.Profile; import java.util.ArrayList; @@ -18,7 +19,8 @@ public class BraveShieldsContentSettings { static public final String RESOURCE_IDENTIFIER_ADS = "shieldsAds"; static public final String RESOURCE_IDENTIFIER_TRACKERS = "trackers"; static public final String RESOURCE_IDENTIFIER_DATA_SAVED = "data_saved"; - static public final String RESOURCE_IDENTIFIER_HTTP_UPGRADABLE_RESOURCES = "httpUpgradableResources"; + public static final String RESOURCE_IDENTIFIER_HTTP_UPGRADABLE_RESOURCES = + "httpUpgradableResources"; static public final String RESOURCE_IDENTIFIER_BRAVE_SHIELDS = "braveShields"; static public final String RESOURCE_IDENTIFIER_FINGERPRINTING = "fingerprinting"; static public final String RESOURCE_IDENTIFIER_COOKIES = "shieldsCookies"; diff --git a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java index 4c881672e5a9..1cb478c19622 100644 --- a/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java +++ b/android/java/org/chromium/chrome/browser/privacy/settings/BravePrivacySettings.java @@ -24,8 +24,8 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats; import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.Pref; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; import org.chromium.chrome.browser.preferences.website.BraveShieldsContentSettings; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.safe_browsing.settings.NoGooglePlayServicesDialog; @@ -61,6 +61,9 @@ public class BravePrivacySettings extends PrivacySettings implements ConnectionE private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key"; private static final String PREF_FINGERPRINT_LANGUAGE = "fingerprint_language"; + private static final String PREF_PRIVACY_SECTION = "privacy_section"; + private static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies"; + private static final String PREF_SECURITY_SECTION = "security_section"; // brave Prefs private static final String PREF_BRAVE_SHIELDS_GLOBALS_SECTION = @@ -356,7 +359,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { mAppLinks.setOnPreferenceChangeListener(this); boolean isAppLinksAllowed = - SharedPreferencesManager.getInstance().readBoolean(PREF_APP_LINKS, true); + ChromeSharedPreferences.getInstance().readBoolean(PREF_APP_LINKS, true); mAppLinks.setChecked(isAppLinksAllowed); mWebrtcPolicy = (ChromeBasePreference) findPreference(PREF_WEBRTC_POLICY); @@ -365,6 +368,10 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { removePreferenceIfPresent(PREF_SYNC_AND_SERVICES_LINK); removePreferenceIfPresent(PREF_NETWORK_PREDICTIONS); removePreferenceIfPresent(PREF_PRIVACY_SANDBOX); + removePreferenceIfPresent(PREF_PRIVACY_SECTION); + removePreferenceIfPresent(PREF_THIRD_PARTY_COOKIES); + removePreferenceIfPresent(PREF_SECURITY_SECTION); + if (!ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_ANDROID_SAFE_BROWSING)) { removePreferenceIfPresent(PREF_SAFE_BROWSING); } else { @@ -589,8 +596,8 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { BravePreferenceKeys.BRAVE_CLEAR_ON_EXIT, (boolean) newValue); } else if (PREF_APP_LINKS.equals(key)) { sharedPreferencesEditor.putBoolean(PREF_APP_LINKS, (boolean) newValue); - SharedPreferencesManager.getInstance().writeBoolean( - BravePrivacySettings.PREF_APP_LINKS_RESET, false); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePrivacySettings.PREF_APP_LINKS_RESET, false); } else if (PREF_BLOCK_TRACKERS_ADS.equals(key)) { if (newValue instanceof String) { final String newStringValue = String.valueOf(newValue); diff --git a/android/java/org/chromium/chrome/browser/rate/RateUtils.java b/android/java/org/chromium/chrome/browser/rate/RateUtils.java index a7244f1cdcdb..28735d7ef4e4 100644 --- a/android/java/org/chromium/chrome/browser/rate/RateUtils.java +++ b/android/java/org/chromium/chrome/browser/rate/RateUtils.java @@ -14,7 +14,7 @@ import org.chromium.base.BravePreferenceKeys; import org.chromium.base.ContextUtils; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.set_default_browser.BraveSetDefaultBrowserUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; @@ -132,8 +132,9 @@ public boolean shouldShowRateDialog(Context context) { } private boolean mainCriteria() { - int appOpenCount = SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_APP_OPEN_COUNT); + int appOpenCount = + ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT); return (System.currentTimeMillis() > getPrefNextRateDate() && appOpenCount >= APP_OPEN_5 && getPrefRateEnabled() && is4DaysUsedLast7Days()); diff --git a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java index 36e68091d7d3..791a00d4b36a 100644 --- a/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java +++ b/android/java/org/chromium/chrome/browser/rewards/BraveRewardsPanel.java @@ -7,6 +7,7 @@ package org.chromium.chrome.browser.rewards; +import android.Manifest; import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; @@ -85,7 +86,6 @@ import org.chromium.chrome.browser.util.TabUtils; import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.base.DeviceFormFactor; -import org.chromium.ui.permissions.PermissionConstants; import org.chromium.ui.text.NoUnderlineClickableSpan; import java.text.SimpleDateFormat; @@ -990,8 +990,9 @@ public void OnGetCurrentBalanceReport(double[] report) { private void requestNotificationPermission() { if (BravePermissionUtils.isBraveAdsNotificationPermissionBlocked(mAnchorView.getContext()) || mActivity.shouldShowRequestPermissionRationale( - PermissionConstants.NOTIFICATION_PERMISSION) - || (!BuildInfo.isAtLeastT() || !BuildInfo.targetsAtLeastT())) { + Manifest.permission.POST_NOTIFICATIONS) + || (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU + || !BuildInfo.targetsAtLeastT())) { // other than android 13 redirect to // setting page and for android 13 Last time don't allow selected in permission // dialog, then enable through setting, this done through this dialog @@ -999,7 +1000,7 @@ private void requestNotificationPermission() { } else { // 1st time request permission ActivityCompat.requestPermissions( - mActivity, new String[] {PermissionConstants.NOTIFICATION_PERMISSION}, 1); + mActivity, new String[] {Manifest.permission.POST_NOTIFICATIONS}, 1); } } diff --git a/android/java/org/chromium/chrome/browser/rewards/onboarding/RewardsOnboarding.java b/android/java/org/chromium/chrome/browser/rewards/onboarding/RewardsOnboarding.java index c6c1cbc6f1d8..1192545319ca 100644 --- a/android/java/org/chromium/chrome/browser/rewards/onboarding/RewardsOnboarding.java +++ b/android/java/org/chromium/chrome/browser/rewards/onboarding/RewardsOnboarding.java @@ -7,6 +7,7 @@ package org.chromium.chrome.browser.rewards.onboarding; +import android.Manifest; import android.annotation.SuppressLint; import android.content.Context; import android.os.Build; @@ -37,7 +38,6 @@ import org.chromium.chrome.browser.rewards.BraveRewardsPanel; import org.chromium.chrome.browser.util.BraveTouchUtils; import org.chromium.chrome.browser.util.TabUtils; -import org.chromium.ui.permissions.PermissionConstants; import org.chromium.ui.text.NoUnderlineClickableSpan; import java.text.Collator; @@ -217,23 +217,26 @@ public void onItemSelected(AdapterView parent, View view, int pos, long id) { public void onNothingSelected(AdapterView arg0) {} }); - mContinueButton.setOnClickListener((new View.OnClickListener() { - @Override - public void onClick(View v) { - if (!BravePermissionUtils.hasPermission( - mAnchorView.getContext(), PermissionConstants.NOTIFICATION_PERMISSION) - || BravePermissionUtils.isBraveAdsNotificationPermissionBlocked( - mAnchorView.getContext())) { - requestNotificationPermission(); - } - if (mCountrySpinner != null) { - mBraveRewardsNativeWorker.CreateRewardsWallet( - sortedCountryMap.get(mCountrySpinner.getSelectedItem().toString())); - shouldShowContinueProgress(true); - mContinueButton.setText(""); - } - } - })); + mContinueButton.setOnClickListener( + (new View.OnClickListener() { + @Override + public void onClick(View v) { + if (!BravePermissionUtils.hasPermission( + mAnchorView.getContext(), + Manifest.permission.POST_NOTIFICATIONS) + || BravePermissionUtils.isBraveAdsNotificationPermissionBlocked( + mAnchorView.getContext())) { + requestNotificationPermission(); + } + if (mCountrySpinner != null) { + mBraveRewardsNativeWorker.CreateRewardsWallet( + sortedCountryMap.get( + mCountrySpinner.getSelectedItem().toString())); + shouldShowContinueProgress(true); + mContinueButton.setText(""); + } + } + })); } private void shouldShowContinueProgress(boolean shouldShow) { @@ -297,8 +300,9 @@ private SpannableString learnMoreSpannableString(Context context, String text) { private void requestNotificationPermission() { if (BravePermissionUtils.isBraveAdsNotificationPermissionBlocked(mAnchorView.getContext()) || mActivity.shouldShowRequestPermissionRationale( - PermissionConstants.NOTIFICATION_PERMISSION) - || (!BuildInfo.isAtLeastT() || !BuildInfo.targetsAtLeastT())) { + Manifest.permission.POST_NOTIFICATIONS) + || (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU + || !BuildInfo.targetsAtLeastT())) { // other than android 13 redirect to // setting page and for android 13 Last time don't allow selected in permission // dialog, then enable through setting, this done through this dialog @@ -306,7 +310,7 @@ private void requestNotificationPermission() { } else { // 1st time request permission ActivityCompat.requestPermissions( - mActivity, new String[] {PermissionConstants.NOTIFICATION_PERMISSION}, 1); + mActivity, new String[] {Manifest.permission.POST_NOTIFICATIONS}, 1); } } diff --git a/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEnginePrefHelper.java b/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEnginePrefHelper.java index 55870e033cb0..8f342a1aa30c 100644 --- a/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEnginePrefHelper.java +++ b/android/java/org/chromium/chrome/browser/search_engines/settings/BraveSearchEnginePrefHelper.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.search_engines.settings; +import org.jni_zero.NativeMethods; + import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.NativeMethods; public class BraveSearchEnginePrefHelper { private static BraveSearchEnginePrefHelper sInstance; diff --git a/android/java/org/chromium/chrome/browser/set_default_browser/BraveSetDefaultBrowserUtils.java b/android/java/org/chromium/chrome/browser/set_default_browser/BraveSetDefaultBrowserUtils.java index f923a1659cae..fad22094e60c 100644 --- a/android/java/org/chromium/chrome/browser/set_default_browser/BraveSetDefaultBrowserUtils.java +++ b/android/java/org/chromium/chrome/browser/set_default_browser/BraveSetDefaultBrowserUtils.java @@ -27,7 +27,7 @@ import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.chrome.R; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.ui.widget.Toast; @@ -66,16 +66,19 @@ public static boolean isBraveSetAsDefaultBrowser(Context context) { public static void checkSetDefaultBrowserModal(AppCompatActivity activity) { if (!isBraveSetAsDefaultBrowser(activity) && !isBraveDefaultDontAsk()) { - if (SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) + if (ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT) == 5) { showBraveSetDefaultBrowserDialog(activity, false); } else if (shouldShowBraveWasDefaultDialog()) { - int braveWasDefaultCount = SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_WAS_DEFAULT_ASK_COUNT); - SharedPreferencesManager.getInstance().writeInt( - BravePreferenceKeys.BRAVE_WAS_DEFAULT_ASK_COUNT, braveWasDefaultCount + 1); + int braveWasDefaultCount = + ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_WAS_DEFAULT_ASK_COUNT); + ChromeSharedPreferences.getInstance() + .writeInt( + BravePreferenceKeys.BRAVE_WAS_DEFAULT_ASK_COUNT, + braveWasDefaultCount + 1); showBraveSetDefaultBrowserDialog(activity, false); } @@ -112,18 +115,21 @@ public static void showBraveSetDefaultBrowserDialog( } if (!isFromMenu) { - int braveDefaultModalCount = SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_SET_DEFAULT_BOTTOM_SHEET_COUNT); - SharedPreferencesManager.getInstance().writeInt( - BravePreferenceKeys.BRAVE_SET_DEFAULT_BOTTOM_SHEET_COUNT, - braveDefaultModalCount + 1); + int braveDefaultModalCount = + ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_SET_DEFAULT_BOTTOM_SHEET_COUNT); + ChromeSharedPreferences.getInstance() + .writeInt( + BravePreferenceKeys.BRAVE_SET_DEFAULT_BOTTOM_SHEET_COUNT, + braveDefaultModalCount + 1); } } } public static void setDefaultBrowser(Activity activity) { - int roleManagerOpenCount = SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_ROLE_MANAGER_DIALOG_COUNT); + int roleManagerOpenCount = + ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_ROLE_MANAGER_DIALOG_COUNT); if (supportsDefaultRoleManager() && roleManagerOpenCount < 2) { RoleManager roleManager = activity.getSystemService(RoleManager.class); @@ -132,9 +138,10 @@ public static void setDefaultBrowser(Activity activity) { if (!roleManager.isRoleHeld(RoleManager.ROLE_BROWSER)) { // save role manager open count as the second times onwards the dialog is shown, // the system allows the user to click on "don't show again". - SharedPreferencesManager.getInstance().writeInt( - BravePreferenceKeys.BRAVE_ROLE_MANAGER_DIALOG_COUNT, - roleManagerOpenCount + 1); + ChromeSharedPreferences.getInstance() + .writeInt( + BravePreferenceKeys.BRAVE_ROLE_MANAGER_DIALOG_COUNT, + roleManagerOpenCount + 1); activity.startActivityForResult( roleManager.createRequestRoleIntent(RoleManager.ROLE_BROWSER), @@ -205,28 +212,29 @@ private static void openBraveBlog(Activity activity) { } private static boolean wasBraveDefaultBefore() { - return SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_IS_DEFAULT, false); + return ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_IS_DEFAULT, false); } private static boolean shouldShowBraveWasDefaultDialog() { - int braveWasDefaultCount = SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_WAS_DEFAULT_ASK_COUNT); + int braveWasDefaultCount = + ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_WAS_DEFAULT_ASK_COUNT); return braveWasDefaultCount < 2 && wasBraveDefaultBefore(); } public static void setBraveDefaultSuccess() { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_IS_DEFAULT, true); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_IS_DEFAULT, true); } public static void setBraveDefaultDontAsk() { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_DEFAULT_DONT_ASK, true); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_DEFAULT_DONT_ASK, true); } public static boolean isBraveDefaultDontAsk() { - return SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_DEFAULT_DONT_ASK, false); + return ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_DEFAULT_DONT_ASK, false); } } diff --git a/android/java/org/chromium/chrome/browser/set_default_browser/SetDefaultBrowserBottomSheetFragment.java b/android/java/org/chromium/chrome/browser/set_default_browser/SetDefaultBrowserBottomSheetFragment.java index 00f2522f7398..6acba34d0a7c 100644 --- a/android/java/org/chromium/chrome/browser/set_default_browser/SetDefaultBrowserBottomSheetFragment.java +++ b/android/java/org/chromium/chrome/browser/set_default_browser/SetDefaultBrowserBottomSheetFragment.java @@ -24,7 +24,7 @@ import org.chromium.base.BravePreferenceKeys; import org.chromium.chrome.R; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; public class SetDefaultBrowserBottomSheetFragment extends BottomSheetDialogFragment { private static final String IS_FROM_MENU = "is_from_menu"; @@ -75,8 +75,9 @@ public void onClick(View v) { CheckBox dontAskCheckBox = view.findViewById(R.id.checkbox_dont_ask); - int braveDefaultModalCount = SharedPreferencesManager.getInstance().readInt( - BravePreferenceKeys.BRAVE_SET_DEFAULT_BOTTOM_SHEET_COUNT); + int braveDefaultModalCount = + ChromeSharedPreferences.getInstance() + .readInt(BravePreferenceKeys.BRAVE_SET_DEFAULT_BOTTOM_SHEET_COUNT); if (braveDefaultModalCount > 2 && !isFromMenu) { dontAskCheckBox.setVisibility(View.VISIBLE); diff --git a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java index 9bf41752a52b..f8d92874236c 100644 --- a/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/AppearancePreferences.java @@ -23,7 +23,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.night_mode.NightModeUtils; import org.chromium.chrome.browser.preferences.BravePref; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tasks.tab_management.BraveTabUiFeatureUtilities; import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarConfiguration; @@ -125,8 +125,11 @@ public void onActivityCreated(Bundle savedInstanceState) { disableSharingHub.setOnPreferenceChangeListener(this); if (disableSharingHub instanceof ChromeSwitchPreference) { ((ChromeSwitchPreference) disableSharingHub) - .setChecked(SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_DISABLE_SHARING_HUB, false)); + .setChecked( + ChromeSharedPreferences.getInstance() + .readBoolean( + BravePreferenceKeys.BRAVE_DISABLE_SHARING_HUB, + false)); } } @@ -191,11 +194,12 @@ public boolean onPreferenceChange(Preference preference, Object newValue) { BraveFeatureList.ENABLE_FORCE_DARK, (boolean) newValue, true); shouldRelaunch = true; } else if (PREF_BRAVE_DISABLE_SHARING_HUB.equals(key)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_DISABLE_SHARING_HUB, (boolean) newValue); + ChromeSharedPreferences.getInstance() + .writeBoolean( + BravePreferenceKeys.BRAVE_DISABLE_SHARING_HUB, (boolean) newValue); } else if (PREF_BRAVE_ENABLE_TAB_GROUPS.equals(key)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, (boolean) newValue); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, (boolean) newValue); } else if (PREF_BRAVE_ENABLE_SPEEDREADER.equals(key)) { UserPrefs.get(Profile.getLastUsedRegularProfile()) .setBoolean(BravePref.SPEEDREADER_PREF_ENABLED, (boolean) newValue); diff --git a/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesDetails.java b/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesDetails.java index d3396a326b46..0af89c1fd3d6 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesDetails.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesDetails.java @@ -35,7 +35,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.brave_news.BraveNewsControllerFactory; import org.chromium.chrome.browser.brave_news.BraveNewsUtils; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.components.browser_ui.settings.SearchUtils; import org.chromium.mojo.bindings.ConnectionErrorHandler; @@ -293,8 +293,8 @@ private void search() { } public void newsChangeSource() { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_NEWS_CHANGE_SOURCE, true); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_NEWS_CHANGE_SOURCE, true); } @Override diff --git a/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java b/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java index 90a4a6cdf170..4ea2531f9059 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveNewsPreferencesV2.java @@ -38,7 +38,7 @@ import org.chromium.chrome.browser.customtabs.CustomTabActivity; import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.chrome.browser.util.BraveTouchUtils; import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; @@ -197,8 +197,8 @@ private void onClickViews() { private void onShowNewsToggle(boolean isEnable) { BravePrefServiceBridge.getInstance().setShowNews(isEnable); - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_NEWS_PREF_SHOW_NEWS, isEnable); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_NEWS_PREF_SHOW_NEWS, isEnable); FrameLayout.LayoutParams parentLayoutParams = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); diff --git a/android/java/org/chromium/chrome/browser/settings/BraveWalletResetPreference.java b/android/java/org/chromium/chrome/browser/settings/BraveWalletResetPreference.java index a50049e1c485..44a8f40bea0c 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveWalletResetPreference.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveWalletResetPreference.java @@ -32,7 +32,7 @@ import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.crypto_wallet.util.WalletConstants; import org.chromium.chrome.browser.crypto_wallet.util.WalletNativeUtils; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.ui.KeyboardVisibilityDelegate; /** @@ -82,31 +82,30 @@ private void showBraveWalletResetDialog() { textView.setText(getContext().getString( R.string.brave_wallet_reset_settings_confirmation, mConfirmationPhrase)); - DialogInterface.OnClickListener onClickListener = new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int button) { - if (button == AlertDialog.BUTTON_POSITIVE) { - String inputText = input.getText().toString().trim(); - if (TextUtils.equals(inputText, mConfirmationPhrase)) { - Log.w(TAG, "Reset"); - WalletNativeUtils.resetWallet(Utils.getProfile(false)); - KeystoreHelper.resetBiometric(); - Utils.setCryptoOnboarding(true); - - SharedPreferencesManager preferencesManager = - SharedPreferencesManager.getInstance(); - for (String key : WalletConstants.BRAVE_WALLET_PREFS) { - preferencesManager.removeKey(key); + DialogInterface.OnClickListener onClickListener = + new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int button) { + if (button == AlertDialog.BUTTON_POSITIVE) { + String inputText = input.getText().toString().trim(); + if (TextUtils.equals(inputText, mConfirmationPhrase)) { + Log.w(TAG, "Reset"); + WalletNativeUtils.resetWallet(Utils.getProfile(false)); + KeystoreHelper.resetBiometric(); + Utils.setCryptoOnboarding(true); + + for (String key : WalletConstants.BRAVE_WALLET_PREFS) { + ChromeSharedPreferences.getInstance().removeKey(key); + } + } + + // Force clear activity stack + launchBraveTabbedActivity(); + } else { + dialog.dismiss(); } } - - // Force clear activity stack - launchBraveTabbedActivity(); - } else { - dialog.dismiss(); - } - } - }; + }; AlertDialog.Builder alert = new AlertDialog.Builder(getContext(), R.style.ThemeOverlay_BrowserUI_AlertDialog); diff --git a/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java b/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java index be21e2251b5a..fd105894d37b 100644 --- a/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/developer/BraveQAPreferences.java @@ -23,10 +23,11 @@ import androidx.preference.Preference; import androidx.preference.Preference.OnPreferenceChangeListener; +import org.jni_zero.CalledByNative; + import org.chromium.base.ContextUtils; import org.chromium.base.FileUtils; import org.chromium.base.Log; -import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveConfig; import org.chromium.chrome.browser.BraveRelaunchUtils; @@ -156,14 +157,16 @@ public void onCreate(Bundle savedInstanceState) { private void setRewardsDbClickListeners() { if (mImportRewardsDb != null) { - mImportRewardsDb.setOnPreferenceClickListener( preference -> { - Intent intent = new Intent() - .setType("*/*") - .setAction(Intent.ACTION_GET_CONTENT); - - startActivityForResult(Intent.createChooser(intent, "Select a file"), CHOOSE_FILE_FOR_IMPORT_REQUEST_CODE); - return true; - }); + mImportRewardsDb.setOnPreferenceClickListener( + preference -> { + Intent intent = + new Intent().setType("*/*").setAction(Intent.ACTION_GET_CONTENT); + + startActivityForResult( + Intent.createChooser(intent, "Select a file"), + CHOOSE_FILE_FOR_IMPORT_REQUEST_CODE); + return true; + }); } if (mExportRewardsDb != null) { @@ -448,7 +451,8 @@ public void onClick(DialogInterface dialog, int button) { AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity(), R.style.ThemeOverlay_BrowserUI_AlertDialog) .setMessage( - "This operation requires restart. Would you like to restart application and start operation?") + "This operation requires restart. Would you like to restart" + + " application and start operation?") .setPositiveButton(R.string.ok, onClickListener) .setNegativeButton(R.string.cancel, onClickListener); Dialog dialog = alertDialog.create(); diff --git a/android/java/org/chromium/chrome/browser/share/BraveShareDelegateImpl.java b/android/java/org/chromium/chrome/browser/share/BraveShareDelegateImpl.java index b61b70bfe42d..497077738d10 100644 --- a/android/java/org/chromium/chrome/browser/share/BraveShareDelegateImpl.java +++ b/android/java/org/chromium/chrome/browser/share/BraveShareDelegateImpl.java @@ -8,7 +8,7 @@ import org.chromium.base.BravePreferenceKeys; import org.chromium.base.supplier.Supplier; import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tabmodel.TabModelSelector; @@ -26,7 +26,7 @@ public BraveShareDelegateImpl(BottomSheetController controller, @Override public boolean isSharingHubEnabled() { return super.isSharingHubEnabled() - && !SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_DISABLE_SHARING_HUB, false); + && !ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_DISABLE_SHARING_HUB, false); } } diff --git a/android/java/org/chromium/chrome/browser/shields/FilterListServiceFactory.java b/android/java/org/chromium/chrome/browser/shields/FilterListServiceFactory.java index 39bbbfc87a75..1df5564874fc 100644 --- a/android/java/org/chromium/chrome/browser/shields/FilterListServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/shields/FilterListServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.shields; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.brave_shields.mojom.FilterListAndroidHandler; import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; diff --git a/android/java/org/chromium/chrome/browser/shields/UrlSanitizerServiceFactory.java b/android/java/org/chromium/chrome/browser/shields/UrlSanitizerServiceFactory.java index db8b1d6344c9..c27a5cf1e876 100644 --- a/android/java/org/chromium/chrome/browser/shields/UrlSanitizerServiceFactory.java +++ b/android/java/org/chromium/chrome/browser/shields/UrlSanitizerServiceFactory.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.shields; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.browser.crypto_wallet.util.Utils; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.mojo.bindings.ConnectionErrorHandler; diff --git a/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java b/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java index a7fff5e97d8b..3d7831661ce4 100644 --- a/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java +++ b/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java @@ -10,10 +10,12 @@ import androidx.annotation.MainThread; import androidx.annotation.Nullable; +import org.jni_zero.CalledByNative; + import org.chromium.base.Callback; -import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.browser.signin.services.SigninManager; import org.chromium.components.signin.base.CoreAccountId; +import org.chromium.components.signin.base.CoreAccountInfo; import org.chromium.components.signin.identitymanager.AccountInfoServiceProvider; import org.chromium.components.signin.identitymanager.AccountTrackerService; import org.chromium.components.signin.identitymanager.IdentityManager; @@ -64,6 +66,12 @@ public void runAfterOperationInProgress(Runnable runnable) {} public void signinAndEnableSync(Account account, @SigninAccessPoint int accessPoint, @Nullable SignInCallback callback) {} + @Override + public void signinAndEnableSync( + CoreAccountInfo coreAccountInfo, + @SigninAccessPoint int accessPoint, + @Nullable SignInCallback callback) {} + @Override public void signin(Account account, @SigninAccessPoint int accessPoint, @Nullable SignInCallback callback) {} @@ -121,4 +129,10 @@ public boolean isSyncOptInAllowed() { @Override public void revokeSyncConsent(@SignoutReason int signoutSource, SignOutCallback signOutCallback, boolean forceWipeUserData) {} + + @Override + public void signin( + CoreAccountInfo coreAccountInfo, + @SigninAccessPoint int accessPoint, + @Nullable SignInCallback callback) {} } diff --git a/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderUtils.java b/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderUtils.java index 5f2319506767..75fc4375bd15 100644 --- a/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderUtils.java +++ b/android/java/org/chromium/chrome/browser/speedreader/BraveSpeedReaderUtils.java @@ -5,8 +5,9 @@ package org.chromium.chrome.browser.speedreader; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.browser.tab.Tab; import org.chromium.content_public.browser.WebContents; diff --git a/android/java/org/chromium/chrome/browser/sync/BraveSyncDevices.java b/android/java/org/chromium/chrome/browser/sync/BraveSyncDevices.java index 2b793e26ce8f..ec018aa48bfa 100644 --- a/android/java/org/chromium/chrome/browser/sync/BraveSyncDevices.java +++ b/android/java/org/chromium/chrome/browser/sync/BraveSyncDevices.java @@ -5,15 +5,15 @@ package org.chromium.chrome.browser.sync; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.chromium.base.Log; import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import java.util.ArrayList; import java.util.Date; diff --git a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java index c5bce423528b..3c04d1673d9b 100644 --- a/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java +++ b/android/java/org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator.java @@ -44,7 +44,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.system.StatusBarColorController.StatusBarColorProvider; import org.chromium.chrome.features.start_surface.StartSurface; -import org.chromium.components.browser_ui.widget.InsetObserverView; +import org.chromium.components.browser_ui.widget.InsetObserver; import org.chromium.components.browser_ui.widget.MenuOrKeyboardActionController; import org.chromium.ui.base.ActivityWindowAndroid; import org.chromium.ui.base.IntentRequestTracker; @@ -56,7 +56,8 @@ public class BraveTabbedRootUiCoordinator extends TabbedRootUiCoordinator { protected AppCompatActivity mActivity; - public BraveTabbedRootUiCoordinator(@NonNull AppCompatActivity activity, + public BraveTabbedRootUiCoordinator( + @NonNull AppCompatActivity activity, @Nullable Callback onOmniboxFocusChangedListener, @NonNull ObservableSupplier shareDelegateSupplier, @NonNull ActivityTabProvider tabProvider, @@ -85,33 +86,65 @@ public BraveTabbedRootUiCoordinator(@NonNull AppCompatActivity activity, @NonNull Supplier compositorViewHolderSupplier, @NonNull Supplier tabContentManagerSupplier, @NonNull Supplier snackbarManagerSupplier, - @ActivityType int activityType, @NonNull Supplier isInOverviewModeSupplier, + @ActivityType int activityType, + @NonNull Supplier isInOverviewModeSupplier, @NonNull Supplier isWarmOnResumeSupplier, @NonNull AppMenuDelegate appMenuDelegate, @NonNull StatusBarColorProvider statusBarColorProvider, - @NonNull ObservableSupplierImpl - ephemeralTabCoordinatorSupplier, - @NonNull IntentRequestTracker intentRequestTracker, int controlContainerHeightResource, - @NonNull Supplier insetObserverViewSupplier, + @NonNull + ObservableSupplierImpl ephemeralTabCoordinatorSupplier, + @NonNull IntentRequestTracker intentRequestTracker, + int controlContainerHeightResource, + @NonNull Supplier insetObserverViewSupplier, @NonNull Function backButtonShouldCloseTabFn, OneshotSupplier tabReparentingControllerSupplier, - boolean initializeUiWithIncognitoColors, @NonNull BackPressManager backPressManager, + boolean initializeUiWithIncognitoColors, + @NonNull BackPressManager backPressManager, @Nullable Bundle savedInstanceState) { - super(activity, onOmniboxFocusChangedListener, shareDelegateSupplier, tabProvider, - profileSupplier, bookmarkModelSupplier, tabBookmarkerSupplier, - contextualSearchManagerSupplier, tabModelSelectorSupplier, startSurfaceSupplier, - tabSwitcherSupplier, intentMetadataOneshotSupplier, - layoutStateProviderOneshotSupplier, startSurfaceParentTabSupplier, - browserControlsManager, windowAndroid, activityLifecycleDispatcher, - layoutManagerSupplier, menuOrKeyboardActionController, activityThemeColorSupplier, - modalDialogManagerSupplier, appMenuBlocker, supportsAppMenuSupplier, - supportsFindInPage, tabCreatorManagerSupplier, fullscreenManager, - compositorViewHolderSupplier, tabContentManagerSupplier, snackbarManagerSupplier, - activityType, isInOverviewModeSupplier, isWarmOnResumeSupplier, appMenuDelegate, - statusBarColorProvider, ephemeralTabCoordinatorSupplier, intentRequestTracker, - controlContainerHeightResource, insetObserverViewSupplier, - backButtonShouldCloseTabFn, tabReparentingControllerSupplier, - initializeUiWithIncognitoColors, backPressManager, savedInstanceState); + super( + activity, + onOmniboxFocusChangedListener, + shareDelegateSupplier, + tabProvider, + profileSupplier, + bookmarkModelSupplier, + tabBookmarkerSupplier, + contextualSearchManagerSupplier, + tabModelSelectorSupplier, + startSurfaceSupplier, + tabSwitcherSupplier, + intentMetadataOneshotSupplier, + layoutStateProviderOneshotSupplier, + startSurfaceParentTabSupplier, + browserControlsManager, + windowAndroid, + activityLifecycleDispatcher, + layoutManagerSupplier, + menuOrKeyboardActionController, + activityThemeColorSupplier, + modalDialogManagerSupplier, + appMenuBlocker, + supportsAppMenuSupplier, + supportsFindInPage, + tabCreatorManagerSupplier, + fullscreenManager, + compositorViewHolderSupplier, + tabContentManagerSupplier, + snackbarManagerSupplier, + activityType, + isInOverviewModeSupplier, + isWarmOnResumeSupplier, + appMenuDelegate, + statusBarColorProvider, + ephemeralTabCoordinatorSupplier, + intentRequestTracker, + controlContainerHeightResource, + insetObserverViewSupplier, + backButtonShouldCloseTabFn, + tabReparentingControllerSupplier, + initializeUiWithIncognitoColors, + backPressManager, + savedInstanceState); mActivity = activity; } diff --git a/android/java/org/chromium/chrome/browser/toolbar/BraveHomeButton.java b/android/java/org/chromium/chrome/browser/toolbar/BraveHomeButton.java index 2647c194dc26..6b80968c76af 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/BraveHomeButton.java +++ b/android/java/org/chromium/chrome/browser/toolbar/BraveHomeButton.java @@ -15,6 +15,7 @@ import org.chromium.chrome.browser.theme.ThemeColorProvider; import org.chromium.chrome.browser.theme.ThemeColorProvider.TintObserver; +import org.chromium.chrome.browser.toolbar.home_button.HomeButton; /** * Brave's extension of HomeButton. diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarConfiguration.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarConfiguration.java index 920aa8855f98..87743fd478b6 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarConfiguration.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarConfiguration.java @@ -14,7 +14,7 @@ import org.chromium.base.BravePreferenceKeys; import org.chromium.base.ContextUtils; import org.chromium.chrome.browser.app.ChromeActivity; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.ui.base.DeviceFormFactor; public class BottomToolbarConfiguration { @@ -32,14 +32,14 @@ public static boolean isBottomToolbarEnabled() { return sharedPreferences.getBoolean( BravePreferenceKeys.BRAVE_BOTTOM_TOOLBAR_ENABLED_KEY, true); } else { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_BOTTOM_TOOLBAR_SET_KEY, true); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_BOTTOM_TOOLBAR_SET_KEY, true); boolean enable = true; if (isSmallScreen()) { enable = false; } - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_BOTTOM_TOOLBAR_ENABLED_KEY, enable); + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_BOTTOM_TOOLBAR_ENABLED_KEY, enable); return enable; } diff --git a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarCoordinator.java b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarCoordinator.java index 1415e480cd33..f9aaaca8edc9 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarCoordinator.java +++ b/android/java/org/chromium/chrome/browser/toolbar/bottom/BottomToolbarCoordinator.java @@ -37,9 +37,9 @@ import org.chromium.chrome.browser.tabmodel.IncognitoStateProvider; import org.chromium.chrome.browser.tasks.ReturnToChromeUtil; import org.chromium.chrome.browser.theme.ThemeColorProvider; -import org.chromium.chrome.browser.toolbar.HomeButton; import org.chromium.chrome.browser.toolbar.LocationBarModel; import org.chromium.chrome.browser.toolbar.TabCountProvider; +import org.chromium.chrome.browser.toolbar.home_button.HomeButton; import org.chromium.chrome.browser.ui.appmenu.AppMenuButtonHelper; import org.chromium.chrome.browser.util.TabUtils; diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java index 825a0338b2fd..296b7412a355 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java @@ -93,7 +93,7 @@ import org.chromium.chrome.browser.playlist.PlaylistWarningDialogFragment.PlaylistWarningDialogListener; import org.chromium.chrome.browser.playlist.settings.BravePlaylistPreferences; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.preferences.website.BraveShieldsContentSettings; import org.chromium.chrome.browser.preferences.website.BraveShieldsContentSettingsObserver; import org.chromium.chrome.browser.profiles.Profile; @@ -111,10 +111,10 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabModelObserver; import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; import org.chromium.chrome.browser.theme.ThemeUtils; -import org.chromium.chrome.browser.toolbar.HomeButton; import org.chromium.chrome.browser.toolbar.ToolbarDataProvider; import org.chromium.chrome.browser.toolbar.ToolbarTabController; import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarVariationManager; +import org.chromium.chrome.browser.toolbar.home_button.HomeButton; import org.chromium.chrome.browser.toolbar.menu_button.BraveMenuButtonCoordinator; import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator; import org.chromium.chrome.browser.toolbar.top.NavigationPopup.HistoryDelegate; @@ -422,120 +422,134 @@ public void setTabModelSelector(TabModelSelector selector) { // to proactively update the shields button state here, otherwise shields // might sometimes show as disabled while it is actually enabled. updateBraveShieldsButtonState(getToolbarDataProvider().getTab()); - mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(selector) { - @Override - protected void onTabRegistered(Tab tab) { - super.onTabRegistered(tab); - if (tab.isIncognito()) { - showWalletIcon(false); - } - } - - @Override - public void onShown(Tab tab, @TabSelectionType int type) { - // Update shields button state when visible tab is changed. - updateBraveShieldsButtonState(tab); - // case when window.open is triggered from dapps site and new tab is in focus - if (type != TabSelectionType.FROM_USER) { - dismissWalletPanelOrDialog(); - } - findMediaFiles(tab); - } + mTabModelSelectorTabObserver = + new TabModelSelectorTabObserver(selector) { + @Override + protected void onTabRegistered(Tab tab) { + super.onTabRegistered(tab); + if (tab.isIncognito()) { + showWalletIcon(false); + } + } - @Override - public void onHidden(Tab tab, @TabHidingType int reason) { - hidePlaylistButton(); - } + @Override + public void onShown(Tab tab, @TabSelectionType int type) { + // Update shields button state when visible tab is changed. + updateBraveShieldsButtonState(tab); + // case when window.open is triggered from dapps site and new tab is in + // focus + if (type != TabSelectionType.FROM_USER) { + dismissWalletPanelOrDialog(); + } + findMediaFiles(tab); + } - @Override - public void onPageLoadStarted(Tab tab, GURL url) { - showWalletIcon(false, tab); - if (getToolbarDataProvider().getTab() == tab) { - updateBraveShieldsButtonState(tab); - } - mBraveShieldsHandler.clearBraveShieldsCount(tab.getId()); - dismissShieldsTooltip(); - hidePlaylistButton(); - } + @Override + public void onHidden(Tab tab, @TabHidingType int reason) { + hidePlaylistButton(); + } - @Override - public void onPageLoadFinished(final Tab tab, GURL url) { - if (getToolbarDataProvider().getTab() == tab) { - mBraveShieldsHandler.updateUrlSpec(url.getSpec()); - updateBraveShieldsButtonState(tab); - - if (mBraveShieldsButton != null && mBraveShieldsButton.isShown() - && mBraveShieldsHandler != null && !mBraveShieldsHandler.isShowing()) { - checkForTooltip(tab); + @Override + public void onPageLoadStarted(Tab tab, GURL url) { + showWalletIcon(false, tab); + if (getToolbarDataProvider().getTab() == tab) { + updateBraveShieldsButtonState(tab); + } + mBraveShieldsHandler.clearBraveShieldsCount(tab.getId()); + dismissShieldsTooltip(); + hidePlaylistButton(); } - } - if (mBraveShieldsButton != null && mBraveShieldsButton.isShown() - && mBraveShieldsHandler != null && !mBraveShieldsHandler.isShowing() - && url.getSpec().contains("rewards") - && ((!BravePermissionUtils.hasNotificationPermission(getContext())) - || BraveNotificationWarningDialog.shouldShowRewardWarningDialog( - getContext()))) { - showNotificationNotEarningDialog(); - } + @Override + public void onPageLoadFinished(final Tab tab, GURL url) { + if (getToolbarDataProvider().getTab() == tab) { + mBraveShieldsHandler.updateUrlSpec(url.getSpec()); + updateBraveShieldsButtonState(tab); + + if (mBraveShieldsButton != null + && mBraveShieldsButton.isShown() + && mBraveShieldsHandler != null + && !mBraveShieldsHandler.isShowing()) { + checkForTooltip(tab); + } + } - String countryCode = Locale.getDefault().getCountry(); - if (countryCode.equals(BraveConstants.INDIA_COUNTRY_CODE) - && url.domainIs(YOUTUBE_DOMAIN) - && SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_AD_FREE_CALLOUT_DIALOG, true)) { - SharedPreferencesManager.getInstance().writeBoolean( - BravePreferenceKeys.BRAVE_OPENED_YOUTUBE, true); - } - } + if (mBraveShieldsButton != null + && mBraveShieldsButton.isShown() + && mBraveShieldsHandler != null + && !mBraveShieldsHandler.isShowing() + && url.getSpec().contains("rewards") + && ((!BravePermissionUtils.hasNotificationPermission(getContext())) + || BraveNotificationWarningDialog + .shouldShowRewardWarningDialog(getContext()))) { + showNotificationNotEarningDialog(); + } - private void showNotificationNotEarningDialog() { - try { - RewardsYouAreNotEarningDialog rewardsYouAreNotEarningDialog = - RewardsYouAreNotEarningDialog.newInstance(); - rewardsYouAreNotEarningDialog.setCancelable(false); - rewardsYouAreNotEarningDialog.show( - BraveActivity.getBraveActivity().getSupportFragmentManager(), - RewardsYouAreNotEarningDialog.RewardsYouAreNotEarningDialogTAG); - - } catch (BraveActivity.BraveActivityNotFoundException | IllegalStateException e) { - Log.e(TAG, "showNotificationNotEarningDialog " + e); - } - } + String countryCode = Locale.getDefault().getCountry(); + if (countryCode.equals(BraveConstants.INDIA_COUNTRY_CODE) + && url.domainIs(YOUTUBE_DOMAIN) + && ChromeSharedPreferences.getInstance() + .readBoolean( + BravePreferenceKeys.BRAVE_AD_FREE_CALLOUT_DIALOG, + true)) { + ChromeSharedPreferences.getInstance() + .writeBoolean(BravePreferenceKeys.BRAVE_OPENED_YOUTUBE, true); + } + } - @Override - public void onDidFinishNavigationInPrimaryMainFrame( - Tab tab, NavigationHandle navigation) { - if (getToolbarDataProvider().getTab() == tab && mBraveRewardsNativeWorker != null - && !tab.isIncognito()) { - mBraveRewardsNativeWorker.OnNotifyFrontTabUrlChanged( - tab.getId(), tab.getUrl().getSpec()); - } - if (PackageUtils.isFirstInstall(getContext()) && tab.getUrl().getSpec() != null - && (tab.getUrl().getSpec().equals(BraveActivity.BRAVE_REWARDS_SETTINGS_URL)) - && BraveRewardsHelper.shouldShowBraveRewardsOnboardingModal() - && mBraveRewardsNativeWorker != null - && !mBraveRewardsNativeWorker.isRewardsEnabled() - && mBraveRewardsNativeWorker.IsSupported()) { - showOnBoarding(); - } - findMediaFiles(tab); - } + private void showNotificationNotEarningDialog() { + try { + RewardsYouAreNotEarningDialog rewardsYouAreNotEarningDialog = + RewardsYouAreNotEarningDialog.newInstance(); + rewardsYouAreNotEarningDialog.setCancelable(false); + rewardsYouAreNotEarningDialog.show( + BraveActivity.getBraveActivity().getSupportFragmentManager(), + RewardsYouAreNotEarningDialog.RewardsYouAreNotEarningDialogTAG); + + } catch (BraveActivity.BraveActivityNotFoundException + | IllegalStateException e) { + Log.e(TAG, "showNotificationNotEarningDialog " + e); + } + } - @Override - public void onDestroyed(Tab tab) { - // Remove references for the ads from the Database. Tab is destroyed, they are not - // needed anymore. - new Thread() { @Override - public void run() { - mDatabaseHelper.deleteDisplayAdsFromTab(tab.getId()); + public void onDidFinishNavigationInPrimaryMainFrame( + Tab tab, NavigationHandle navigation) { + if (getToolbarDataProvider().getTab() == tab + && mBraveRewardsNativeWorker != null + && !tab.isIncognito()) { + mBraveRewardsNativeWorker.OnNotifyFrontTabUrlChanged( + tab.getId(), tab.getUrl().getSpec()); + } + if (PackageUtils.isFirstInstall(getContext()) + && tab.getUrl().getSpec() != null + && (tab.getUrl() + .getSpec() + .equals(BraveActivity.BRAVE_REWARDS_SETTINGS_URL)) + && BraveRewardsHelper.shouldShowBraveRewardsOnboardingModal() + && mBraveRewardsNativeWorker != null + && !mBraveRewardsNativeWorker.isRewardsEnabled() + && mBraveRewardsNativeWorker.IsSupported()) { + showOnBoarding(); + } + findMediaFiles(tab); } - }.start(); - mBraveShieldsHandler.removeStat(tab.getId()); - mTabsWithWalletIcon.remove(tab.getId()); - } - }; + + @Override + public void onDestroyed(Tab tab) { + // Remove references for the ads from the Database. Tab is destroyed, they + // are not + // needed anymore. + new Thread() { + @Override + public void run() { + mDatabaseHelper.deleteDisplayAdsFromTab(tab.getId()); + } + }.start(); + mBraveShieldsHandler.removeStat(tab.getId()); + mTabsWithWalletIcon.remove(tab.getId()); + } + }; mTabModelSelectorTabModelObserver = new TabModelSelectorTabModelObserver(selector) { @Override @@ -571,8 +585,8 @@ private void showOnBoarding() { private static boolean isPlaylistEnabledByPrefsAndFlags() { return ChromeFeatureList.isEnabled(BraveFeatureList.BRAVE_PLAYLIST) - && SharedPreferencesManager.getInstance().readBoolean( - BravePlaylistPreferences.PREF_ENABLE_PLAYLIST, true); + && ChromeSharedPreferences.getInstance() + .readBoolean(BravePlaylistPreferences.PREF_ENABLE_PLAYLIST, true); } private void hidePlaylistButton() { @@ -615,60 +629,72 @@ private void showPlaylistButton(PlaylistItem[] items) { BraveActivity.getBraveActivity().getWindow().getDecorView().findViewById( android.R.id.content); - PlaylistOptionsListener playlistOptionsListener = new PlaylistOptionsListener() { - @Override - public void onOptionClicked(PlaylistOptionsModel playlistOptionsModel) { - try { - if (playlistOptionsModel.getOptionType() == PlaylistOptions.ADD_MEDIA) { - int mediaCount = SharedPreferencesManager.getInstance().readInt( - PlaylistPreferenceUtils.ADD_MEDIA_COUNT); - if (mediaCount == 2) { - PlaylistWarningDialogListener playlistWarningDialogListener = - new PlaylistWarningDialogListener() { - @Override - public void onActionClicked() { - addMediaToPlaylist(items); - } - - @Override - public void onSettingsClicked() { - try { - BraveActivity.getBraveActivity() - .openBravePlaylistSettings(); - } catch ( - BraveActivity - .BraveActivityNotFoundException e) { - Log.e(TAG, - "showPlaylistButton" - + " onOptionClicked" - + " onSettingsClicked" + e); - } - } - }; - BraveActivity.getBraveActivity().showPlaylistWarningDialog( - playlistWarningDialogListener); - - } else { - addMediaToPlaylist(items); + PlaylistOptionsListener playlistOptionsListener = + new PlaylistOptionsListener() { + @Override + public void onOptionClicked(PlaylistOptionsModel playlistOptionsModel) { + try { + if (playlistOptionsModel.getOptionType() + == PlaylistOptions.ADD_MEDIA) { + int mediaCount = + ChromeSharedPreferences.getInstance() + .readInt( + PlaylistPreferenceUtils + .ADD_MEDIA_COUNT); + if (mediaCount == 2) { + PlaylistWarningDialogListener + playlistWarningDialogListener = + new PlaylistWarningDialogListener() { + @Override + public void onActionClicked() { + addMediaToPlaylist(items); + } + + @Override + public void onSettingsClicked() { + try { + BraveActivity.getBraveActivity() + .openBravePlaylistSettings(); + } catch ( + BraveActivity + .BraveActivityNotFoundException + e) { + Log.e( + TAG, + "showPlaylistButton" + + " onOptionClicked" + + " onSettingsClicked" + + e); + } + } + }; + BraveActivity.getBraveActivity() + .showPlaylistWarningDialog( + playlistWarningDialogListener); + + } else { + addMediaToPlaylist(items); + } + } else if (playlistOptionsModel.getOptionType() + == PlaylistOptions.OPEN_PLAYLIST) { + BraveActivity.getBraveActivity() + .openPlaylistActivity( + getContext(), ConstantUtils.DEFAULT_PLAYLIST); + } else if (playlistOptionsModel.getOptionType() + == PlaylistOptions.PLAYLIST_SETTINGS) { + BraveActivity.getBraveActivity().openBravePlaylistSettings(); + } + } catch (BraveActivity.BraveActivityNotFoundException e) { + Log.e(TAG, "showPlaylistButton onOptionClicked " + e); } - } else if (playlistOptionsModel.getOptionType() - == PlaylistOptions.OPEN_PLAYLIST) { - BraveActivity.getBraveActivity().openPlaylistActivity( - getContext(), ConstantUtils.DEFAULT_PLAYLIST); - } else if (playlistOptionsModel.getOptionType() - == PlaylistOptions.PLAYLIST_SETTINGS) { - BraveActivity.getBraveActivity().openBravePlaylistSettings(); } - } catch (BraveActivity.BraveActivityNotFoundException e) { - Log.e(TAG, "showPlaylistButton onOptionClicked " + e); - } - } - }; + }; if (!isPlaylistButtonVisible()) { PlaylistViewUtils.showPlaylistButton( BraveActivity.getBraveActivity(), viewGroup, playlistOptionsListener); - if (SharedPreferencesManager.getInstance().readBoolean( - PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, true)) { + if (ChromeSharedPreferences.getInstance() + .readBoolean( + PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, true)) { View playlistButton = viewGroup.findViewById(R.id.playlist_button_id); if (playlistButton != null) { playlistButton.post(new Runnable() { @@ -692,8 +718,9 @@ public void onOnboardingActionClick() { } }); } - SharedPreferencesManager.getInstance().writeBoolean( - PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, false); + ChromeSharedPreferences.getInstance() + .writeBoolean( + PlaylistPreferenceUtils.SHOULD_SHOW_PLAYLIST_ONBOARDING, false); } } } catch (BraveActivity.BraveActivityNotFoundException e) { @@ -707,11 +734,12 @@ private void addMediaToPlaylist(PlaylistItem[] items) { } mPlaylistService.addMediaFiles(items, ConstantUtils.DEFAULT_PLAYLIST, shouldCacheMediaFilesForPlaylist(), addedItems -> {}); - int mediaCount = SharedPreferencesManager.getInstance().readInt( - PlaylistPreferenceUtils.ADD_MEDIA_COUNT); + int mediaCount = + ChromeSharedPreferences.getInstance() + .readInt(PlaylistPreferenceUtils.ADD_MEDIA_COUNT); if (mediaCount < PLAYLIST_MEDIA_COUNT_LIMIT) { - SharedPreferencesManager.getInstance().writeInt( - PlaylistPreferenceUtils.ADD_MEDIA_COUNT, mediaCount + 1); + ChromeSharedPreferences.getInstance() + .writeInt(PlaylistPreferenceUtils.ADD_MEDIA_COUNT, mediaCount + 1); } } @@ -755,15 +783,22 @@ public void onClick(View v) { private boolean shouldCacheMediaFilesForPlaylist() { boolean shouldCacheOnlyOnWifi = - (SharedPreferencesManager.getInstance().readInt( - BravePlaylistPreferences.PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, 0) + (ChromeSharedPreferences.getInstance() + .readInt( + BravePlaylistPreferences + .PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, + 0) == 2 && ConnectionUtils.isWifiAvailable(getContext())); - boolean shouldCache = SharedPreferencesManager.getInstance().readInt( - BravePlaylistPreferences.PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, 0) - == 0 - || shouldCacheOnlyOnWifi; + boolean shouldCache = + ChromeSharedPreferences.getInstance() + .readInt( + BravePlaylistPreferences + .PREF_AUTO_SAVE_MEDIA_FOR_OFFLINE, + 0) + == 0 + || shouldCacheOnlyOnWifi; return shouldCache; } diff --git a/android/java/org/chromium/chrome/browser/upgrade/BravePackageReplacedBroadcastReceiver.java b/android/java/org/chromium/chrome/browser/upgrade/BravePackageReplacedBroadcastReceiver.java index ab6256c125c6..068720dcab01 100644 --- a/android/java/org/chromium/chrome/browser/upgrade/BravePackageReplacedBroadcastReceiver.java +++ b/android/java/org/chromium/chrome/browser/upgrade/BravePackageReplacedBroadcastReceiver.java @@ -12,7 +12,7 @@ import org.chromium.base.BravePreferenceKeys; import org.chromium.chrome.browser.notifications.retention.RetentionNotificationUtil; import org.chromium.chrome.browser.onboarding.OnboardingPrefManager; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.util.BraveConstants; /** @@ -27,7 +27,8 @@ public void onReceive(final Context context, Intent intent) { if (!Intent.ACTION_MY_PACKAGE_REPLACED.equals(intent.getAction())) return; BraveUpgradeJobIntentServiceImpl.maybePerformUpgradeTasks(context); try { - SharedPreferencesManager.getInstance().writeInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT, 0); + ChromeSharedPreferences.getInstance() + .writeInt(BravePreferenceKeys.BRAVE_APP_OPEN_COUNT, 0); // Set dormant users notifications if (OnboardingPrefManager.getInstance().isDormantUsersEngagementEnabled() || context.getPackageName().equals( diff --git a/android/java/org/chromium/chrome/browser/util/BraveReferrer.java b/android/java/org/chromium/chrome/browser/util/BraveReferrer.java index 5aa61483ab5a..18232540b89b 100644 --- a/android/java/org/chromium/chrome/browser/util/BraveReferrer.java +++ b/android/java/org/chromium/chrome/browser/util/BraveReferrer.java @@ -17,11 +17,12 @@ import com.android.installreferrer.api.InstallReferrerStateListener; import com.android.installreferrer.api.ReferrerDetails; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.base.ContextUtils; import org.chromium.base.Log; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; import org.chromium.base.task.PostTask; import org.chromium.base.task.TaskTraits; diff --git a/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java b/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java index 0b0fc950807c..75de55a63e09 100644 --- a/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java +++ b/android/java/org/chromium/chrome/browser/vpn/BraveVpnNativeWorker.java @@ -7,9 +7,9 @@ package org.chromium.chrome.browser.vpn; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; import java.util.ArrayList; import java.util.List; diff --git a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java index 99daf5ce23d5..e372888ac071 100644 --- a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java +++ b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java @@ -45,7 +45,7 @@ import org.chromium.chrome.browser.init.BrowserParts; import org.chromium.chrome.browser.init.ChromeBrowserInitializer; import org.chromium.chrome.browser.init.EmptyBrowserParts; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.searchwidget.SearchActivity; import org.chromium.chrome.browser.settings.BraveSearchEngineUtils; @@ -469,7 +469,7 @@ public static void writeWidgetTiles(List widgetTileList) { widgetTilesJsonArray.put(widgetTile.toJSONObject()); } } - SharedPreferencesManager.getInstance() + ChromeSharedPreferences.getInstance() .writeString( BravePreferenceKeys.BRAVE_QUICK_ACTION_SEARCH_AND_BOOKMARK_WIDGET_TILES, widgetTilesJsonArray.toString()); @@ -478,7 +478,7 @@ public static void writeWidgetTiles(List widgetTileList) { public static List readWidgetTiles() { String widgetTilesJson = - SharedPreferencesManager.getInstance() + ChromeSharedPreferences.getInstance() .readString( BravePreferenceKeys .BRAVE_QUICK_ACTION_SEARCH_AND_BOOKMARK_WIDGET_TILES, diff --git a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java index bc44821874eb..ba9b5bfc7ef1 100644 --- a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java +++ b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java @@ -18,7 +18,7 @@ import com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider; import org.chromium.base.ContextUtils; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidgetProvider.QuickActionSearchWidgetProviderDino; import org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidgetProvider.QuickActionSearchWidgetProviderSearch; import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider; @@ -69,12 +69,12 @@ public static boolean getShouldShowWidgetPromo(Context context) { if (hasBookmarkThumbnailWidget) return false; - return SharedPreferencesManager.getInstance().readBoolean( - SHOW_WIDGET, isRequestPinAppWidgetSupported()); + return ChromeSharedPreferences.getInstance() + .readBoolean(SHOW_WIDGET, isRequestPinAppWidgetSupported()); } public static void setShouldShowWidgetPromo(boolean shouldShow) { - SharedPreferencesManager.getInstance().writeBoolean(SHOW_WIDGET, shouldShow); + ChromeSharedPreferences.getInstance().writeBoolean(SHOW_WIDGET, shouldShow); } public static boolean isRequestPinAppWidgetSupported() { diff --git a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java index 560925051132..4eb4ebc26cae 100644 --- a/android/javatests/org/chromium/chrome/browser/BytecodeTest.java +++ b/android/javatests/org/chromium/chrome/browser/BytecodeTest.java @@ -131,6 +131,7 @@ import org.chromium.components.omnibox.AutocompleteMatch; import org.chromium.components.omnibox.action.OmniboxActionDelegate; import org.chromium.components.permissions.PermissionDialogController; +import org.chromium.components.signin.base.AccountInfo; import org.chromium.content_public.browser.BrowserContextHandle; import org.chromium.ui.ViewProvider; import org.chromium.ui.base.ActivityWindowAndroid; @@ -256,7 +257,8 @@ public void testClassesExist() throws Exception { classExists("org/chromium/components/permissions/PermissionDialogDelegate")); Assert.assertTrue( classExists("org/chromium/components/permissions/BravePermissionDialogModel")); - Assert.assertTrue(classExists("org/chromium/components/permissions/PermissionDialogModel")); + Assert.assertTrue( + classExists("org/chromium/components/permissions/PermissionDialogModelFactory")); Assert.assertTrue(classExists("org/chromium/chrome/browser/omnibox/status/StatusMediator")); Assert.assertTrue( classExists("org/chromium/chrome/browser/omnibox/status/BraveStatusMediator")); @@ -274,9 +276,6 @@ public void testClassesExist() throws Exception { classExists("org/chromium/chrome/browser/tasks/tab_management/TabUiThemeProvider")); Assert.assertTrue(classExists( "org/chromium/chrome/browser/tasks/tab_management/BraveTabUiThemeProvider")); - Assert.assertTrue(classExists("org/chromium/chrome/browser/autofill/AutofillPopupBridge")); - Assert.assertTrue( - classExists("org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge")); Assert.assertTrue( classExists("org/chromium/components/variations/firstrun/VariationsSeedFetcher")); Assert.assertTrue( @@ -371,8 +370,14 @@ public void testClassesExist() throws Exception { "org/chromium/chrome/browser/contextmenu/BraveChromeContextMenuPopulator")); Assert.assertTrue( classExists("org/chromium/chrome/browser/tasks/tab_groups/TabGroupModelFilter")); - Assert.assertTrue(classExists( - "org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter")); + Assert.assertTrue( + classExists( + "org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter")); + Assert.assertTrue( + classExists("org/chromium/chrome/browser/identity_disc/IdentityDiscController")); + Assert.assertTrue( + classExists( + "org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController")); } @Test @@ -441,13 +446,24 @@ public void testMethodsExist() throws Exception { "addOrEditBookmark", false, null)); Assert.assertTrue(methodExists("org/chromium/chrome/browser/bookmarks/BraveBookmarkUtils", "showBookmarkManagerOnPhone", false, null)); - Assert.assertTrue(methodExists("org/chromium/chrome/browser/bookmarks/BookmarkUtils", - "showBookmarkManagerOnPhone", false, null)); Assert.assertTrue( - methodExists("org/chromium/components/permissions/BravePermissionDialogModel", - "getModel", false, null)); - Assert.assertTrue(methodExists("org/chromium/components/permissions/PermissionDialogModel", - "getModel", false, null)); + methodExists( + "org/chromium/chrome/browser/bookmarks/BookmarkUtils", + "showBookmarkManagerOnPhone", + false, + null)); + Assert.assertTrue( + methodExists( + "org/chromium/components/permissions/BravePermissionDialogModel", + "getModel", + false, + null)); + Assert.assertTrue( + methodExists( + "org/chromium/components/permissions/PermissionDialogModelFactory", + "getModel", + false, + null)); Assert.assertTrue(methodExists( "org/chromium/chrome/browser/search_engines/settings/SearchEngineSettings", "createAdapterIfNecessary", false, null)); @@ -499,9 +515,6 @@ public void testMethodsExist() throws Exception { Assert.assertTrue( methodExists("org/chromium/components/variations/firstrun/VariationsSeedFetcher", "get", false, null)); - Assert.assertTrue(methodExists( - "org/chromium/chrome/browser/share/send_tab_to_self/ManageAccountDevicesLinkView", - "inflateIfVisible", true, void.class)); Assert.assertTrue(methodExists( "org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator", "updateTilePlaceholderVisibility", true, void.class)); @@ -546,6 +559,19 @@ public void testMethodsExist() throws Exception { true, boolean.class, String.class)); + Assert.assertTrue( + methodExists( + "org/chromium/chrome/browser/identity_disc/IdentityDiscController", + "calculateButtonData", + true, + void.class)); + Assert.assertTrue( + methodExists( + "org/chromium/chrome/browser/share/" + + "send_tab_to_self/ManageAccountDevicesLinkView", + "getSharingAccountInfo", + true, + AccountInfo.class)); } @Test @@ -560,14 +586,25 @@ public void testMethodsForInvocationExist() throws Exception { true, boolean.class, Intent.class)); - Assert.assertTrue(methodExists( - "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator", - "createViewProvider", true, ViewProvider.class, Context.class, - MVCListAdapter.ModelList.class)); - Assert.assertTrue(methodExists( - "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", - "loadUrlForOmniboxMatch", true, void.class, int.class, AutocompleteMatch.class, - GURL.class, long.class, boolean.class, boolean.class)); + Assert.assertTrue( + methodExists( + "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator", + "createViewProvider", + true, + ViewProvider.class, + Context.class, + MVCListAdapter.ModelList.class)); + Assert.assertTrue( + methodExists( + "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", + "loadUrlForOmniboxMatch", + true, + void.class, + int.class, + AutocompleteMatch.class, + GURL.class, + long.class, + boolean.class)); // Check for method type declaration changes here Assert.assertTrue( @@ -759,10 +796,6 @@ public void testConstructorsExistAndMatch() throws Exception { BottomSheetController.class, ActivityLifecycleDispatcher.class, Supplier.class, Supplier.class, Supplier.class, ShareDelegateImpl.ShareSheetDelegate.class, boolean.class)); - Assert.assertTrue( - constructorsMatch("org/chromium/chrome/browser/autofill/AutofillPopupBridge", - "org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge", View.class, - long.class, WindowAndroid.class)); Assert.assertTrue( constructorsMatch( "org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator", @@ -876,26 +909,58 @@ public void testConstructorsExistAndMatch() throws Exception { "org/chromium/chrome/browser/notifications/permissions/BraveNotificationPermissionRationaleDialogController", Context.class, ModalDialogManager.class)); - Assert.assertTrue(constructorsMatch( - "org/chromium/chrome/browser/notifications/StandardNotificationBuilder", - "org/chromium/chrome/browser/notifications/BraveNotificationBuilder", - Context.class)); - Assert.assertTrue(constructorsMatch( - "org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator", - "org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator", - AppCompatActivity.class, Callback.class, ObservableSupplier.class, - ActivityTabProvider.class, ObservableSupplier.class, ObservableSupplier.class, - ObservableSupplier.class, Supplier.class, ObservableSupplier.class, - OneshotSupplier.class, OneshotSupplier.class, OneshotSupplier.class, - OneshotSupplier.class, Supplier.class, BrowserControlsManager.class, - ActivityWindowAndroid.class, ActivityLifecycleDispatcher.class, - ObservableSupplier.class, MenuOrKeyboardActionController.class, Supplier.class, - ObservableSupplier.class, AppMenuBlocker.class, BooleanSupplier.class, - BooleanSupplier.class, Supplier.class, FullscreenManager.class, Supplier.class, - Supplier.class, Supplier.class, int.class, Supplier.class, Supplier.class, - AppMenuDelegate.class, StatusBarColorProvider.class, ObservableSupplierImpl.class, - IntentRequestTracker.class, int.class, Supplier.class, Function.class, - OneshotSupplier.class, boolean.class, BackPressManager.class, Bundle.class)); + Assert.assertTrue( + constructorsMatch( + "org/chromium/chrome/browser/notifications/StandardNotificationBuilder", + "org/chromium/chrome/browser/notifications/BraveNotificationBuilder", + Context.class)); + Assert.assertTrue( + constructorsMatch( + "org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator", + "org/chromium/chrome/browser/tabbed_mode/BraveTabbedRootUiCoordinator", + AppCompatActivity.class, + Callback.class, + ObservableSupplier.class, + ActivityTabProvider.class, + ObservableSupplier.class, + ObservableSupplier.class, + ObservableSupplier.class, + Supplier.class, + ObservableSupplier.class, + OneshotSupplier.class, + OneshotSupplier.class, + OneshotSupplier.class, + OneshotSupplier.class, + Supplier.class, + BrowserControlsManager.class, + ActivityWindowAndroid.class, + ActivityLifecycleDispatcher.class, + ObservableSupplier.class, + MenuOrKeyboardActionController.class, + Supplier.class, + ObservableSupplier.class, + AppMenuBlocker.class, + BooleanSupplier.class, + BooleanSupplier.class, + Supplier.class, + FullscreenManager.class, + Supplier.class, + Supplier.class, + Supplier.class, + int.class, + Supplier.class, + Supplier.class, + AppMenuDelegate.class, + StatusBarColorProvider.class, + ObservableSupplierImpl.class, + IntentRequestTracker.class, + int.class, + Supplier.class, + Function.class, + OneshotSupplier.class, + boolean.class, + BackPressManager.class, + Bundle.class)); Assert.assertTrue(constructorsMatch("org/chromium/chrome/browser/bookmarks/BookmarkToolbar", "org/chromium/chrome/browser/bookmarks/BraveBookmarkToolbar", Context.class, AttributeSet.class)); @@ -948,6 +1013,13 @@ public void testConstructorsExistAndMatch() throws Exception { "org/chromium/base/shared_preferences/StrictPreferenceKeyChecker", "org/chromium/base/shared_preferences/BraveStrictPreferenceKeyChecker", PreferenceKeyRegistry.class)); + Assert.assertTrue( + constructorsMatch( + "org/chromium/chrome/browser/identity_disc/IdentityDiscController", + "org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController", + Context.class, + ActivityLifecycleDispatcher.class, + ObservableSupplier.class)); } @Test diff --git a/app/BUILD.gn b/app/BUILD.gn index d743bf953c6b..c74ec38bc92c 100644 --- a/app/BUILD.gn +++ b/app/BUILD.gn @@ -93,6 +93,7 @@ source_set("browser_tests") { "//brave/components/commands/common", "//chrome/app:command_ids", "//chrome/browser", + "//chrome/browser/apps/link_capturing:link_capturing", "//chrome/browser/companion/core", "//chrome/browser/enterprise/connectors/analysis:features", "//chrome/browser/promos:utils", diff --git a/app/app_management_strings.grdp b/app/app_management_strings.grdp index 40840fd395e9..db33d8cafb20 100644 --- a/app/app_management_strings.grdp +++ b/app/app_management_strings.grdp @@ -19,6 +19,9 @@ Permissions + + Permissions ($1foo.com) + More settings and permissions @@ -109,6 +112,9 @@ App details + + From $1https://google.com + Android App @@ -217,4 +223,14 @@ Permissions that you allow for $1Citrix will also be allowed for this app. <a href="#">Manage</a> + + + App Content + + + This app contains web content from other sites + + + This app contains web content from + diff --git a/app/brave_main_delegate_browsertest.cc b/app/brave_main_delegate_browsertest.cc index 18b656cba615..f005361f5172 100644 --- a/app/brave_main_delegate_browsertest.cc +++ b/app/brave_main_delegate_browsertest.cc @@ -6,7 +6,6 @@ #include "base/feature_list.h" #include "brave/components/update_client/buildflags.h" #include "build/build_config.h" -#include "chrome/browser/apps/intent_helper/intent_picker_features.h" #include "chrome/browser/browser_features.h" #include "chrome/browser/companion/core/features.h" #include "chrome/browser/domain_reliability/service_factory.h" @@ -73,6 +72,7 @@ #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#include "chrome/browser/apps/link_capturing/link_capturing_features.h" #include "components/device_signals/core/common/signals_features.h" #endif @@ -116,11 +116,11 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, DisabledFeatures) { &android_webview::features::kWebViewServerSideSampling, &android_webview::features::kWebViewMeasureScreenCoverage, #endif - &apps::features::kLinkCapturingInfoBar, - &attribution_reporting::features:: - kAttributionReportingNullAggregatableReports, +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + &apps::features::kDesktopPWAsLinkCapturing, +#endif + &attribution_reporting::features::kAttributionReportingTriggerConfig, &attribution_reporting::features::kConversionMeasurement, - &autofill::features::kAutofillEnableOfferNotificationForPromoCodes, &autofill::features::kAutofillEnableRemadeDownstreamMetrics, &autofill::features::test::kAutofillServerCommunication, &autofill::features::kAutofillUpstreamAllowAdditionalEmailDomains, @@ -130,6 +130,7 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, DisabledFeatures) { &blink::features::kAdAuctionReportingWithMacroApi, &blink::features::kAdInterestGroupAPI, &blink::features::kAllowURNsInIframes, + &blink::features::kAttributionReportingInBrowserMigration, &blink::features::kBackgroundResourceFetch, &blink::features::kBiddingAndScoringDebugReportingAPI, &blink::features::kBrowsingTopics, @@ -149,7 +150,9 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, DisabledFeatures) { &blink::features::kPrerender2, &blink::features::kPrivacySandboxAdsAPIs, &blink::features::kPrivateAggregationApi, + &blink::features::kPrivateAggregationApiMultipleCloudProviders, &blink::features::kSharedStorageAPI, + &blink::features::kSharedStorageAPIM118, &blink::features::kSharedStorageSelectURLLimit, &blink::features::kSpeculationRulesHeaderEnableThirdPartyOriginTrial, &blink::features::kSpeculationRulesPrefetchFuture, @@ -183,11 +186,9 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, DisabledFeatures) { &features::kBookmarkTriggerForPrerender2, &features::kChromeLabs, &features::kChromeRefresh2023, + &features::kCookieDeprecationFacilitatedTesting, #if !BUILDFLAG(IS_ANDROID) &features::kCopyLinkToText, -#endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - &features::kDesktopPWAsLinkCapturing, #endif &features::kDigitalGoodsApi, &features::kDIPS, @@ -200,11 +201,13 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, DisabledFeatures) { #endif &features::kIdleDetection, &features::kKAnonymityService, + &features::kKAnonymityServiceOHTTPRequests, + &features::kLegacyTechReportEnableCookieIssueReports, + &features::kLegacyTechReportTopLevelUrl, &features::kNotificationTriggers, &features::kOmniboxTriggerForNoStatePrefetch, &features::kOmniboxTriggerForPrerender2, &features::kPerformanceSettingsPreloadingSubpage, - &features::kPowerBookmarksSidePanel, &features::kPrivacyGuide3, #if BUILDFLAG(IS_ANDROID) &features::kPrivacyGuideAndroidPostMVP, @@ -272,12 +275,10 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, DisabledFeatures) { &ntp_features::kNtpHistoryClustersModule, &ntp_features::kNtpHistoryClustersModuleDiscounts, &ntp_features::kNtpHistoryClustersModuleLoad, - &omnibox::kInspireMe, &omnibox::kDocumentProviderNoSetting, &omnibox::kDocumentProviderNoSyncRequirement, &omnibox::kExpandedStateHeight, &omnibox::kExpandedStateShape, - &omnibox::kOmniboxMostVisitedTilesOnSrp, &omnibox::kOmniboxSteadyStateHeight, &omnibox::kRichAutocompletion, &optimization_guide::features::kOptimizationGuideFetchingForSRP, @@ -294,22 +295,20 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, DisabledFeatures) { #endif &permissions::features::kPermissionOnDeviceNotificationPredictions, &permissions::features::kPermissionStorageAccessAPI, + &permissions::features::kShowRelatedWebsiteSetsPermissionGrants, &privacy_sandbox::kEnforcePrivacySandboxAttestations, &privacy_sandbox::kOverridePrivacySandboxSettingsLocalTesting, &privacy_sandbox::kPrivacySandboxFirstPartySetsUI, &privacy_sandbox::kPrivacySandboxProactiveTopicsBlocking, &privacy_sandbox::kPrivacySandboxSettings3, &privacy_sandbox::kPrivacySandboxSettings4, - &privacy_sandbox::kTrackingProtectionOnboardingForceEligibility, &promos_features::kIOSPromoPasswordBubble, - &safe_browsing::kExtensionTelemetry, &safe_browsing::kExtensionTelemetryDisableOffstoreExtensions, &safe_browsing::kExtensionTelemetryTabsApiSignal, &segmentation_platform::features::kSegmentationPlatformCollectTabRankData, &segmentation_platform::features::kSegmentationPlatformDeviceTier, &segmentation_platform::features::kSegmentationPlatformFeature, &segmentation_platform::features::kSegmentationPlatformTimeDelaySampling, - &send_tab_to_self::kSendTabToSelfSigninPromo, &shared_highlighting::kIOSSharedHighlightingV2, &shared_highlighting::kSharedHighlightingManager, &subresource_filter::kAdTagging, @@ -334,7 +333,6 @@ IN_PROC_BROWSER_TEST_F(BraveMainDelegateBrowserTest, EnabledFeatures) { &features::kWinrtGeolocationImplementation, #endif #if !BUILDFLAG(IS_ANDROID) - &performance_manager::features::kHeuristicMemorySaver, &safe_browsing::kDownloadBubble, &safe_browsing::kDownloadBubbleV2, &sharing_hub::kDesktopScreenshots, diff --git a/app/brave_strings.grd b/app/brave_strings.grd index 6590a8ffea23..2f3fc81af82e 100644 --- a/app/brave_strings.grd +++ b/app/brave_strings.grd @@ -680,9 +680,6 @@ Permissions you've already given to websites and apps may apply to this account. Brave blocked this file because it has malware - - Brave recommends scanning this file because it may be dangerous - Learn why Brave blocks some downloads @@ -1001,6 +998,15 @@ Permissions you've already given to websites and apps may apply to this account. Another account is already signed in. To keep your browsing separate, Brave can create your own profile for you. + + Get the most out of Brave + + + Sign in to get your Brave stuff across devices + + + Use Brave without an account + @@ -1769,6 +1775,56 @@ Permissions you've already given to websites and apps may apply to this account. Installation complete. + + + + Unable to connect to the Internet. If you use a firewall, please allowlist $1BraveUpdater.exe. + + + Unable to connect to the Internet. HTTP 401 Unauthorized. Please check your proxy configuration. + + + Unable to connect to the Internet. HTTP 403 Forbidden. Please check your proxy configuration. + + + Unable to connect to the Internet. Proxy server requires authentication. + + + + + Unable to install, the application is unknown to the server. + + + Installation failed because access is restricted in this country. + + + Update check error: $1error-internal. + + + + + The downloaded file failed verification. + + + Download error: $1error-internal. + + + + + Failed to cache the downloaded installer. Error: $10x80070005. + + + Unpack error: $1error-internal. + + + + + Service error: $1error-internal. + + + + Install error: $1error-internal + diff --git a/app/extensions_strings.grdp b/app/extensions_strings.grdp index 86f4ca6ad868..aa4edbc2b3da 100644 --- a/app/extensions_strings.grdp +++ b/app/extensions_strings.grdp @@ -607,6 +607,8 @@ Include Ctrl, Alt, or Search + + {FILE_COUNT, plural, =1 {Open and edit {FILE1}1.txt in this extension} diff --git a/app/extensions_strings_override.grdp b/app/extensions_strings_override.grdp index 36f0e0588f5f..2c0d189d6bcb 100644 --- a/app/extensions_strings_override.grdp +++ b/app/extensions_strings_override.grdp @@ -37,6 +37,8 @@ + + diff --git a/app/generated_resources.grd b/app/generated_resources.grd index 416c465fab03..6bfaeb0a8d5d 100644 --- a/app/generated_resources.grd +++ b/app/generated_resources.grd @@ -548,12 +548,15 @@ are declared in tools/grit/grit_rule.gni. &Disable Live Caption - + Fill in form - + Addresses and more + + Payment methods + &Back @@ -695,6 +698,9 @@ are declared in tools/grit/grit_rule.gni. Rotate c&ounterclockwise + + Sa&ve video frame as... + Sa&ve video as... @@ -799,9 +805,6 @@ are declared in tools/grit/grit_rule.gni. Search image with $1Google Lens - - Search inside image with $1Brave - Translate text in image with $1Brave @@ -967,6 +970,9 @@ are declared in tools/grit/grit_rule.gni. Rotate C&ounterclockwise + + Sa&ve Video Frame As... + Sa&ve Video As... @@ -1082,9 +1088,6 @@ are declared in tools/grit/grit_rule.gni. Search Image with $1Google Lens - - - Search Inside Image with $1Brave Translate Text in Image with $1Brave @@ -1697,7 +1700,7 @@ are declared in tools/grit/grit_rule.gni. Performance - Sear&ch this Page with Brave... + Sear&ch This Page with Brave... T&ranslate... @@ -2085,9 +2088,6 @@ are declared in tools/grit/grit_rule.gni. This file can't be downloaded securely - - This file is being scanned. - This file might be a virus or malware. You can send it to Brave to check if it's unsafe. @@ -2097,9 +2097,6 @@ are declared in tools/grit/grit_rule.gni. This file might be a virus or malware. You can send it to Brave to check if it's unsafe. - - Security checks are done - This file is dangerous @@ -2308,6 +2305,19 @@ are declared in tools/grit/grit_rule.gni. Delete from history + + Dangerous download blocked + + + Suspicious download blocked + + + Insecure download blocked + + + Unverified download blocked + + Downloading $152.7 MB, $2somedocument.pdf @@ -2618,9 +2628,6 @@ are declared in tools/grit/grit_rule.gni. Done - - Done, no issues found - Scan is done @@ -2941,14 +2948,11 @@ are declared in tools/grit/grit_rule.gni. This file can harm your personal and social network accounts, including $1john@google.com - - This file may hide malware + + This archive file includes other files that may hide malware - - Scan before opening - Scan for malware @@ -3318,17 +3322,17 @@ are declared in tools/grit/grit_rule.gni. Always block multiple automatic downloads on $1example.com - - Cookies blocked + + On-device site data not allowed - - Cookies set + + On-device site data allowed - - This page was prevented from setting cookies. + + This site isn't allowed to save data on your device. - - This page set cookies. + + This site is allowed to save data on your device. Show cookies and other site data... @@ -3339,20 +3343,20 @@ are declared in tools/grit/grit_rule.gni. Images were blocked on this page. - - Always allow $1mail.google.com to set cookies + + Allow site to save data Always allow $1mail.google.com to show images - - Continue blocking cookies + + Don't allow site to save data - - Continue allowing cookies + + Allow site to save data - - Always block cookies on $1mail.google.com + + Don't allow site to save data Continue blocking images @@ -3547,6 +3551,9 @@ are declared in tools/grit/grit_rule.gni. Third-party cookies blocked + + Tracking Protection + Third-party cookies allowed @@ -3559,21 +3566,45 @@ are declared in tools/grit/grit_rule.gni. Try allowing third-party cookies, which means less protection but site features are more likely to work + + Try temporarily allowing third-party cookies, which means less browsing protection but site features are more likely to work as expected. + {COUNT, plural, =0 {Brave will block cookies again today} =1 {Brave will block cookies again tomorrow} other {# days until Brave blocks cookies again}} + + {COUNT, plural, + =0 {Brave will limit cookies again today} + =1 {Brave will limit cookies again tomorrow} + other {# days until Brave limits cookies again}} + + + {COUNT, plural, + =0 {Brave will block cookies again today} + =1 {Brave will block cookies again tomorrow} + other {# days until cookies are blocked again}} + You allowed this site to use third-party cookies. This means that most site features should work, but you have less protection. + + You temporarily allowed this site to use third-party cookies, which means less browsing protection but site features are more likely to work as expected. + You allowed third-party cookies for this site + + You allowed third-party cookies on this site + This means that most site features should work, but you have less protection + + This means site features should work as expected, but you may have less browsing protection. + Send feedback @@ -3599,12 +3630,30 @@ are declared in tools/grit/grit_rule.gni. =1 {1 site allowed} other {# sites allowed}} + + Allowed + + + Blocked + + + Limited + Third-party cookies allowed Third-party cookies blocked + + Third-party cookies limited + + + Site not working? + + + Tracking Protection + Third-party cookies blocked @@ -3624,7 +3673,7 @@ are declared in tools/grit/grit_rule.gni. If a site you visit isn't working as expected, try temporarily allowing third-party cookies for that site. That will mean less protection but site features are more likely to work as expected. - If a site isn't working as expected, you can enable third-party cookies for it by selecting third-party cookie blocking in the search and address bar. + If a site isn't working as expected, you can enable third-party cookies for it through the Tracking Protection option in the address bar. @@ -4616,16 +4665,16 @@ are declared in tools/grit/grit_rule.gni. - To apply your updated settings to this site, reload this page + Reload this page to apply your updated settings on this site Reload - To apply your updated settings for "$1Gmail Checker" to this site, reload this page + Reload this page to apply your updated settings for "$1Gmail Checker" on this site - To apply your updated settings to this site for these extensions, reload this page + Reload this page to apply your updated extension settings to this site @@ -5973,7 +6022,7 @@ Keep your key file in a safe place. You will need it to create new versions of y Extensions can request access to this site - To apply your updated settings to this site, reload this page + Reload this page to apply your updated settings on this site Reload @@ -6180,11 +6229,15 @@ Keep your key file in a safe place. You will need it to create new versions of y {NUM_SUB_APP_INSTALLS, plural, - =1 {Permissions that you allow for "{APP_NAME}Citrix" will also be allowed for this app.} - other {Permissions that you allow for "{APP_NAME}Citrix" will also be allowed for these apps.} + =1 {Permissions that you allow for "$1Citrix" will also be allowed for this app. $2Manage} + other {Permissions that you allow for "$1Citrix" will also be allowed for these apps. $2Manage} } + + Manage + + Install @@ -6391,9 +6444,6 @@ Keep your key file in a safe place. You will need it to create new versions of y Sign in as - - Password saved - @@ -6414,6 +6464,15 @@ Keep your key file in a safe place. You will need it to create new versions of y Edit password + + Choose your own + + + Password saved + + + Password updated + @@ -6434,6 +6493,15 @@ Keep your key file in a safe place. You will need it to create new versions of y Edit Password + + Choose Your Own + + + Password Saved + + + Password Updated + @@ -6507,6 +6575,9 @@ Keep your key file in a safe place. You will need it to create new versions of y Sign up and sign in faster when your password is automatically saved to $1Brave Password Manager for $2user@gmail.com. + + Brave Password Manager created a strong password for this website + When you use and save this password: @@ -7401,6 +7472,9 @@ Keep your key file in a safe place. You will need it to create new versions of y Hide $1Office Chairs + + More actions for Google Drive Files + Never show $1shopping suggestions @@ -7503,21 +7577,24 @@ Keep your key file in a safe place. You will need it to create new versions of y $12 items + + Never show Drive files + + + Don't show Drive + + + Hide these files + Google Drive files - - Drive - Drive files Files - - these files - this module @@ -7686,6 +7763,9 @@ Keep your key file in a safe place. You will need it to create new versions of y Get discounts? + + Customize what you see on this page + New @@ -7915,6 +7995,9 @@ Keep your key file in a safe place. You will need it to create new versions of y Get a page summary, related searches, and other useful info about this page + + You can search this page with Brave to get additional useful info + To get a page summary, related searches, and other useful info about this page, select Brave Search side panel button in the toolbar @@ -8120,6 +8203,16 @@ Keep your key file in a safe place. You will need it to create new versions of y + + + Reading Mode + + + + + Reading mode + + Reading Mode @@ -8142,20 +8235,17 @@ Keep your key file in a safe place. You will need it to create new versions of y Text formatting - - Display - - + Font size Font - Decrease font-size + Decrease font size - Increase font-size + Increase font size Color theme @@ -8208,9 +8298,39 @@ Keep your key file in a safe place. You will need it to create new versions of y Turn on highlight + + Listen to the text with natural voice + + + Play + + + Pause + + + Previous sentence + + + Next sentence + + + More options + + + Voice speed + + + Voice selection + To show a simplified view of this page, open the side panel and select Reading mode + + To see a simplified view of this page, go to More Tools > Reading Mode + + + Hi. This is a preview + @@ -8443,12 +8563,27 @@ Keep your key file in a safe place. You will need it to create new versions of y Search tabs + + Organize tabs Organize tabs? + + Close + + + + Organize Tabs + + + + + Organize tabs + + @@ -8474,14 +8609,15 @@ Keep your key file in a safe place. You will need it to create new versions of y Open in app + + Always use the $1YouTube app to open supported web links? + + + Always use + + - - Always use the $1YouTube app to open supported web links? - - - Always use - Select an app on your $1Chromebook to open this link @@ -8741,9 +8877,15 @@ Keep your key file in a safe place. You will need it to create new versions of y See all your bookmarks here + + See all your bookmarks in Bookmarks and Lists + When you're ready, find your reading list here + + When you're ready, find your reading list in Bookmarks and Lists + To add this page to your reading list, click the Bookmark icon @@ -8756,6 +8898,9 @@ Keep your key file in a safe place. You will need it to create new versions of y Your reading list has moved to the new side panel. Try it here. + + Find your reading list and bookmarks in Bookmarks and Lists + Organize your tabs with tab groups @@ -9110,6 +9255,12 @@ Check your passwords anytime in $1Brave P To view your password or add a note about it, select manage your passwords in the search and address bar + + You can securely share a copy of your password with someone in your family group + + + Use Share button at the bottom of the card to share a copy of your password with someone in your family group + Get to your saved passwords quicker @@ -9205,6 +9356,9 @@ Check your passwords anytime in $1Brave P Select password + + Select passkey + Suggest strong password @@ -9706,6 +9860,9 @@ Check your passwords anytime in $1Brave P New window + + Organize tabs + Follow site @@ -9804,6 +9961,9 @@ Check your passwords anytime in $1Brave P New Window + + Organize Tabs + Follow Site @@ -9920,12 +10080,60 @@ Check your passwords anytime in $1Brave P Organize tabs + + Let Brave organize your tabs + You can organize your tabs anytime - + + Brave can help your tabs stay organized and easy to find + + + Turn on sync to let Brave keep your tabs organized. + + + Turn on History sync in Settings to let Brave keep your tabs organized. + + Organize tabs + + Turn on sync + + + Settings + + + Sign in + + + Organizing… + + + Tab organization found + + + Something went wrong + + + No opportunities for tab organization found + + + Tab organization is currently unavailable + + + You'll get more opportunities for tab organization after you open new related tabs + + + Tip: + + + You can organize your own tabs anytime. + + + Show me how + @@ -9965,6 +10173,9 @@ Check your passwords anytime in $1Brave P Close group + + Hide group + Delete group @@ -9997,6 +10208,9 @@ Check your passwords anytime in $1Brave P Close Group + + Hide Group + Delete Group @@ -10798,7 +11012,7 @@ Check your passwords anytime in $1Brave P Cleared on Exit - New cookie settings will take effect after reloading the page + Reload this page to apply your updated settings on this site Reload @@ -10808,24 +11022,31 @@ Check your passwords anytime in $1Brave P - - Cookies and site data + + On-device site data + + To improve your visit, sites often save your activity – often to your device. $1Manage site data + + + + Manage site data + - From the site you’re viewing + Data from the site you’re visiting - Including sites from the same domain, for example, google.com and mail.google.com. Sites you’re viewing can save data on your device. + A site might save your preferred language or items you want to buy. This info is avaiable to the site and its subdomains. - From other sites + Data from embedded sites - A site you’re viewing can embed content from other sites, for example images, ads, and text. These embedded sites can save data on your device. + A site can also embed content from other sites, for example images, ads, and text. These other sites can also save data. @@ -11437,8 +11658,8 @@ This can include information about installed software, files, your browser, and Continue - - Not your device? Use <a is="action-link" target="_blank">Guest mode</a>. + + Continue as $1Bob This will separate your browsing from $1bob@example.com @@ -13909,40 +14130,6 @@ Please help our engineers fix this problem. Tell us what happened right before y - - - - Browse fast with Brave - - - Browse safely with Brave - - - Browse smart with Brave - - - Switch to a fast browser - - - Switch to a smart browser - - - Switch to a secure browser - - - Switch to a smart and secure browser - - - Brave recommends Brave - - - Open Brave - - - No thanks - - - @@ -14133,6 +14320,9 @@ Please help our engineers fix this problem. Tell us what happened right before y Select where this site can save changes + + Warning: this site can see edits you make + @@ -14557,6 +14747,9 @@ Please help our engineers fix this problem. Tell us what happened right before y Scan this QR code with the device that has the passkey you want to use for $1example.com + + QR code + Use a different device @@ -15200,52 +15393,58 @@ Please help our engineers fix this problem. Tell us what happened right before y You can use your $1idp.example account on this site. To continue, sign in to $1idp.example. - + Can't continue with $1idp.example - + Something went wrong - + $1rp.example can't continue using $2idp.example - + This option is unavailable right now. - + $1rp.example can't continue using $2idp.example - + This option is unavailable right now. - + Check that you chose the right account - + Check if the selected account is supported. - + Check your internet connection - + If you're online but this issue keeps happening, you can try other ways to continue on $1rp.example. - + Try again later - + $1idp.example isn't available right now. - + Got it - + More details - + + Choose "More details" below to get more information from $1idp.example. + + + You can try other ways to continue on $1rp.example. + + If this issue keeps happening, choose "More details" below to get more information from $1idp.example. - + If this issue keeps happening, you can try other ways to continue on $1rp.example. @@ -15582,28 +15781,111 @@ Please help our engineers fix this problem. Tell us what happened right before y Protected Audiences Debugging is enabled. + + + You have enabled testing third-party cookie phaseout. This cannot be overridden by the settings page. If you want to re-enable third-party cookies, relaunch Brave with this feature disabled. + + Lorem Ipsum - + Lorem Ipsum - + + Use $1plus@plus.plus? + + Lorem Ipsum or whatever For $1test@example.test - + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. - + Dolor - + Sit + + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua <link>Ut enim ad minim veniam</link> for <b>$1test@example.test</b>. + + + + + Profile + + + Downloads + + + Extensions + + + Forward + + + Home + + + Labs + + + Media controls + + + New tab + + + Open side panel + + + + + waiting... + + + installing... + + + $1Gmail, waiting + + + $1Gmail, installing + + + An app, waiting + + + An app, installing + + + + + This app can’t be opened because you do not have permission to run isolated web apps + + + Change your preferences + + + You security preferences do not allow installations of Isolated Apps. $1Change your preferences + + + Brave is verifying the installation bundle + + + Please wait while verification is in progress + + + {MINUTES, plural, + =0 {Checking public key and integrity block... Less than 1 minute remaining} + =1 {Checking public key and integrity block... 1 minute remaining} + other {Checking public key and integrity block... # minutes remaining}} + diff --git a/app/generated_resources_override.grd b/app/generated_resources_override.grd index 3fd01c70e3bf..e6d82361d946 100644 --- a/app/generated_resources_override.grd +++ b/app/generated_resources_override.grd @@ -628,6 +628,10 @@ are declared in tools/grit/grit_rule.gni. + + + + @@ -637,6 +641,11 @@ are declared in tools/grit/grit_rule.gni. + + + + + @@ -1103,9 +1112,6 @@ are declared in tools/grit/grit_rule.gni. - - - diff --git a/app/gmc_strings.grdp b/app/gmc_strings.grdp index 7c0203680ce5..31ec9619aa73 100644 --- a/app/gmc_strings.grdp +++ b/app/gmc_strings.grdp @@ -53,6 +53,12 @@ Control the media you're casting + + Cast video files on your device to another screen + + + Initiate casting of video files from your device to another screen + Report an issue with Brave Cast diff --git a/app/nearby_share_strings.grdp b/app/nearby_share_strings.grdp index 743b02dcbb47..485938d6a35e 100644 --- a/app/nearby_share_strings.grdp +++ b/app/nearby_share_strings.grdp @@ -23,6 +23,9 @@ To use Nearby Share with these contacts, add the email address linked with their Brave sync chain to your contacts. + + To use $1Nearby Share with these contacts, add the email address linked with their Brave sync chain to your contacts. + No reachable contacts @@ -75,6 +78,9 @@ Nearby Share + + $1Nearby Share + Scanning for nearby devices... @@ -92,6 +98,9 @@ Set up Nearby Share + + Set up $1Nearby Share + @@ -117,6 +126,9 @@ Nearby Share + + $1Nearby Share + Accept @@ -260,6 +272,9 @@ To use Nearby Share, turn on Bluetooth and Wi-Fi + + To use $1Nearby Share, turn on Bluetooth and Wi-Fi + @@ -278,9 +293,12 @@ Nearby Share settings for $1Jane Doe's device, sharing under the account $2example@gmail.com. - + Nearby Share uses Bluetooth scanning to find nearby devices. + + $1Nearby Share uses Bluetooth scanning to find nearby devices. + If you're sharing with a Chromebook that is not in your contacts, make sure the Chromebook has “Nearby visibility” turned on. To turn on “Nearby visibility,” select the bottom right corner and then select to turn on “Nearby visibility.” <a>Learn more</a> @@ -348,12 +366,18 @@ Receive with Nearby Share? + + Receive with $1Nearby Share? + Decline Set up Nearby Share to receive and send files with profiles around you + + Set up $1Nearby Share to receive and send files with profiles around you + To receive and accept files with profiles around you, become visible @@ -420,6 +444,9 @@ Nearby Share + + $1Nearby Share + $1Ted's Pixel 2 cancelled the transfer diff --git a/app/nearby_share_strings_override.grdp b/app/nearby_share_strings_override.grdp index e5a2830567fc..f564573fd80a 100644 --- a/app/nearby_share_strings_override.grdp +++ b/app/nearby_share_strings_override.grdp @@ -4,6 +4,9 @@ Set up Nearby Share to receive and send files with profiles around you + + Set up $1Nearby Share to receive and send files with profiles around you + To receive and accept files with profiles around you, become visible diff --git a/app/os_settings_search_tag_strings.grdp b/app/os_settings_search_tag_strings.grdp index eb5fd03873da..3f3e76653a83 100644 --- a/app/os_settings_search_tag_strings.grdp +++ b/app/os_settings_search_tag_strings.grdp @@ -121,7 +121,7 @@ Mobile networks - Hotspot + Instant hotspot Turn off Instant Tethering @@ -301,30 +301,57 @@ Turn on Nearby Share + + Turn on $1Nearby Share + Enable Nearby Share + + Enable $1Nearby Share + Turn off Nearby Share + + Turn off $1Nearby Share + Disable Nearby Share + + Disable $1Nearby Share + Nearby Share device name + + $1Nearby Share device name + Nearby Share visibility + + $1Nearby Share visibility + Nearby Share discoverability + + $1Nearby Share discoverability + Nearby Share contacts + + $1Nearby Share contacts + Nearby Share data usage + + $1Nearby Share data usage + Turn on notification when devices are nearby @@ -842,6 +869,9 @@ Notifications + + Manage app notifications + Turn on Do Not Disturb diff --git a/app/os_settings_strings.grdp b/app/os_settings_strings.grdp index 49fc8f599ad0..2839b2f864dc 100644 --- a/app/os_settings_strings.grdp +++ b/app/os_settings_strings.grdp @@ -26,6 +26,10 @@ Opens in new tab + + + , ''' + @@ -52,6 +56,9 @@ + + Updates, help, developer options + Build details @@ -313,6 +320,9 @@ =1 {1 Brave sync chain} other {$22 Brave sync chains}} + + $12 accounts + Turn on @@ -490,6 +500,12 @@ Your administrator doesn't allow this input method + + Couldn't add input method + + + Please restart your device to finish installation + Spell check @@ -591,6 +607,12 @@ Manage personal information + + Orca + + + Create a draft or refine existing work, powered by Brave AI. + Emoji suggestions @@ -890,6 +912,21 @@ Device + + keyboard + + + mouse + + + touchpad + + + print + + + display + @@ -982,9 +1019,12 @@ This will remove up to $15.0 GB of space used by your offline files. Some files will still be available offline. <a target="_blank" href="$2https://google.com/">Learn more</a> - + Can’t clean up storage while file sync is on + + No offline storage to clean up + Can’t clean up storage until offline storage size is known. @@ -1015,14 +1055,11 @@ New files in My Drive will stop syncing automatically to this Chromebook - - Checking storage space… - - - We are in the process of checking storage space… + + Scanning is taking longer than expected - We are in the process of checking storage space. $11,072 items found. + File sync has found $11,072 files so far and is still checking storage space. Try turning on File sync again in a few minutes. Remove Drive access @@ -1136,11 +1173,14 @@ Add your Microsoft account + + Loading... + - Add + Connect - Remove + Remove access Open OneDrive folder @@ -2745,46 +2785,114 @@ Press an assigned switch or key to remove assignment. Loading apps... - - + Graphics tablet - + Customize tablet buttons - + Customize pen buttons - + Customize mouse buttons - + Key combination - - None + + Default - + Change button name - + + Press 1-4 modifier keys (ctrl, alt, shift, search, or launcher) and 1 more key. You can also select a single key. + + Cancel - + Save - + New button name - + Enter key combination - + Click additional buttons on your $1MX Anywhere 2S to add or locate buttons. + + $115/$264 + + + There is a button with the same name. Please choose another one. + + + Disable + + + Volume on/off + + + Microphone on/off + + + Media Play/Pause + + + Overview + + + Screenshot + + + Emoji Picker + + + High contrast on/off + + + Magnifier on/off + + + Dictation on/off + + + Undo + + + Redo + + + Zoom In + + + Zoom Out + + + Right click + + + Left click + + + Middle click + + + Previous page + + + Next page + + + $1Side button remapped to $2Copy. + @@ -2991,6 +3099,9 @@ Press an assigned switch or key to remove assignment. More actions for $1Beats + + $12 devices connected + @@ -3330,107 +3441,106 @@ Press an assigned switch or key to remove assignment. Disabled - - + F11 - + F12 - + search + shift + $1back - + launcher + shift + $1refresh - + search + alt + $1back - + launcher + alt + $1refresh - + search + ctrl + shift + $1back - + launcher + ctrl + shift + $1refresh - + shift + $1back - + alt + $1back - + ctrl + shift + $1refresh - + back - + forward - + fullscreen - + keyboard brightness down - + keyboard backlight toggle - + keyboard brightness up - + microphone mute - + mute - + overview - + play/pause - + privacy screen toggle - + refresh - + screenshot - + display brightness down - + display brightness up - + screen mirror - + next track - + previous track - + volume down - + volume up - + all applications - + emoji pciker - + dictation @@ -3858,13 +3968,13 @@ Press an assigned switch or key to remove assignment. Connect to mobile data to use hotspot. <a target="_blank" href="$1">Learn more</a> - Hotspot enable + Hotspot On - Turning On... + Turning on... Off @@ -3941,6 +4051,9 @@ Press an assigned switch or key to remove assignment. Cancel + + Error saving the configuration + Invalid hotspot configuration @@ -4130,12 +4243,12 @@ Press an assigned switch or key to remove assignment. Adding profile. This may take a few minutes. - - Removing profile. This may take a few minutes. - Renaming profile. This may take a few minutes. + + Removing profile. This may take a few minutes. + Connecting to profile. This may take a few minutes. @@ -4145,6 +4258,9 @@ Press an assigned switch or key to remove assignment. Your administrator is resetting your eSIM. This may take a few minutes. + + Looking for available profiles. This may take a few minutes. + Profile could not be removed. Please try again or contact your carrier for technical support. @@ -4372,16 +4488,31 @@ Press an assigned switch or key to remove assignment. IMEI + + + Serial number Your device EID is $1123456789. This number can be used to help activate service. Your device IMEI is $1123456789. This number can be used to help activate service. + + + Your device serial number is $1123456789. This number can be used to help activate service. Your device EID is $1123456789 and device IMEI is $1123456789. These numbers can be used to help activate service. + + Your device EID is $1123456789 and device serial number is $1123456789. These numbers can be used to help activate service. + + + Your device IMEI is $1123456789 and device serial is $1123456789. These numbers can be used to help activate service. + + + Your device EID is $1123456789 , device IMEI is $1123456789 and device serial number is $1123456789. These numbers can be used to help activate service. + Passpoint provider details @@ -4485,6 +4616,15 @@ Press an assigned switch or key to remove assignment. Connected devices + + Phone Hub, Nearby Share + + + Connected to $1Android phone + + + Connected to Android phone + Set up @@ -4500,7 +4640,7 @@ Press an assigned switch or key to remove assignment. Android phone - + Android phone ($1Android phone) @@ -5632,6 +5772,9 @@ Press an assigned switch or key to remove assignment. $1Internal Keyboard has been disconnected + + All graphics tablets have been disconnected + All mice have been disconnected @@ -5808,6 +5951,12 @@ Press & hold keyboard keys to see accent marks and special characters. This Show dot on app icon for app alerts + + Manage app notifications + + + $11 of $22 apps can send notifications + Turn on isolated web apps @@ -5970,6 +6119,15 @@ Press & hold keyboard keys to see accent marks and special characters. This Help improve ChromeOS features and performance. Data is aggregated and highly protected. + + Security and Privacy + + + Privacy and security + + + Lock screen, controls + Automatically sends crash reports as well as diagnostic and usage data to Brave @@ -6093,11 +6251,11 @@ Press & hold keyboard keys to see accent marks and special characters. This You'll get notified if you talk while your mic is muted when using certain apps, like video chat apps. Audio never leaves your device. - + Location access - - Allow apps, websites, and system services to use your location. Location may use sources like Wi-Fi, mobile networks, and sensors to help estimate your device’s location. + + Allow apps, websites, and system services to use your location. Location may use sources like Wi-Fi, mobile networks, and sensors to help estimate your device’s location. <a>Learn more</a> $1ChromeOS Flex hardware support and stability @@ -6114,7 +6272,27 @@ Press & hold keyboard keys to see accent marks and special characters. This No website is allowed to use your microphone - + + Apps + + + Encrypt URLs entered into the browser + + + Use secure Domain Name Servers (DNS) to prevent those with access to your internet traffic from seeing which web pages you visit + + + Turn off URL encryption? + + + Those with access to your internet traffic can see what websites you visit + + + Cancel + + + Turn off + @@ -6143,8 +6321,19 @@ Press & hold keyboard keys to see accent marks and special characters. This System preferences + + Storage, power, language + Storage and power + + + + ChromeOS is out of date + + + ChromeOS is up to date + diff --git a/app/password_manager_ui_strings.grdp b/app/password_manager_ui_strings.grdp index a05bdd70c2b3..7b6dd82b3a07 100644 --- a/app/password_manager_ui_strings.grdp +++ b/app/password_manager_ui_strings.grdp @@ -94,6 +94,9 @@ Your family member can't receive passwords right now. Ask them to update Brave and sync their passwords. + + Password sharing is managed by your administrator + Not available @@ -543,8 +546,8 @@ {COUNT, plural, - =1 {{COUNT} password is saved only to this device. To use it on your other devices, <a target='_blank' href='chrome://password-manager/'>save it in your Brave sync chain</a>.} - other {{COUNT} passwords are saved only to this device. To use them on your other devices, <a target='_blank' href='chrome://password-manager/'>save them in your Brave sync chain</a>.}} + =1 {{COUNT} password is saved only to this device. To use it on your other devices, <a href='chrome://password-manager/'>save it in your Brave sync chain</a>.} + other {{COUNT} passwords are saved only to this device. To use them on your other devices, <a href='chrome://password-manager/'>save them in your Brave sync chain</a>.}} Opens in new tab diff --git a/app/profiles_strings.grdp b/app/profiles_strings.grdp index 542c5632801d..9a8981e86a33 100644 --- a/app/profiles_strings.grdp +++ b/app/profiles_strings.grdp @@ -81,6 +81,9 @@ Turn on sync... + + Continue as $1John + Sync is off diff --git a/app/settings_brave_strings.grdp b/app/settings_brave_strings.grdp index e25f4ed0fba6..51f9d4c1402c 100644 --- a/app/settings_brave_strings.grdp +++ b/app/settings_brave_strings.grdp @@ -186,9 +186,15 @@ If you also share Brave usage reports, those reports include the URLs you visit - + + As you type, Brave sends the content of the address bar or search box to your default search engine + + Depending on your settings, Brave may also send cookies and your current URL + + When off, you'll still see suggestions that Brave provides locally + @@ -259,6 +265,9 @@ Safe Browsing is off. Brave recommends turning it on. + + To protect your data, let Brave remove permissions from sites you haven't visited recently. Doesn't stop notifications. + @@ -318,6 +327,11 @@ Sign in to sync and personalize Brave across your devices + + + To help improve these features, Brave sends your interactions with them to Brave. This data may be read, processed, and annotated by human reviewers. + + When on, Brave frees up memory from inactive tabs. This gives active tabs and other apps more computer resources and keeps Brave fast. Your inactive tabs automatically become active again when you go back to them. @@ -369,6 +383,12 @@ Brave will let you know if anything needs your review + + Brave update + + + Brave update + Brave can check your passwords when you save them @@ -387,4 +407,18 @@ <a href="$1" target="_blank">Brave warns you</a> about unsafe sites and downloads + + + Brave is out of date + + + Brave is up to date + + + + Go to Brave version settings + + + Relaunch Brave + diff --git a/app/settings_brave_strings_override.grdp b/app/settings_brave_strings_override.grdp index 9940f57362d3..16c89d2a5b96 100644 --- a/app/settings_brave_strings_override.grdp +++ b/app/settings_brave_strings_override.grdp @@ -52,4 +52,6 @@ Brave Private + + diff --git a/app/settings_strings.grdp b/app/settings_strings.grdp index 216e1025a5c7..ed25be78c241 100644 --- a/app/settings_strings.grdp +++ b/app/settings_strings.grdp @@ -1016,6 +1016,9 @@ All time + + Last 15 minutes + Notifications will be disabled @@ -1757,6 +1760,15 @@ Web & App Activity + + Additional settings + + + Compose + + + Offer Autofill assistance in eligible fields + Choose your search and browsing quality @@ -1840,12 +1852,9 @@ Choose whether to get additional search suggestions - + When you click or type in the address bar or search box, you'll see suggestions from your default search engine. This is off in Private. - - What you type in the address bar or search box is sent to your default search engine - @@ -1961,9 +1970,6 @@ Automatically remove permissions from unused sites - - To protect your data, remove permissions from sites you haven't visited in recently. Doesn't stop notifications. - Updates @@ -2237,16 +2243,16 @@ Brave Advanced Protection Program - Safeguards the personal Brave sync chains of anyone at risk of targeted attacks + Provides Brave’s strongest account security for profiles at risk of targeted attacks Always use secure connections - Upgrade navigations to HTTPS and warn you before loading sites that don't support it + Use HTTPS whenever possible and get warned before loading sites that don’t support it - Upgrade navigations to HTTPS and warn you before loading sites that don't support it. You can't change this setting because you have Advanced Protection enabled. + Use HTTPS whenever possible and get warned before loading sites that don’t support it. You can’t change this setting because you have Advanced Protection enabled. Manage certificates @@ -2553,8 +2559,11 @@ Name + + Allowed to edit files or folders on your device + - Edit + Can edit files or folders on your device Remove grant @@ -2563,7 +2572,7 @@ Remove - View + Can view files or folders on your device View site details @@ -3247,7 +3256,10 @@ Most sites should work as expected - If a site isn’t working, you can try giving it temporary permission to use third-party cookies. <a target="_blank" href="$1">Learn more</a></a> + If a site isn’t working, you can try giving it temporary permission to use third-party cookies. <a target="_blank" href="$1" aria-label="$2">Learn more</a></a> + + + Learn more about giving a site temporary permission to use third-party cookies Advanced @@ -3258,6 +3270,9 @@ Features on some sites may not work. + + Learn more about sites that may not work when blocking third-party cookies + Sites use their discretion when responding to this request @@ -3265,7 +3280,13 @@ Sites allowed to use third-party cookies - Affects the sites listed here and their subdomains. For example, adding “google.com” means that third-party cookies can also be active for mail.google.com, because it’s part of google.com. + Affects the sites listed here and their subdomains. For example, adding “google.com” means that third-party cookies can also be active for mail.google.com, because it’s part of google.com. + + + Tracking Protection is temporarily unavailable. While Brave is updating this feature, sites can temporarily use third-party cookies unless you block them. <a target="_blank" href="$1" aria-label="$2">Learn more</a></a> + + + Learn more about Tracking Protection availability Apps @@ -3630,7 +3651,7 @@ On-device site data - A site you visit can save info about what you're doing so that it works as you would expect — for example, to keep you signed in to a site or to save items in your shopping cart. Often sites save this info temporarily on your device. + A site you visit can save info about what you're doing so that it works as expected — for example, to keep you signed in to a site or to save items in your shopping cart. Often sites save this info temporarily on your device. Default behavior @@ -3697,7 +3718,7 @@ Remove $1google.com - + Remove $1embedding.com from $2top-level.com @@ -3924,7 +3945,7 @@ When you use some features, they can send parts of open pages, related recent pages, and their URLs to Brave - + This setting doesn't change the availability of Brave Translate or Lens @@ -4315,16 +4336,16 @@ - Safety Hub + Safety Check - - Go to Safety Hub + + Go to Safety Check Safety at a glance - - Safety recommendation + + Safety recommendations Nothing else needs your attention right now @@ -4350,6 +4371,9 @@ Your organization turned off saving passwords + + Go to Brave Password Manager + Enhanced Safe Browsing is on @@ -4374,6 +4398,9 @@ Turn on Safe Browsing to get protection against dangerous sites + + Go to Safe Browsing settings + Go to site settings @@ -4386,18 +4413,75 @@ Safe Browsing - + + + Relaunch to finish update. Your tabs will reopen. + + + + + Restart your device to finish updating + + + + {NUM_SITES, plural, + =1 {Review 1 site that recently sent a lot of notifications} + other {Review {NUM_SITES} sites that recently sent a lot of notifications}} + + {NUM_SITES, plural, - =1 {Permissions removed from 1 unused site} - other {Permissions removed from {NUM_SITES} sites}} + =1 {You can stop this site from sending future notifications.} + other {You can stop these sites from sending future notifications.}} - - Relaunch to finish update. Your tabs will reopen. + + {NUM_SITES, plural, + =1 {Removed permissions for 1 unused site} + other {Removed permissions for {NUM_SITES} unused sites}} {NUM_SITES, plural, - =1 {Review 1 website with lots of notifications} - other {Review {NUM_SITES} websites with lots of notifications}} + =1 {Found 1 site with lots of notifications} + other {Found {NUM_SITES} sites with lots of notifications}} + + + {NUM_SITES, plural, + =1 {Found 1 compromised password} + other {Found {NUM_SITES} compromised passwords}} + + + {NUM_SITES, plural, + =1 {Turned off 1 unsafe extension} + other {Turned off {NUM_SITES} unsafe extensions}} + + + Safe Browsing is off + + + Passwords + + + Safe Browsing + + + Extensions + + + extensions + + + Notifications + + + notifications + + + Permissions + + + permissions + + + , diff --git a/app/settings_strings_override.grdp b/app/settings_strings_override.grdp index 2c188b12dcaa..7afc420a7e8c 100644 --- a/app/settings_strings_override.grdp +++ b/app/settings_strings_override.grdp @@ -133,9 +133,10 @@ - + When you click or type in the address bar or search box, you'll see suggestions from your default search engine. This is off in Private. + {NUM_EXTENSIONS, plural, =1 {Review 1 extension that was taken down from the Web Store} @@ -143,6 +144,9 @@ + + Provides Brave’s strongest account security for profiles at risk of targeted attacks + @@ -212,4 +216,8 @@ Private mode keeps <a href="$1" target="_blank">your browsing private from others</a> who use your device + + + + diff --git a/app/shared_settings_strings.grdp b/app/shared_settings_strings.grdp index f94721f21c1a..dcb23b9b62ad 100644 --- a/app/shared_settings_strings.grdp +++ b/app/shared_settings_strings.grdp @@ -115,6 +115,9 @@ Nearby Share + + $1Nearby Share + Set up diff --git a/app/support_tool_strings.grdp b/app/support_tool_strings.grdp index 472fd45d5063..addffdfe7477 100644 --- a/app/support_tool_strings.grdp +++ b/app/support_tool_strings.grdp @@ -99,6 +99,12 @@ No data collector selected. Please select at least one data collector. + + Select all + + + Select none + Brave System Information diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/BraveAdsNativeHelper.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/BraveAdsNativeHelper.java index 6f4b525b0529..24b572cc78eb 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/BraveAdsNativeHelper.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/BraveAdsNativeHelper.java @@ -7,8 +7,9 @@ package org.chromium.chrome.browser; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; +import org.jni_zero.JNINamespace; +import org.jni_zero.NativeMethods; + import org.chromium.chrome.browser.profiles.Profile; @JNINamespace("brave_ads") diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/device_id/DeviceIdImplAndroid.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/device_id/DeviceIdImplAndroid.java index fa66a7d905aa..fb4aed0ce91c 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/device_id/DeviceIdImplAndroid.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/device_id/DeviceIdImplAndroid.java @@ -9,9 +9,10 @@ import android.content.Context; import android.provider.Settings; +import org.jni_zero.CalledByNative; +import org.jni_zero.JNINamespace; + import org.chromium.base.ContextUtils; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; @JNINamespace("brave_ads") public class DeviceIdImplAndroid { diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java index 2c46e9704671..c7d888c1e68b 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsNotificationDialog.java @@ -22,9 +22,10 @@ import android.view.WindowManager; import android.widget.TextView; +import org.jni_zero.CalledByNative; + import org.chromium.base.ActivityState; import org.chromium.base.ApplicationStatus; -import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveAdsNativeHelper; import org.chromium.chrome.browser.ChromeTabbedActivity; diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java index 60e382d65740..5ac942c05457 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/dialogs/BraveAdsSignupDialog.java @@ -18,10 +18,11 @@ import android.view.View; import android.widget.ImageView; +import org.jni_zero.CalledByNative; + import org.chromium.base.ContextUtils; import org.chromium.base.IntentUtils; import org.chromium.base.Log; -import org.chromium.base.annotations.CalledByNative; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.app.BraveActivity; @@ -33,7 +34,8 @@ public class BraveAdsSignupDialog { private static final String TAG = "BraveAdsSignupDialog"; - private static String SHOULD_SHOW_ONBOARDING_DIALOG_VIEW_COUNTER = "should_show_onboarding_dialog_view_counter"; + private static String SHOULD_SHOW_ONBOARDING_DIALOG_VIEW_COUNTER = + "should_show_onboarding_dialog_view_counter"; private static String SHOULD_SHOW_ONBOARDING_DIALOG = "should_show_onboarding_dialog"; private static final long TWENTY_FOUR_HOURS = 86_400_000; diff --git a/browser/brave_ads/android/java/org/chromium/chrome/browser/notifications/BraveAds.java b/browser/brave_ads/android/java/org/chromium/chrome/browser/notifications/BraveAds.java index feb630218201..1f983f0b0ab6 100644 --- a/browser/brave_ads/android/java/org/chromium/chrome/browser/notifications/BraveAds.java +++ b/browser/brave_ads/android/java/org/chromium/chrome/browser/notifications/BraveAds.java @@ -7,7 +7,8 @@ package org.chromium.chrome.browser.notifications; -import org.chromium.base.annotations.CalledByNative; +import org.jni_zero.CalledByNative; + import org.chromium.chrome.browser.notifications.channels.BraveChannelDefinitions; /** diff --git a/browser/brave_ads/application_state/background_helper/background_helper_linux.cc b/browser/brave_ads/application_state/background_helper/background_helper_linux.cc index fc508388ca57..4b08e327ea29 100644 --- a/browser/brave_ads/application_state/background_helper/background_helper_linux.cc +++ b/browser/brave_ads/application_state/background_helper/background_helper_linux.cc @@ -5,6 +5,18 @@ #include "brave/browser/brave_ads/application_state/background_helper/background_helper_linux.h" +// Something in (or included in) chrome/browser/ui/browser.h causes a build +// error when ui/base/x/x11_util.h is included after it: +// ../../ui/base/x/x11_util.h:367:68: error: invalid operands to binary +// expression ('x11::EventMask' and 'x11::EventMask') +// 367 | x11::EventMask event_mask = x11::EventMask::SubstructureNotify | +// | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ +// 368 | x11::EventMask::SubstructureRedirect); +// | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// clang-format off +#include "ui/base/x/x11_util.h" +// clang-format on + #include "base/functional/bind.h" #include "base/task/sequenced_task_runner.h" #include "chrome/browser/ui/browser.h" @@ -12,7 +24,6 @@ #include "chrome/browser/ui/browser_window.h" #include "ui/aura/window.h" #include "ui/aura/window_tree_host.h" -#include "ui/base/x/x11_util.h" #include "ui/gfx/x/x11_atom_cache.h" #include "ui/gfx/x/xproto_util.h" diff --git a/browser/brave_content_browser_client_browsertest.cc b/browser/brave_content_browser_client_browsertest.cc index 58226a3925e8..3f7262ea5610 100644 --- a/browser/brave_content_browser_client_browsertest.cc +++ b/browser/brave_content_browser_client_browsertest.cc @@ -35,7 +35,6 @@ #include "content/public/browser/navigation_entry.h" #include "content/public/test/browser_test.h" #include "content/public/test/browser_test_utils.h" -#include "content/public/test/test_navigation_observer.h" #include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_system.h" #include "extensions/common/constants.h" @@ -327,7 +326,10 @@ IN_PROC_BROWSER_TEST_F(BraveContentBrowserClientTest, RewriteMagnetURLLink) { browser()->tab_strip_model()->GetActiveWebContents(); ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), magnet_html_url())); ASSERT_TRUE(WaitForLoadStop(contents)); - EXPECT_EQ(true, content::EvalJs(contents, "clickMagnetLink();")); + EXPECT_TRUE(content::ExecJs(contents, "clickMagnetLink();")); + // Magnet protocol handler posts to UIThreadTaskRunner, so let all tasks run, + // otherwise WaitForLoadStop may return right away. + base::RunLoop().RunUntilIdle(); ASSERT_TRUE(WaitForLoadStop(contents)); EXPECT_STREQ(contents->GetLastCommittedURL().spec().c_str(), @@ -342,9 +344,11 @@ IN_PROC_BROWSER_TEST_F(BraveContentBrowserClientTest, RewriteMagnetURLLink) { IN_PROC_BROWSER_TEST_F(BraveContentBrowserClientTest, TypedMagnetURL) { content::WebContents* web_contents = browser()->tab_strip_model()->GetActiveWebContents(); - content::TestNavigationObserver observer(web_contents); ui_test_utils::SendToOmniboxAndSubmit(browser(), magnet_url().spec()); - observer.Wait(); + // Magnet protocol handler posts to UIThreadTaskRunner, so let all tasks run, + // otherwise WaitForLoadStop may return right away. + base::RunLoop().RunUntilIdle(); + ASSERT_TRUE(WaitForLoadStop(web_contents)); EXPECT_EQ(magnet_url(), web_contents->GetLastCommittedURL().spec()); } @@ -377,7 +381,10 @@ IN_PROC_BROWSER_TEST_F(BraveContentBrowserClientTest, content::WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), magnet_html_url())); - EXPECT_EQ(true, content::ExecJs(contents, "createMagnetIframe(false);")); + EXPECT_TRUE(content::ExecJs(contents, "createMagnetIframe(false);")); + // Magnet protocol handler posts to UIThreadTaskRunner, so let all tasks run, + // otherwise WaitForLoadStop may return right away. + base::RunLoop().RunUntilIdle(); ASSERT_TRUE(WaitForLoadStop(contents)); EXPECT_EQ(contents->GetLastCommittedURL(), magnet_url()); @@ -388,8 +395,11 @@ IN_PROC_BROWSER_TEST_F(BraveContentBrowserClientTest, content::WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), magnet_html_url())); - EXPECT_EQ(true, content::ExecJs(contents, "createMagnetIframe(false);", - content::EXECUTE_SCRIPT_NO_USER_GESTURE)); + EXPECT_TRUE(content::ExecJs(contents, "createMagnetIframe(false);", + content::EXECUTE_SCRIPT_NO_USER_GESTURE)); + // Magnet protocol handler posts to UIThreadTaskRunner, so let all tasks run, + // otherwise WaitForLoadStop may return right away. + base::RunLoop().RunUntilIdle(); ASSERT_TRUE(WaitForLoadStop(contents)); EXPECT_EQ(contents->GetLastCommittedURL(), magnet_html_url()); @@ -400,7 +410,10 @@ IN_PROC_BROWSER_TEST_F(BraveContentBrowserClientTest, content::WebContents* contents = browser()->tab_strip_model()->GetActiveWebContents(); ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), magnet_html_url())); - EXPECT_EQ(true, content::ExecJs(contents, "createMagnetIframe(true);")); + EXPECT_TRUE(content::ExecJs(contents, "createMagnetIframe(true);")); + // Magnet protocol handler posts to UIThreadTaskRunner, so let all tasks run, + // otherwise WaitForLoadStop may return right away. + base::RunLoop().RunUntilIdle(); ASSERT_TRUE(WaitForLoadStop(contents)); EXPECT_EQ(contents->GetLastCommittedURL(), magnet_html_url()); @@ -488,7 +501,10 @@ IN_PROC_BROWSER_TEST_F(BraveContentBrowserClientTest, browser()->tab_strip_model()->GetActiveWebContents(); ASSERT_TRUE(ui_test_utils::NavigateToURL(browser(), magnet_html_url())); ASSERT_TRUE(WaitForLoadStop(contents)); - EXPECT_EQ(true, content::EvalJs(contents, "clickMagnetLink();")); + EXPECT_TRUE(content::ExecJs(contents, "clickMagnetLink();")); + // Magnet protocol handler posts to UIThreadTaskRunner, so let all tasks run, + // otherwise WaitForLoadStop may return right away. + base::RunLoop().RunUntilIdle(); ASSERT_TRUE(WaitForLoadStop(contents)); EXPECT_STREQ(contents->GetLastCommittedURL().spec().c_str(), diff --git a/browser/brave_rewards/android/brave_rewards_native_worker.cc b/browser/brave_rewards/android/brave_rewards_native_worker.cc index f5879ce73b65..1c07971af97c 100644 --- a/browser/brave_rewards/android/brave_rewards_native_worker.cc +++ b/browser/brave_rewards/android/brave_rewards_native_worker.cc @@ -150,7 +150,7 @@ void BraveRewardsNativeWorker::OnGetRewardsParameters( double BraveRewardsNativeWorker::GetVbatDeadline(JNIEnv* env) { if (parameters_) { if (!parameters_->vbat_deadline.is_null()) { - return floor(parameters_->vbat_deadline.ToDoubleT() * + return floor(parameters_->vbat_deadline.InSecondsFSinceUnixEpoch() * base::Time::kMillisecondsPerSecond); } } @@ -448,7 +448,8 @@ void BraveRewardsNativeWorker::OnGetAdsAccountStatement( Java_BraveRewardsNativeWorker_OnGetAdsAccountStatement( env, weak_java_brave_rewards_native_worker_.get(env), - /* success */ true, statement->next_payment_date.ToDoubleT() * 1000, + /* success */ true, + statement->next_payment_date.InSecondsFSinceUnixEpoch() * 1000, statement->ads_received_this_month, statement->min_earnings_this_month, statement->max_earnings_this_month, statement->min_earnings_last_month, statement->max_earnings_last_month); diff --git a/browser/brave_rewards/rewards_service_factory.cc b/browser/brave_rewards/rewards_service_factory.cc index 140c73745dfc..edcd2083d4a1 100644 --- a/browser/brave_rewards/rewards_service_factory.cc +++ b/browser/brave_rewards/rewards_service_factory.cc @@ -17,8 +17,8 @@ #include "brave/components/brave_rewards/browser/rewards_service_impl.h" #include "brave/components/brave_rewards/browser/rewards_service_observer.h" #include "brave/components/greaselion/browser/buildflags/buildflags.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/profiles/incognito_helpers.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" diff --git a/browser/brave_rewards/rewards_tab_helper.cc b/browser/brave_rewards/rewards_tab_helper.cc index 20c9320e8b1e..021c81754af6 100644 --- a/browser/brave_rewards/rewards_tab_helper.cc +++ b/browser/brave_rewards/rewards_tab_helper.cc @@ -167,7 +167,7 @@ void RewardsTabHelper::OnBrowserNoLongerActive(Browser* browser) { } bool RewardsTabHelper::BrowserHasWebContents(Browser* browser) { - return chrome::FindBrowserWithWebContents(&GetWebContents()) == browser; + return chrome::FindBrowserWithTab(&GetWebContents()) == browser; } #endif diff --git a/browser/brave_wallet/brave_wallet_ethereum_chain_browsertest.cc b/browser/brave_wallet/brave_wallet_ethereum_chain_browsertest.cc index 1f3c2e6b6c1c..512d576f4e2e 100644 --- a/browser/brave_wallet/brave_wallet_ethereum_chain_browsertest.cc +++ b/browser/brave_wallet/brave_wallet_ethereum_chain_browsertest.cc @@ -84,7 +84,7 @@ const char kScriptRunEmptyAndCheckChainResult[] = R"( std::string EncodeQuery(const std::string& query) { url::RawCanonOutputT buffer; - url::EncodeURIComponent(query.data(), query.size(), &buffer); + url::EncodeURIComponent(query, &buffer); return std::string(buffer.data(), buffer.length()); } diff --git a/browser/brave_wallet/brave_wallet_provider_delegate_impl_helper.cc b/browser/brave_wallet/brave_wallet_provider_delegate_impl_helper.cc index 2ec7e3b8a5a0..c0684a01ee47 100644 --- a/browser/brave_wallet/brave_wallet_provider_delegate_impl_helper.cc +++ b/browser/brave_wallet/brave_wallet_provider_delegate_impl_helper.cc @@ -35,7 +35,7 @@ void ShowPanel(content::WebContents* web_contents) { void ShowWalletOnboarding(content::WebContents* web_contents) { Browser* browser = - web_contents ? chrome::FindBrowserWithWebContents(web_contents) : nullptr; + web_contents ? chrome::FindBrowserWithTab(web_contents) : nullptr; if (browser) { brave::ShowBraveWalletOnboarding(browser); @@ -47,7 +47,7 @@ void ShowWalletOnboarding(content::WebContents* web_contents) { void ShowAccountCreation(content::WebContents* web_contents, brave_wallet::mojom::CoinType coin_type) { Browser* browser = - web_contents ? chrome::FindBrowserWithWebContents(web_contents) : nullptr; + web_contents ? chrome::FindBrowserWithTab(web_contents) : nullptr; if (browser) { brave::ShowBraveWalletAccountCreation(browser, coin_type); diff --git a/browser/download/android/java/src/org/chromium/chrome/browser/download/BraveMimeUtils.java b/browser/download/android/java/src/org/chromium/chrome/browser/download/BraveMimeUtils.java index 41821ad98d47..058fab0fc5a6 100644 --- a/browser/download/android/java/src/org/chromium/chrome/browser/download/BraveMimeUtils.java +++ b/browser/download/android/java/src/org/chromium/chrome/browser/download/BraveMimeUtils.java @@ -5,9 +5,10 @@ package org.chromium.chrome.browser.download; +import org.jni_zero.CalledByNative; + import org.chromium.base.BravePreferenceKeys; import org.chromium.base.ContextUtils; -import org.chromium.base.annotations.CalledByNative; public class BraveMimeUtils { @CalledByNative diff --git a/browser/download/bubble/download_display_controller_unittest.cc b/browser/download/bubble/download_display_controller_unittest.cc index 67e7bef78967..2234ac16e700 100644 --- a/browser/download/bubble/download_display_controller_unittest.cc +++ b/browser/download/bubble/download_display_controller_unittest.cc @@ -196,7 +196,7 @@ class MockDownloadBubbleUpdateService : public DownloadBubbleUpdateService { } const DownloadBubbleDisplayInfo& GetDisplayInfo( - const web_app::AppId* web_app_id) override { + const webapps::AppId* web_app_id) override { info_ = DownloadBubbleDisplayInfo{}; int download_item_index = 0, offline_item_index = 0; // Compose a list of models from the items stored in the test fixture. @@ -223,7 +223,7 @@ class MockDownloadBubbleUpdateService : public DownloadBubbleUpdateService { bool GetAllModelsToDisplay( std::vector& models, - const web_app::AppId* web_app_id, + const webapps::AppId* web_app_id, bool force_backfill_download_items = true) override { models.clear(); int download_item_index = 0, offline_item_index = 0; @@ -263,7 +263,7 @@ class MockDownloadBubbleUpdateService : public DownloadBubbleUpdateService { MOCK_METHOD(DownloadDisplay::ProgressInfo, GetProgressInfo, - (const web_app::AppId*), + (const webapps::AppId*), (const override)); private: @@ -459,8 +459,8 @@ class DownloadDisplayControllerTest : public testing::Test { if (state == DownloadState::COMPLETE) { EXPECT_CALL(item(item_index), IsDone()).WillRepeatedly(Return(true)); in_progress_count_--; - DownloadPrefs::FromBrowserContext(profile())->SetLastCompleteTime( - base::Time::Now()); + EXPECT_CALL(item(item_index), GetEndTime()) + .WillRepeatedly(Return(base::Time::Now())); } else { EXPECT_CALL(item(item_index), IsDone()).WillRepeatedly(Return(false)); } diff --git a/browser/extensions/api/brave_rewards_api.cc b/browser/extensions/api/brave_rewards_api.cc index 99686df60a71..06b2371db78c 100644 --- a/browser/extensions/api/brave_rewards_api.cc +++ b/browser/extensions/api/brave_rewards_api.cc @@ -73,7 +73,7 @@ content::WebContents* WebContentsFromBrowserContext( RewardsPanelCoordinator* GetPanelCoordinator( content::WebContents* web_contents) { DCHECK(web_contents); - auto* browser = chrome::FindBrowserWithWebContents(web_contents); + auto* browser = chrome::FindBrowserWithTab(web_contents); return browser ? RewardsPanelCoordinator::FromBrowser(browser) : nullptr; } @@ -94,7 +94,7 @@ TipPanelCoordinator* GetTipPanelCoordinator( return nullptr; } - auto* browser = chrome::FindBrowserWithWebContents(contents); + auto* browser = chrome::FindBrowserWithTab(contents); if (!browser) { return nullptr; } @@ -667,8 +667,9 @@ void BraveRewardsGetRewardsParametersFunction::OnGetRewardsParameters( data.Set("walletProviderRegions", std::move(provider_regions)); if (!parameters->vbat_deadline.is_null()) { - data.Set("vbatDeadline", floor(parameters->vbat_deadline.ToDoubleT() * - base::Time::kMillisecondsPerSecond)); + data.Set("vbatDeadline", + floor(parameters->vbat_deadline.InSecondsFSinceUnixEpoch() * + base::Time::kMillisecondsPerSecond)); } data.Set("vbatExpired", parameters->vbat_expired); @@ -1271,7 +1272,7 @@ void BraveRewardsGetAdsAccountStatementFunction::OnGetAdsAccountStatement( } else { base::Value::Dict dict; dict.Set("nextPaymentDate", - statement->next_payment_date.ToDoubleT() * 1000); + statement->next_payment_date.InSecondsFSinceUnixEpoch() * 1000); dict.Set("adsReceivedThisMonth", statement->ads_received_this_month); dict.Set("minEarningsThisMonth", statement->min_earnings_this_month); dict.Set("maxEarningsThisMonth", statement->max_earnings_this_month); diff --git a/browser/ipfs/ipfs_policy_browsertest.cc b/browser/ipfs/ipfs_policy_browsertest.cc index 0a31894e7318..ecd752c83ad8 100644 --- a/browser/ipfs/ipfs_policy_browsertest.cc +++ b/browser/ipfs/ipfs_policy_browsertest.cc @@ -75,12 +75,6 @@ class IpfsPolicyTest : public InProcessBrowserTest { return web_contents()->GetBrowserContext(); } - size_t infobar_count() const { - infobars::ContentInfoBarManager* infobar_manager = - infobars::ContentInfoBarManager::FromWebContents(web_contents()); - return infobar_manager->infobar_count(); - } - const GURL& ipfs_url() { return ipfs_url_; } private: diff --git a/browser/ipfs/ipfs_tab_helper_browsertest.cc b/browser/ipfs/ipfs_tab_helper_browsertest.cc index acff4a088419..c80c56f7d81d 100644 --- a/browser/ipfs/ipfs_tab_helper_browsertest.cc +++ b/browser/ipfs/ipfs_tab_helper_browsertest.cc @@ -5,6 +5,7 @@ #include "brave/browser/ipfs/ipfs_tab_helper.h" +#include "base/ranges/algorithm.h" #include "brave/browser/ipfs/ipfs_host_resolver.h" #include "brave/browser/ui/views/infobars/brave_confirm_infobar.h" #include "brave/components/infobars/core/brave_confirm_infobar_delegate.h" @@ -682,14 +683,11 @@ IN_PROC_BROWSER_TEST_F(IpfsTabHelperBrowserTest, IPFSPromoInfobar) { auto find_infobar = [](infobars::ContentInfoBarManager* content_infobar_manager) -> infobars::InfoBar* { - for (size_t i = 0; i < content_infobar_manager->infobar_count(); i++) { - auto* infobar = content_infobar_manager->infobar_at(i); - if (infobar->delegate()->GetIdentifier() == - BraveConfirmInfoBarDelegate::BRAVE_IPFS_INFOBAR_DELEGATE) { - return infobar; - } - } - return nullptr; + const auto it = base::ranges::find( + content_infobar_manager->infobars(), + BraveConfirmInfoBarDelegate::BRAVE_IPFS_INFOBAR_DELEGATE, + &infobars::InfoBar::GetIdentifier); + return it != content_infobar_manager->infobars().cend() ? *it : nullptr; }; // Press cancel @@ -808,14 +806,11 @@ IN_PROC_BROWSER_TEST_F(IpfsTabHelperBrowserTest, IPFSPromoInfobar_NowShown) { auto find_infobar = [](infobars::ContentInfoBarManager* content_infobar_manager) -> infobars::InfoBar* { - for (size_t i = 0; i < content_infobar_manager->infobar_count(); i++) { - auto* infobar = content_infobar_manager->infobar_at(i); - if (infobar->delegate()->GetIdentifier() == - BraveConfirmInfoBarDelegate::BRAVE_IPFS_INFOBAR_DELEGATE) { - return infobar; - } - } - return nullptr; + const auto it = base::ranges::find( + content_infobar_manager->infobars(), + BraveConfirmInfoBarDelegate::BRAVE_IPFS_INFOBAR_DELEGATE, + &infobars::InfoBar::GetIdentifier); + return it != content_infobar_manager->infobars().cend() ? *it : nullptr; }; // Infobar shouldn't be shown after that diff --git a/browser/ipfs/test/ipfs_not_connected_page_browsertest.cc b/browser/ipfs/test/ipfs_not_connected_page_browsertest.cc index 9120181d7549..7be1595379e7 100644 --- a/browser/ipfs/test/ipfs_not_connected_page_browsertest.cc +++ b/browser/ipfs/test/ipfs_not_connected_page_browsertest.cc @@ -153,7 +153,8 @@ IN_PROC_BROWSER_TEST_F(IpfsNotConnectedPageBrowserTest, EXPECT_FALSE(GetPrefs()->GetBoolean(kIPFSAutoFallbackToGateway)); // Send Proceed command and check if we fallback to gateway and pref is set. - ExecuteInterstitialScript(browser(), "$('primary-button').click();"); + ExecuteInterstitialScript( + browser(), "document.querySelector('#primary-button').click();"); EXPECT_EQ(gateway_url(), web_contents->GetURL()); EXPECT_TRUE(GetPrefs()->GetBoolean(kIPFSAutoFallbackToGateway)); diff --git a/browser/ipfs/test/ipfs_onboarding_page_browsertest.cc b/browser/ipfs/test/ipfs_onboarding_page_browsertest.cc index c98fb7c44ad9..fe1354047ab1 100644 --- a/browser/ipfs/test/ipfs_onboarding_page_browsertest.cc +++ b/browser/ipfs/test/ipfs_onboarding_page_browsertest.cc @@ -180,7 +180,8 @@ IN_PROC_BROWSER_TEST_F(IpfsOnboardingPageBrowserTest, ShowAndUseLocalNode) { EXPECT_FALSE(GetPrefs()->GetBoolean(kIPFSAutoFallbackToGateway)); // Send Proceed command and check if we fallback to gateway and pref is set. - ExecuteInterstitialScript(browser(), "$('local-node-button').click();"); + ExecuteInterstitialScript( + browser(), "document.querySelector('#local-node-button').click();"); GURL resolved_url = GetResolvedNodeURL(); EXPECT_EQ(resolved_url, web_contents->GetURL()); EXPECT_EQ(GetPrefs()->GetInteger(kIPFSResolveMethod), @@ -215,7 +216,8 @@ IN_PROC_BROWSER_TEST_F(IpfsOnboardingPageBrowserTest, ShowAndUseGateway) { EXPECT_FALSE(GetPrefs()->GetBoolean(kIPFSAutoFallbackToGateway)); // Send Proceed command and check if we fallback to gateway and pref is set. - ExecuteInterstitialScript(browser(), "$('public-gateway-button').click();"); + ExecuteInterstitialScript( + browser(), "document.querySelector('#public-gateway-button').click();"); EXPECT_EQ(gateway_url(), web_contents->GetURL()); EXPECT_EQ(GetPrefs()->GetInteger(kIPFSResolveMethod), static_cast(IPFSResolveMethodTypes::IPFS_GATEWAY)); @@ -249,7 +251,8 @@ IN_PROC_BROWSER_TEST_F(IpfsOnboardingPageBrowserTest, LearnMore) { EXPECT_FALSE(GetPrefs()->GetBoolean(kIPFSAutoFallbackToGateway)); // Send Proceed command and check if we fallback to gateway and pref is set. - EXPECT_TRUE(content::ExecJs(web_contents, "$('learn-more').click();")); + EXPECT_TRUE(content::ExecJs( + web_contents, "document.querySelector('#learn-more').click();")); EXPECT_EQ(GetPrefs()->GetInteger(kIPFSResolveMethod), static_cast(IPFSResolveMethodTypes::IPFS_ASK)); @@ -278,7 +281,8 @@ IN_PROC_BROWSER_TEST_F(IpfsOnboardingPageBrowserTest, OpenSettings) { EXPECT_FALSE(GetPrefs()->GetBoolean(kIPFSAutoFallbackToGateway)); // Send Proceed command and check if we fallback to gateway and pref is set. - EXPECT_TRUE(content::ExecJs(web_contents, "$('open-settings').click();")); + EXPECT_TRUE(content::ExecJs( + web_contents, "document.querySelector('#open-settings').click();")); EXPECT_EQ(GetPrefs()->GetInteger(kIPFSResolveMethod), static_cast(IPFSResolveMethodTypes::IPFS_ASK)); diff --git a/browser/net/brave_network_audit_browsertest.cc b/browser/net/brave_network_audit_browsertest.cc index b1f1e882eb9d..ae9c8ff67192 100644 --- a/browser/net/brave_network_audit_browsertest.cc +++ b/browser/net/brave_network_audit_browsertest.cc @@ -21,7 +21,7 @@ #include "brave/browser/ui/brave_browser.h" #include "brave/components/brave_rewards/browser/rewards_service_impl.h" #include "brave/components/playlist/common/buildflags/buildflags.h" -#include "chrome/browser/password_manager/password_store_factory.h" +#include "chrome/browser/password_manager/profile_password_store_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/test/base/in_process_browser_test.h" @@ -219,8 +219,8 @@ class BraveNetworkAuditTest : public InProcessBrowserTest { } void SetUpCommandLine(base::CommandLine* command_line) override { - base::FilePath source_root_path; - base::PathService::Get(base::DIR_SOURCE_ROOT, &source_root_path); + base::FilePath source_root_path = + base::PathService::CheckedGet(base::DIR_SRC_TEST_DATA_ROOT); // Full log containing all the network requests. net_log_path_ = source_root_path.AppendASCII("network_log.json"); @@ -303,8 +303,8 @@ IN_PROC_BROWSER_TEST_F(BraveNetworkAuditTest, BasicTests) { // Add a password to the password manager. password_manager::PasswordStoreInterface* password_store = - PasswordStoreFactory::GetForProfile(browser()->profile(), - ServiceAccessType::IMPLICIT_ACCESS) + ProfilePasswordStoreFactory::GetForProfile( + browser()->profile(), ServiceAccessType::IMPLICIT_ACCESS) .get(); password_manager::PasswordForm signin_form; signin_form.signon_realm = "https://www.facebook.com/"; diff --git a/browser/ntp_background/custom_background_file_manager.h b/browser/ntp_background/custom_background_file_manager.h index 5eee8db441d4..2d3bef2467ee 100644 --- a/browser/ntp_background/custom_background_file_manager.h +++ b/browser/ntp_background/custom_background_file_manager.h @@ -96,9 +96,8 @@ class CustomBackgroundFileManager final { const auto path = value.path().substr(1); DCHECK(!path.empty()) << "URL path is empty " << value; url::RawCanonOutputT decoded_value; - url::DecodeURLEscapeSequences(path.data(), path.length(), - url::DecodeURLMode::kUTF8OrIsomorphic, - &decoded_value); + url::DecodeURLEscapeSequences( + path, url::DecodeURLMode::kUTF8OrIsomorphic, &decoded_value); value_ = base::UTF16ToUTF8( std::u16string(decoded_value.data(), decoded_value.length())); } else { @@ -136,7 +135,7 @@ class CustomBackgroundFileManager final { // Do percent encoding and compose it with base url so that it can // be used as webui data url. url::RawCanonOutputT encoded; - url::EncodeURIComponent(value_.c_str(), value_.length(), &encoded); + url::EncodeURIComponent(value_, &encoded); return GURL(ntp_background_images::kCustomWallpaperURL + std::string(encoded.data(), encoded.length())); } else { diff --git a/browser/permissions/mock_permission_lifetime_prompt.cc b/browser/permissions/mock_permission_lifetime_prompt.cc index e4b0623a2d21..2188975e4a1e 100644 --- a/browser/permissions/mock_permission_lifetime_prompt.cc +++ b/browser/permissions/mock_permission_lifetime_prompt.cc @@ -42,4 +42,8 @@ absl::optional MockPermissionLifetimePrompt::GetViewBoundsInScreen() return absl::nullopt; } +bool MockPermissionLifetimePrompt::ShouldFinalizeRequestAfterDecided() const { + return true; +} + } // namespace permissions diff --git a/browser/permissions/mock_permission_lifetime_prompt.h b/browser/permissions/mock_permission_lifetime_prompt.h index 73026fb7f7d5..81a64a754d5e 100644 --- a/browser/permissions/mock_permission_lifetime_prompt.h +++ b/browser/permissions/mock_permission_lifetime_prompt.h @@ -23,6 +23,7 @@ class MockPermissionLifetimePrompt : public PermissionPrompt { TabSwitchingBehavior GetTabSwitchingBehavior() override; PermissionPromptDisposition GetPromptDisposition() const override; absl::optional GetViewBoundsInScreen() const override; + bool ShouldFinalizeRequestAfterDecided() const override; Delegate* delegate() { return delegate_; } void ResetFactory(); diff --git a/browser/profiles/brave_profile_manager.cc b/browser/profiles/brave_profile_manager.cc index 14128ed28fe1..f6e99a108e8a 100644 --- a/browser/profiles/brave_profile_manager.cc +++ b/browser/profiles/brave_profile_manager.cc @@ -24,8 +24,8 @@ #include "brave/components/content_settings/core/browser/brave_content_settings_pref_provider.h" #include "brave/components/ipfs/buildflags/buildflags.h" #include "brave/components/tor/buildflags/buildflags.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/profiles/profile_attributes_entry.h" #include "chrome/browser/profiles/profile_attributes_storage.h" #include "chrome/browser/profiles/profiles_state.h" diff --git a/browser/resources/settings/brave_appearance_page/super_referral.ts b/browser/resources/settings/brave_appearance_page/super_referral.ts index b618409b2cd4..dc81a53056ef 100644 --- a/browser/resources/settings/brave_appearance_page/super_referral.ts +++ b/browser/resources/settings/brave_appearance_page/super_referral.ts @@ -4,7 +4,7 @@ // you can obtain one at https://mozilla.org/MPL/2.0/. import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; -import {assert} from 'chrome://resources/js/assert_ts.js'; +import {assert} from 'chrome://resources/js/assert.js'; import {I18nMixin, I18nMixinInterface} from 'chrome://resources/cr_elements/i18n_mixin.js' import {loadTimeData} from "../i18n_setup.js" import {AppearanceBrowserProxy, AppearanceBrowserProxyImpl} from '../appearance_page/appearance_browser_proxy.js'; diff --git a/browser/resources/settings/brave_overrides/appearance_page.ts b/browser/resources/settings/brave_overrides/appearance_page.ts index 862e0bc9c5c5..304b42fbbfa3 100644 --- a/browser/resources/settings/brave_overrides/appearance_page.ts +++ b/browser/resources/settings/brave_overrides/appearance_page.ts @@ -160,5 +160,17 @@ RegisterPolymerTemplateModifications({ tabsToLinks.remove() } // + + // Remove show images on tab hover toggle as we already have a settings for + // this in the Tabs settings. + const hoverCardImagesTemplate = templateContent.querySelector( + 'template[is=dom-if][if="[[showHoverCardImagesOption_]]"]') + if (!hoverCardImagesTemplate) { + console.error( + '[Brave Settings Overrides] Appearance Page cannot find hover card' + + ' images template') + } else { + hoverCardImagesTemplate.remove() + } }, }) diff --git a/browser/resources/settings/brave_sync_page/brave_sync_subpage.ts b/browser/resources/settings/brave_sync_page/brave_sync_subpage.ts index 585476d371e4..73453a7e2015 100644 --- a/browser/resources/settings/brave_sync_page/brave_sync_subpage.ts +++ b/browser/resources/settings/brave_sync_page/brave_sync_subpage.ts @@ -18,7 +18,7 @@ import './brave_sync_setup.js'; import {StatusAction, SyncBrowserProxyImpl} from '/shared/settings/people_page/sync_browser_proxy.js'; import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js'; -import {assert} from 'chrome://resources/js/assert_ts.js'; +import {assert} from 'chrome://resources/js/assert.js'; import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {Route, RouteObserverMixin, Router} from '../router.js'; diff --git a/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/BraveManageAccountDevicesLinkView.java b/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/BraveManageAccountDevicesLinkView.java index 2972927d672f..66d20e65e12d 100644 --- a/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/BraveManageAccountDevicesLinkView.java +++ b/browser/share/android/java/src/org/chromium/chrome/browser/share/send_tab_to_self/BraveManageAccountDevicesLinkView.java @@ -7,16 +7,28 @@ import android.content.Context; import android.util.AttributeSet; +import android.view.View; import android.widget.LinearLayout; +import org.chromium.components.signin.base.AccountCapabilities; +import org.chromium.components.signin.base.AccountInfo; +import org.chromium.components.signin.base.CoreAccountId; + public class BraveManageAccountDevicesLinkView extends LinearLayout { public BraveManageAccountDevicesLinkView(Context context, AttributeSet attrs) { super(context, attrs); + + setVisibility(View.GONE); } - // We just redirect ownership for this method from `ManageAccountDevicesLinkView` to - // `BraveManageAccountDevicesLinkView` to do nothing. - public void inflateIfVisible() { - // Do nothing as this feature requires Google account. + public static AccountInfo getSharingAccountInfo() { + return new AccountInfo( + new CoreAccountId(""), + "", + "", + null, + null, + null, + new AccountCapabilities(new String[0], new boolean[0])); } } diff --git a/browser/speedreader/speedreader_tab_helper.cc b/browser/speedreader/speedreader_tab_helper.cc index 8bffce8b28c7..4bc90ba7e448 100644 --- a/browser/speedreader/speedreader_tab_helper.cc +++ b/browser/speedreader/speedreader_tab_helper.cc @@ -189,7 +189,7 @@ void SpeedreaderTabHelper::ShowSpeedreaderBubble( SpeedreaderBubbleLocation location) { #if !BUILDFLAG(IS_ANDROID) auto* contents = web_contents(); - Browser* browser = chrome::FindBrowserWithWebContents(contents); + Browser* browser = chrome::FindBrowserWithTab(contents); DCHECK(browser); speedreader_bubble_ = static_cast(browser->window()) @@ -308,8 +308,7 @@ void SpeedreaderTabHelper::UpdateUI() { return; } #if !BUILDFLAG(IS_ANDROID) - if (const auto* browser = - chrome::FindBrowserWithWebContents(web_contents())) { + if (const auto* browser = chrome::FindBrowserWithTab(web_contents())) { if (!DistillStates::IsDistilled(PageDistillState())) { static_cast(browser->window()) ->HideReaderModeToolbar(); diff --git a/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java b/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java index dfe2413fd4b0..188d33826aa7 100644 --- a/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java +++ b/browser/tab_group/java/src/org/chromium/chrome/browser/tasks/tab_groups/BraveTabGroupModelFilter.java @@ -9,7 +9,7 @@ import org.chromium.base.BravePreferenceKeys; import org.chromium.base.BraveReflectionUtil; -import org.chromium.chrome.browser.preferences.SharedPreferencesManager; +import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabLaunchType; import org.chromium.chrome.browser.tabmodel.TabModel; @@ -35,9 +35,10 @@ public BraveTabGroupModelFilter(TabModel tabModel) { */ public int getParentId(Tab tab) { if (linkClicked(tab.getLaunchType()) - && SharedPreferencesManager.getInstance().readBoolean( - BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, true) - && isTabModelRestored() && !mIsResetting) { + && ChromeSharedPreferences.getInstance() + .readBoolean(BravePreferenceKeys.BRAVE_TAB_GROUPS_ENABLED, true) + && isTabModelRestored() + && !mIsResetting) { Tab parentTab = TabModelUtils.getTabById(getTabModel(), tab.getParentId()); if (parentTab != null) { return (int) BraveReflectionUtil.InvokeMethod( diff --git a/browser/tor/onion_location_navigation_throttle_browsertest.cc b/browser/tor/onion_location_navigation_throttle_browsertest.cc index b7a292f9d8a5..d9d1729cafd4 100644 --- a/browser/tor/onion_location_navigation_throttle_browsertest.cc +++ b/browser/tor/onion_location_navigation_throttle_browsertest.cc @@ -18,7 +18,7 @@ #include "brave/components/tor/tor_navigation_throttle.h" #include "brave/grit/brave_generated_resources.h" #include "brave/net/proxy_resolution/proxy_config_service_tor.h" -#include "chrome/browser/chrome_notification_types.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_list_observer.h" @@ -467,8 +467,8 @@ IN_PROC_BROWSER_TEST_F(OnionLocationNavigationThrottleBrowserTest, // Renderer initiated navigations. ui_test_utils::BrowserChangeObserver browser_creation_observer( nullptr, ui_test_utils::BrowserChangeObserver::ChangeType::kAdded); - content::ExecJs(browser()->tab_strip_model()->GetActiveWebContents(), - kScript); + EXPECT_TRUE(content::ExecJs( + browser()->tab_strip_model()->GetActiveWebContents(), kScript)); browser_creation_observer.Wait(); BrowserList* browser_list = BrowserList::GetInstance(); diff --git a/browser/translate/brave_translate_browsertest.cc b/browser/translate/brave_translate_browsertest.cc index 2d59a37849f5..92177da8193d 100644 --- a/browser/translate/brave_translate_browsertest.cc +++ b/browser/translate/brave_translate_browsertest.cc @@ -7,6 +7,7 @@ #include "base/files/file_path.h" #include "base/path_service.h" +#include "base/ranges/algorithm.h" #include "base/strings/stringprintf.h" #include "base/test/bind.h" #include "base/test/mock_callback.h" @@ -228,12 +229,14 @@ class BraveTranslateBrowserTest : public InProcessBrowserTest { if (!infobar_manager) return ::testing::AssertionFailure() << "!infobar_manager"; - for (size_t i = 0; i < infobar_manager->infobar_count(); ++i) { - if (infobar_manager->infobar_at(i)->delegate()->GetIdentifier() == - infobars::InfoBarDelegate::BAD_FLAGS_INFOBAR_DELEGATE) { - return ::testing::AssertionFailure() << "Bad flags infobar found."; - } + const auto it = base::ranges::find( + infobar_manager->infobars(), + infobars::InfoBarDelegate::BAD_FLAGS_INFOBAR_DELEGATE, + &infobars::InfoBar::GetIdentifier); + if (it != infobar_manager->infobars().cend()) { + return ::testing::AssertionFailure() << "Bad flags infobar found."; } + return ::testing::AssertionSuccess(); } diff --git a/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/BraveAppMenu.java b/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/BraveAppMenu.java index 3ae53f90d92d..9c796b3a5b50 100644 --- a/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/BraveAppMenu.java +++ b/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/BraveAppMenu.java @@ -10,31 +10,52 @@ import android.content.res.Resources; import android.graphics.Rect; import android.view.View; +import android.widget.PopupWindow; import org.chromium.base.ContextUtils; +import org.chromium.base.SysUtils; import org.chromium.chrome.browser.ui.appmenu.internal.R; class BraveAppMenu extends AppMenu { private static final String BRAVE_IS_MENU_FROM_BOTTOM = "brave_is_menu_from_bottom"; + private static int sMenuHeight; + private static int sNegativeVerticalOffsetNotTopAnchored; + BraveAppMenu(int itemRowHeight, AppMenuHandlerImpl handler, Resources res) { super(itemRowHeight, handler, res); + + sNegativeVerticalOffsetNotTopAnchored = + res.getDimensionPixelSize(R.dimen.menu_negative_vertical_offset_not_top_anchored); } @SuppressLint("VisibleForTests") - public static int[] getPopupPosition(int[] tempLocation, boolean isByPermanentButton, - int negativeSoftwareVerticalOffset, int negativeVerticalOffsetNotTopAnchored, - int screenRotation, Rect appRect, Rect padding, View anchorView, int popupWidth, - int popupHeight, int viewLayoutDirection) { - int[] position = AppMenu.getPopupPosition(tempLocation, isByPermanentButton, - negativeSoftwareVerticalOffset, negativeVerticalOffsetNotTopAnchored, - screenRotation, appRect, padding, anchorView, popupWidth, popupHeight, - viewLayoutDirection); + public static int[] getPopupPosition( + int[] tempLocation, + boolean isByPermanentButton, + int negativeSoftwareVerticalOffset, + int screenRotation, + Rect appRect, + Rect padding, + View anchorView, + int popupWidth, + int viewLayoutDirection) { + int[] position = + AppMenu.getPopupPosition( + tempLocation, + isByPermanentButton, + negativeSoftwareVerticalOffset, + screenRotation, + appRect, + padding, + anchorView, + popupWidth, + viewLayoutDirection); if (isMenuFromBottom()) { anchorView.getLocationOnScreen(tempLocation); int anchorViewLocationOnScreenY = tempLocation[1]; - position[1] += appRect.bottom - anchorViewLocationOnScreenY - popupHeight; - position[1] -= negativeVerticalOffsetNotTopAnchored; + position[1] += appRect.bottom - anchorViewLocationOnScreenY - sMenuHeight; + position[1] -= sNegativeVerticalOffsetNotTopAnchored; position[1] += padding.bottom; } return position; @@ -52,4 +73,11 @@ public static boolean isMenuFromBottom() { public void runMenuItemEnterAnimations() { // We do nothing here as we don't want any fancy animation for the menu. } + + public void updatePopup(PopupWindow popup, boolean isByPermanentButton) { + if (!SysUtils.isLowEndDevice() && !isByPermanentButton) { + popup.setAnimationStyle(BraveAppMenu.getAnimationStyle()); + } + sMenuHeight = popup.getHeight(); + } } diff --git a/browser/ui/android/omnibox/java/brave_res/layout/location_status_icon.xml b/browser/ui/android/omnibox/java/brave_res/layout/location_status_icon.xml index aecfb622fe8b..ce4fb8572e90 100644 --- a/browser/ui/android/omnibox/java/brave_res/layout/location_status_icon.xml +++ b/browser/ui/android/omnibox/java/brave_res/layout/location_status_icon.xml @@ -19,7 +19,7 @@ You can obtain one at https://mozilla.org/MPL/2.0/. diff --git a/browser/ui/android/strings/android_chrome_strings.grd b/browser/ui/android/strings/android_chrome_strings.grd index da209ab3c455..2400c686a00c 100644 --- a/browser/ui/android/strings/android_chrome_strings.grd +++ b/browser/ui/android/strings/android_chrome_strings.grd @@ -207,6 +207,9 @@ CHAR_LIMIT guidelines: Site not working? Third-party cookies are blocked + + Site not working? Try temporarily allowing third-party cookies + @@ -524,9 +527,24 @@ CHAR_LIMIT guidelines: Card nickname + + MM / YY + + + Security code + Nickname can’t include numbers + + Invalid date + + + Card expired + + + Optional + Cardholder name @@ -536,12 +554,6 @@ CHAR_LIMIT guidelines: Expiration date - - Expiration month - - - Expiration year - Billing address @@ -935,9 +947,6 @@ For example, some websites may respond to this request by showing you ads that a - - Privacy Sandbox - Trial features are on @@ -950,67 +959,6 @@ For example, some websites may respond to this request by showing you ads that a Manage info used by sites to measure ad performance - - - Trials - - - With Privacy Sandbox trials, sites can deliver the same browsing experience using less of your data. That means more privacy for you and less cross-site tracking. We’ll add new trials as they’re ready to test. - - - About Browser-based ad personalization - - - Ad personalization - - - Your browsing history affects the ads you see - - - Your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Brave auto-deletes your interests on a rolling basis each month. Interests can refresh unless you remove them. - - - If Brave has randomly placed you in an active trial, your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Brave deletes your interests on a rolling basis each month. Interests refresh unless you remove them. - - - When trials are on and if Brave has randomly placed you in an active trial, your browsing history affects the ads you see and the interests as estimated below. To protect your privacy, Brave deletes your interests on a rolling basis each month. - - - Ad measurement - - - Ad measurement allows sites you visit to request information from Brave that helps the site measure the performance of their ads. Ad measurement restricts cross-site tracking by transferring as little information as possible between sites. - -When you delete your browsing history — all or for a specific site — you also delete associated measurement info. See <link>your browsing history</link>. - - - When trials are on, Ad measurement allows sites you visit to request information from Brave that helps the site measure the performance of their ads. Ad measurement restricts cross-site tracking by transferring as little information as possible between sites. - -When you delete your browsing history — all or for a specific site — you also delete associated measurement info. See <link>your browsing history</link>. - - - Advertisers can understand how ads perform - - - Spam & fraud reduction - - - Help sites fight fraud and distinguish bots from profiles - - - Spam & fraud reduction relies on private state tokens to help sites fight fraud and distinguish bots from profiles. - -Based on your interaction with a site, like regularly signing in to an account, that site can issue a private state token to your browser. Later, if other sites you visit check for and find a valid private state token, they’re more likely to treat you like a profile and not a bot. - -Private state tokens improve privacy on the web and can’t be used to find out who you are. - - - When trials are on, Spam & fraud reduction relies on private state tokens to help sites fight fraud and distinguish bots from profiles. - -Based on your interaction with a site, like regularly signing in to an account, that site can issue a private state token to your browser. Later, if other sites you visit check for and find a valid private state token, they’re more likely to treat you like a profile and not a bot. - -Private state tokens improve privacy on the web and can’t be used to find out who you are. - <b>What data is used:</b> Your browsing history, a record of sites you’ve visited using Brave on this device. @@ -1029,66 +977,12 @@ Private state tokens improve privacy on the web and can’t be used to find out <b>How you can manage your data:</b> To protect your privacy, we auto-delete sites from the list that are older than 4 weeks. A site you visit again might appear on the list again. Or you can remove a site if you don’t want that site to ever define interests for you. - - About ad personalization - Add %1$sActing and Theater - - Add %1$sexample.com - - - Brave can consider this interest - - - Site can define interests - Remove %1$sActing and Theater - - Remove %1$sexample.com - - - Interest removed - - - Interests you removed - - - Site removed - - - Sites you removed - - - Allow an interest or site if you think ads related to the item would be useful to you - - - Browser-based ad personalization - - - Your interests as estimated by Brave - - - Sites you visit that define your interests - - - A list of interests will appear here as you browse the web - - - Interests you removed will appear here - - - Sites you removed will appear here - - - Sites you visit that define your interests - - - A list of sites will appear here as you browse the web - @@ -1148,9 +1042,6 @@ Private state tokens improve privacy on the web and can’t be used to find out Help us build a better web - - Brave is finding new ways to reduce tracking and keep you even safer as you browse. Brave also <link>estimates your interests</link> and enables you to manage them. Then, sites you visit can ask Brave for your interests to show you ads. - @@ -1653,19 +1544,21 @@ Your Brave account may have other forms of browsing history like searches and ac When you tap or type in the address bar or search box, you'll see suggestions from your default search engine. This is off in Private. - What you type in the address bar or search box is sent to your default search engine + As you type, Brave sends the content of the address bar or search box to your default search engine - Depending on your settings, Brave may also send cookies and your current URL + Depending on your settings, Brave may also send cookies, your current URL, and your location + + + When off, you’ll still see suggestions that Brave provides locally - - + Tracking protection - - Protection from trackers (third-party cookies, IP tracking, invasive scripts, and more) + + Manage third-party cookies and tracking protections @@ -2682,12 +2575,6 @@ To change this setting, <resetlink>reset sync

Search image with Google Lens <new>New</new> - - Search image with Brave <new>New</new> - - - Search inside image with Brave <new>New</new> - Translate image with Google Lens <new>New</new> @@ -3565,6 +3452,19 @@ To change this setting, <resetlink>reset sync

Discover by Brave - off + + Content for young minds + + + Content by Brave for young minds + + + Content for young minds - off + + + Content by Brave for young minds - off + + Following Control your stories and activity here @@ -3685,6 +3585,12 @@ To change this setting, <resetlink>reset sync

Collapse to side view + + Minimize tab + + + Minimize tab to return to it later + New tab @@ -4050,27 +3956,51 @@ To change this setting, <resetlink>reset sync

Sort by manual order + + Sorting by manual order + Sort by newest + + Sorting by newest + Sort by oldest + + Sorting by oldest + Sort by last opened + + Sorting by last opened + Sort by A to Z - + + Sorting from A to Z + + Sort by Z to A + + Sorting from Z to A + Visual view + + Showing visual view + Compact view + + Showing compact view + Create new folder @@ -5032,9 +4962,6 @@ To change this setting, <resetlink>reset sync

<link>Your devices</link> · %1$sfoo@gmail.com - - You can send tabs between devices that are signed in with the same Brave sync chain - To send this tab to another device, sign in to Brave there @@ -5739,18 +5666,60 @@ To change this setting, <resetlink>reset sync

Continue - + Got it - - More details - - + Can't continue with %1$sidp.example - + Something went wrong + + %1$srp.example can't continue using %2$sidp.example + + + This option is unavailable right now. + + + %1$srp.example can't continue using %2$sidp.example + + + This option is unavailable right now. + + + Check that you chose the right account + + + Check if the selected account is supported. + + + Check your internet connection + + + If you're online but this issue keeps happening, you can try other ways to continue on %1$srp.example. + + + Try again later + + + %1$sidp.example isn't available right now. + + + <link_more_details>Get more information</link_more_details> from %1$sidp.example. + + + You can try other ways to continue on %1$srp.example. + + + If this issue keeps happening, <link_more_details>get more information</link_more_details> from %1$sidp.example. + + + <link_more_details>More details</link_more_details> + + + If this issue keeps happening, you can try other ways to continue on %1$srp.example. + Signing you in… @@ -5786,10 +5755,10 @@ To change this setting, <resetlink>reset sync

- Upgrade navigations to HTTPS and warn you before loading sites that don’t support it + Use HTTPS whenever possible and get warned before loading sites that don’t support it - Upgrade navigations to HTTPS and warn you before loading sites that don’t support it. You can’t change this setting because you have Advanced Protection enabled. + Use HTTPS whenever possible and get warned before loading sites that don’t support it. You can’t change this setting because you have Advanced Protection enabled. @@ -5962,6 +5931,9 @@ To change this setting, <resetlink>reset sync

Use password + + Use password %1$s + Create my own @@ -5969,45 +5941,18 @@ To change this setting, <resetlink>reset sync

- - - Tap to close “Listen to this page”. - - - “Listen to this page” player. + + + Add your username - - “Listen to this page” player opened at full height. + + Add username - - “Listen to this page” player minimized. - - - Brave now playing - - - Back %1$s10 seconds - - - Forward %1$s30 seconds - - - Play - - - Pause - - - Playback speed: %1$s1.0. Click to change. - - - More options - - - Playback is unavailable for this page. + + Cancel - - Loading… + + To help Brave Password Manager save your sign-in info, add your username for this site @@ -6032,6 +5977,11 @@ To change this setting, <resetlink>reset sync

Use another device + + + + Lorem Ipsum + diff --git a/browser/ui/android/strings/android_chrome_strings_override.grd b/browser/ui/android/strings/android_chrome_strings_override.grd index 59676da0508e..92c027739ead 100644 --- a/browser/ui/android/strings/android_chrome_strings_override.grd +++ b/browser/ui/android/strings/android_chrome_strings_override.grd @@ -126,23 +126,6 @@ CHAR_LIMIT guidelines: Use screen lock to see open Private tabs - - Help sites fight fraud and distinguish bots from profiles - - - Spam & fraud reduction relies on private state tokens to help sites fight fraud and distinguish bots from profiles. - -Based on your interaction with a site, like regularly signing in to an account, that site can issue a private state token to your browser. Later, if other sites you visit check for and find a valid private state token, they’re more likely to treat you like a profile and not a bot. - -Private state tokens improve privacy on the web and can’t be used to find out who you are. - - - When trials are on, Spam & fraud reduction relies on private state tokens to help sites fight fraud and distinguish bots from profiles. - -Based on your interaction with a site, like regularly signing in to an account, that site can issue a private state token to your browser. Later, if other sites you visit check for and find a valid private state token, they’re more likely to treat you like a profile and not a bot. - -Private state tokens improve privacy on the web and can’t be used to find out who you are. - Block while using Private diff --git a/browser/ui/brave_browser_command_controller_browsertest.cc b/browser/ui/brave_browser_command_controller_browsertest.cc index 02d8a5c3b27d..a8bf93d11999 100644 --- a/browser/ui/brave_browser_command_controller_browsertest.cc +++ b/browser/ui/brave_browser_command_controller_browsertest.cc @@ -14,7 +14,7 @@ #include "brave/components/skus/common/features.h" #include "brave/components/tor/buildflags/buildflags.h" #include "chrome/app/chrome_command_ids.h" -#include "chrome/browser/chrome_notification_types.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/policy/configuration_policy_handler_list_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_window.h" diff --git a/browser/ui/brave_shields_data_controller.cc b/browser/ui/brave_shields_data_controller.cc index 819b23dbfc88..8969866af7cf 100644 --- a/browser/ui/brave_shields_data_controller.cc +++ b/browser/ui/brave_shields_data_controller.cc @@ -183,8 +183,9 @@ GURL BraveShieldsDataController::GetFaviconURL(bool refresh) { GetCurrentSiteURL().GetWithoutFilename().spec()); if (refresh) { - url = AppendQueryParameter(url, "v", - std::to_string(base::Time::Now().ToJsTime())); + url = AppendQueryParameter( + url, "v", + std::to_string(base::Time::Now().InMillisecondsFSinceUnixEpoch())); } return url; diff --git a/browser/ui/commander/ranker.cc b/browser/ui/commander/ranker.cc index af0d09b7aced..2f9de1627971 100644 --- a/browser/ui/commander/ranker.cc +++ b/browser/ui/commander/ranker.cc @@ -36,7 +36,7 @@ void Ranker::Visit(const CommandItem& item) { auto* entry = update->EnsureDict(id); auto visit_count = entry->FindInt("visit_count").value_or(0); entry->Set("visit_count", visit_count + 1); - entry->Set("last_visit", base::Time::Now().ToJsTime()); + entry->Set("last_visit", base::Time::Now().InMillisecondsFSinceUnixEpoch()); } double Ranker::GetRank(const CommandItem& item) { @@ -71,8 +71,8 @@ std::tuple Ranker::GetInfo(const std::string& id) const { } auto visit_count = entry->FindInt("visit_count").value_or(0); - auto last_visit = - base::Time::FromJsTime(entry->FindDouble("last_visit").value_or(0)); + auto last_visit = base::Time::FromMillisecondsSinceUnixEpoch( + entry->FindDouble("last_visit").value_or(0)); return std::make_tuple(visit_count, last_visit); } diff --git a/browser/ui/tabs/brave_tab_menu_model.cc b/browser/ui/tabs/brave_tab_menu_model.cc index cdbd7db5a023..807c8b7a60d4 100644 --- a/browser/ui/tabs/brave_tab_menu_model.cc +++ b/browser/ui/tabs/brave_tab_menu_model.cc @@ -29,7 +29,7 @@ BraveTabMenuModel::BraveTabMenuModel( is_vertical_tab_(is_vertical_tab) { web_contents_ = tab_strip_model->GetWebContentsAt(index); if (web_contents_) { - Browser* browser = chrome::FindBrowserWithWebContents(web_contents_); + Browser* browser = chrome::FindBrowserWithTab(web_contents_); restore_service_ = TabRestoreServiceFactory::GetForProfile(browser->profile()); } diff --git a/browser/ui/tabs/brave_tab_strip_model.cc b/browser/ui/tabs/brave_tab_strip_model.cc index ab0898ecd71e..58ccf08cc2f3 100644 --- a/browser/ui/tabs/brave_tab_strip_model.cc +++ b/browser/ui/tabs/brave_tab_strip_model.cc @@ -45,7 +45,7 @@ void BraveTabStripModel::SelectMRUTab(TabRelativeDirection direction, if (mru_cycle_list_.empty()) { // Start cycling - Browser* browser = chrome::FindBrowserWithWebContents(GetWebContentsAt(0)); + Browser* browser = chrome::FindBrowserWithTab(GetWebContentsAt(0)); if (!browser) return; diff --git a/browser/ui/toolbar/brave_app_menu_model_browsertest.cc b/browser/ui/toolbar/brave_app_menu_model_browsertest.cc index ffb25e9cc50a..962d16c672d1 100644 --- a/browser/ui/toolbar/brave_app_menu_model_browsertest.cc +++ b/browser/ui/toolbar/brave_app_menu_model_browsertest.cc @@ -19,7 +19,7 @@ #include "brave/components/skus/common/features.h" #include "brave/components/tor/buildflags/buildflags.h" #include "chrome/app/chrome_command_ids.h" -#include "chrome/browser/chrome_notification_types.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_window.h" #include "chrome/browser/ui/browser_list.h" diff --git a/browser/ui/views/brave_actions/brave_actions_container_browsertest.cc b/browser/ui/views/brave_actions/brave_actions_container_browsertest.cc index 41b75a78a65f..8f87cda6ad35 100644 --- a/browser/ui/views/brave_actions/brave_actions_container_browsertest.cc +++ b/browser/ui/views/brave_actions/brave_actions_container_browsertest.cc @@ -11,8 +11,8 @@ #include "brave/browser/ui/views/location_bar/brave_location_bar_view.h" #include "brave/components/brave_rewards/common/pref_names.h" #include "brave/components/constants/pref_names.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/profiles/profile_window.h" diff --git a/browser/ui/views/brave_news/brave_news_bubble_view.cc b/browser/ui/views/brave_news/brave_news_bubble_view.cc index eca90819e196..12d37eff7b34 100644 --- a/browser/ui/views/brave_news/brave_news_bubble_view.cc +++ b/browser/ui/views/brave_news/brave_news_bubble_view.cc @@ -136,7 +136,7 @@ BraveNewsBubbleView::BraveNewsBubbleView(views::View* action_view, BraveNewsBubbleView::~BraveNewsBubbleView() = default; void BraveNewsBubbleView::OpenManageFeeds() { - auto* browser = chrome::FindBrowserWithWebContents(contents_); + auto* browser = chrome::FindBrowserWithTab(contents_); browser->OpenURL({GURL("brave://newtab/?openSettings=BraveNews"), content::Referrer(), WindowOpenDisposition::NEW_FOREGROUND_TAB, diff --git a/browser/ui/views/frame/vertical_tab_strip_region_view.cc b/browser/ui/views/frame/vertical_tab_strip_region_view.cc index db5a369d3527..aaaa03238851 100644 --- a/browser/ui/views/frame/vertical_tab_strip_region_view.cc +++ b/browser/ui/views/frame/vertical_tab_strip_region_view.cc @@ -196,8 +196,9 @@ class VerticalTabSearchButton : public BraveTabSearchButton { public: METADATA_HEADER(VerticalTabSearchButton); - explicit VerticalTabSearchButton(TabStrip* tab_strip, Edge flat_edge) - : BraveTabSearchButton(tab_strip, flat_edge) { + explicit VerticalTabSearchButton(TabStripController* tab_strip_controller, + Edge flat_edge) + : BraveTabSearchButton(tab_strip_controller, flat_edge) { SetPreferredSize( gfx::Size{ToggleButton::GetIconWidth(), ToggleButton::GetIconWidth()}); SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_TAB_SEARCH)); @@ -500,7 +501,7 @@ class VerticalTabStripRegionView::HeaderView : public views::View { // We layout the search button at the end, because there's no // way to change its bubble arrow from TOP_RIGHT at the moment. tab_search_button_ = AddChildView(std::make_unique( - region_view->tab_strip(), Edge::kNone)); + region_view->tab_strip()->controller(), Edge::kNone)); UpdateTabSearchButtonVisibility(); } ~HeaderView() override = default; diff --git a/browser/ui/views/infobars/brave_wayback_machine_infobar_contents_view.cc b/browser/ui/views/infobars/brave_wayback_machine_infobar_contents_view.cc index 266f4d218185..f49b69c84183 100644 --- a/browser/ui/views/infobars/brave_wayback_machine_infobar_contents_view.cc +++ b/browser/ui/views/infobars/brave_wayback_machine_infobar_contents_view.cc @@ -9,6 +9,7 @@ #include #include +#include "base/ranges/algorithm.h" #include "brave/app/vector_icons/vector_icons.h" #include "brave/browser/ui/views/infobars/brave_wayback_machine_infobar_button_container.h" #include "brave/components/brave_wayback_machine/brave_wayback_machine_infobar_delegate.h" @@ -123,13 +124,12 @@ void BraveWaybackMachineInfoBarContentsView::HideInfobar() { if (!infobar_manager) return; - for (size_t i = 0; i < infobar_manager->infobar_count(); ++i) { - infobars::InfoBar* infobar = infobar_manager->infobar_at(i); - if (infobar->delegate()->GetIdentifier() == - BraveWaybackMachineInfoBarDelegate::WAYBACK_MACHINE_INFOBAR_DELEGATE) { - infobar_manager->RemoveInfoBar(infobar); - break; - } + const auto it = base::ranges::find( + infobar_manager->infobars(), + BraveWaybackMachineInfoBarDelegate::WAYBACK_MACHINE_INFOBAR_DELEGATE, + &infobars::InfoBar::GetIdentifier); + if (it != infobar_manager->infobars().cend()) { + infobar_manager->RemoveInfoBar(*it); } } diff --git a/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.cc b/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.cc index 8931b20dd9f4..dc3e4675de14 100644 --- a/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.cc +++ b/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.cc @@ -51,3 +51,8 @@ absl::optional BraveWalletPermissionPromptImpl::GetViewBoundsInScreen() const { return absl::nullopt; } + +bool BraveWalletPermissionPromptImpl::ShouldFinalizeRequestAfterDecided() + const { + return true; +} diff --git a/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.h b/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.h index c050a33f44e1..ffeda1ecbc9d 100644 --- a/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.h +++ b/browser/ui/views/permission_bubble/brave_wallet_permission_prompt_impl.h @@ -30,6 +30,7 @@ class BraveWalletPermissionPromptImpl : public permissions::PermissionPrompt { permissions::PermissionPromptDisposition GetPromptDisposition() const override; absl::optional GetViewBoundsInScreen() const override; + bool ShouldFinalizeRequestAfterDecided() const override; private: void ShowBubble(); diff --git a/browser/ui/views/sidebar/sidebar_container_view.cc b/browser/ui/views/sidebar/sidebar_container_view.cc index caa5fff73b9c..0e5851cab899 100644 --- a/browser/ui/views/sidebar/sidebar_container_view.cc +++ b/browser/ui/views/sidebar/sidebar_container_view.cc @@ -692,8 +692,11 @@ void SidebarContainerView::UpdateToolbarButtonVisibility() { auto has_panel_item = GetSidebarService(browser_)->GetDefaultPanelItem().has_value(); auto* browser_view = BrowserView::GetBrowserViewForBrowser(browser_); - browser_view->toolbar()->GetSidePanelButton()->SetVisible( - has_panel_item && show_side_panel_button_.GetValue()); + if (browser_view->toolbar() && + browser_view->toolbar()->GetSidePanelButton()) { + browser_view->toolbar()->GetSidePanelButton()->SetVisible( + has_panel_item && show_side_panel_button_.GetValue()); + } } void SidebarContainerView::StartBrowserWindowEventMonitoring() { diff --git a/browser/ui/views/tabs/brave_tab_search_button.cc b/browser/ui/views/tabs/brave_tab_search_button.cc index 7f0ddc5b63da..cbdc48bbae27 100644 --- a/browser/ui/views/tabs/brave_tab_search_button.cc +++ b/browser/ui/views/tabs/brave_tab_search_button.cc @@ -21,10 +21,12 @@ #include "ui/gfx/geometry/skia_conversions.h" #include "ui/views/layout/layout_provider.h" -BraveTabSearchButton::BraveTabSearchButton(TabStrip* tab_strip, Edge flat_edge) - : TabSearchButton(tab_strip, flat_edge) { +BraveTabSearchButton::BraveTabSearchButton( + TabStripController* tab_strip_controller, + Edge flat_edge) + : TabSearchButton(tab_strip_controller, flat_edge) { tab_search_bubble_host_ = std::make_unique( - this, tab_strip->controller()->GetProfile()); + this, tab_strip_controller->GetProfile()); } BraveTabSearchButton::~BraveTabSearchButton() = default; diff --git a/browser/ui/views/tabs/brave_tab_search_button.h b/browser/ui/views/tabs/brave_tab_search_button.h index abed41ffe513..dc73d317647e 100644 --- a/browser/ui/views/tabs/brave_tab_search_button.h +++ b/browser/ui/views/tabs/brave_tab_search_button.h @@ -14,7 +14,8 @@ class BraveTabSearchButton : public TabSearchButton { public: METADATA_HEADER(BraveTabSearchButton); - explicit BraveTabSearchButton(TabStrip* tab_strip, Edge flat_edge); + explicit BraveTabSearchButton(TabStripController* tab_strip_controller, + Edge flat_edge); ~BraveTabSearchButton() override; BraveTabSearchButton(const BraveTabSearchButton&) = delete; BraveTabSearchButton& operator=(const BraveTabSearchButton&) = delete; diff --git a/browser/ui/views/tabs/brave_tab_strip.cc b/browser/ui/views/tabs/brave_tab_strip.cc index f39179ac8bb1..edb77efea71d 100644 --- a/browser/ui/views/tabs/brave_tab_strip.cc +++ b/browser/ui/views/tabs/brave_tab_strip.cc @@ -229,8 +229,8 @@ void BraveTabStrip::UpdateTabContainer() { using_vertical_tabs || base::FeatureList::IsEnabled(features::kSplitTabStrip); const bool is_using_compound_tab_container = - tab_container_->GetClassName() == - BraveCompoundTabContainer::kViewClassName; + views::IsViewClass( + base::to_address(tab_container_)); base::ScopedClosureRunner layout_lock; if (should_use_compound_tab_container != is_using_compound_tab_container) { diff --git a/browser/ui/views/toolbar/brave_toolbar_view_browsertest.cc b/browser/ui/views/toolbar/brave_toolbar_view_browsertest.cc index bbedc36782a4..bd4f3df23ce9 100644 --- a/browser/ui/views/toolbar/brave_toolbar_view_browsertest.cc +++ b/browser/ui/views/toolbar/brave_toolbar_view_browsertest.cc @@ -11,8 +11,8 @@ #include "brave/browser/ui/views/toolbar/brave_toolbar_view.h" #include "brave/components/constants/pref_names.h" #include "brave/components/skus/common/features.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_attributes_storage.h" #include "chrome/browser/profiles/profile_manager.h" diff --git a/browser/ui/views/toolbar/brave_vpn_status_label.cc b/browser/ui/views/toolbar/brave_vpn_status_label.cc index 020bb6e5c9e6..9f7f557e2a0b 100644 --- a/browser/ui/views/toolbar/brave_vpn_status_label.cc +++ b/browser/ui/views/toolbar/brave_vpn_status_label.cc @@ -75,8 +75,9 @@ void BraveVPNStatusLabel::OnConnectionStateChanged(ConnectionState state) { UpdateState(); } -gfx::Size BraveVPNStatusLabel::CalculatePreferredSize() const { - auto size = views::Label::CalculatePreferredSize(); +gfx::Size BraveVPNStatusLabel::CalculatePreferredSize( + const views::SizeBounds& available_size) const { + auto size = views::Label::CalculatePreferredSize(available_size); if (longest_state_string_id_ == -1) return size; auto text = diff --git a/browser/ui/views/toolbar/brave_vpn_status_label.h b/browser/ui/views/toolbar/brave_vpn_status_label.h index 399c56e7d506..8522a7b3acc7 100644 --- a/browser/ui/views/toolbar/brave_vpn_status_label.h +++ b/browser/ui/views/toolbar/brave_vpn_status_label.h @@ -25,7 +25,8 @@ class BraveVPNStatusLabel : public views::Label, BraveVPNStatusLabel(const BraveVPNStatusLabel&) = delete; BraveVPNStatusLabel& operator=(const BraveVPNStatusLabel&) = delete; - gfx::Size CalculatePreferredSize() const override; + gfx::Size CalculatePreferredSize( + const views::SizeBounds& available_size) const override; private: // brave_vpn::BraveVPNServiceObserver overrides: diff --git a/browser/ui/wallet_bubble_manager_delegate_impl.cc b/browser/ui/wallet_bubble_manager_delegate_impl.cc index 8968c083ee68..40e4b34e4092 100644 --- a/browser/ui/wallet_bubble_manager_delegate_impl.cc +++ b/browser/ui/wallet_bubble_manager_delegate_impl.cc @@ -190,7 +190,7 @@ WalletBubbleManagerDelegateImpl::WalletBubbleManagerDelegateImpl( content::WebContents* web_contents, const GURL& webui_url) : web_contents_(web_contents), webui_url_(webui_url) { - Browser* browser = chrome::FindBrowserWithWebContents(web_contents_); + Browser* browser = chrome::FindBrowserWithTab(web_contents_); DCHECK(browser); views::View* anchor_view; diff --git a/browser/ui/webui/brave_adblock_ui.cc b/browser/ui/webui/brave_adblock_ui.cc index 43e1f3788e8a..57afef5f498d 100644 --- a/browser/ui/webui/brave_adblock_ui.cc +++ b/browser/ui/webui/brave_adblock_ui.cc @@ -284,8 +284,7 @@ void AdblockDOMHandler::HandleViewSubscriptionSource( WindowOpenDisposition::NEW_FOREGROUND_TAB, ui::PAGE_TRANSITION_AUTO_TOPLEVEL, false)); #else - auto* browser = - chrome::FindBrowserWithWebContents(web_ui()->GetWebContents()); + auto* browser = chrome::FindBrowserWithTab(web_ui()->GetWebContents()); ShowSingletonTabOverwritingNTP(browser, file_url); #endif } @@ -302,9 +301,10 @@ void AdblockDOMHandler::RefreshSubscriptionsList() { dict.Set("subscription_url", subscription.subscription_url.spec()); dict.Set("enabled", subscription.enabled); dict.Set("last_update_attempt", - subscription.last_update_attempt.ToJsTime()); + subscription.last_update_attempt.InMillisecondsFSinceUnixEpoch()); dict.Set("last_successful_update_attempt", - subscription.last_successful_update_attempt.ToJsTime()); + subscription.last_successful_update_attempt + .InMillisecondsFSinceUnixEpoch()); if (subscription.homepage) { dict.Set("homepage", *subscription.homepage); } diff --git a/browser/ui/webui/brave_rewards_page_ui.cc b/browser/ui/webui/brave_rewards_page_ui.cc index b2e9acfc3c05..5fdb60ba5b60 100644 --- a/browser/ui/webui/brave_rewards_page_ui.cc +++ b/browser/ui/webui/brave_rewards_page_ui.cc @@ -79,7 +79,7 @@ PrefService* GetLocalState() { brave_rewards::RewardsPanelCoordinator* GetPanelCoordinator( content::WebContents* web_contents) { DCHECK(web_contents); - if (auto* browser = chrome::FindBrowserWithWebContents(web_contents)) { + if (auto* browser = chrome::FindBrowserWithTab(web_contents)) { return brave_rewards::RewardsPanelCoordinator::FromBrowser(browser); } return nullptr; @@ -703,7 +703,7 @@ void RewardsDOMHandler::OnGetRewardsParameters( data.Set("payoutStatus", std::move(payout_status)); data.Set("walletProviderRegions", std::move(wallet_provider_regions)); if (!vbat_deadline.is_null()) { - data.Set("vbatDeadline", floor(vbat_deadline.ToDoubleT() * + data.Set("vbatDeadline", floor(vbat_deadline.InSecondsFSinceUnixEpoch() * base::Time::kMillisecondsPerSecond)); } data.Set("vbatExpired", vbat_expired); @@ -1508,7 +1508,7 @@ void RewardsDOMHandler::OnGetStatement( base::Value::Dict dict; dict.Set("adsNextPaymentDate", - statement->next_payment_date.ToDoubleT() * 1000); + statement->next_payment_date.InSecondsFSinceUnixEpoch() * 1000); dict.Set("adsReceivedThisMonth", statement->ads_received_this_month); dict.Set("adsMinEarningsThisMonth", statement->min_earnings_this_month); dict.Set("adsMaxEarningsThisMonth", statement->max_earnings_this_month); diff --git a/browser/ui/webui/settings/brave_adblock_handler.cc b/browser/ui/webui/settings/brave_adblock_handler.cc index 339991706f50..be16beb9a6ea 100644 --- a/browser/ui/webui/settings/brave_adblock_handler.cc +++ b/browser/ui/webui/settings/brave_adblock_handler.cc @@ -226,8 +226,7 @@ void BraveAdBlockHandler::ViewSubscriptionSource( ->subscription_service_manager() ->GetListTextFileUrl(subscription_url); - auto* browser = - chrome::FindBrowserWithWebContents(web_ui()->GetWebContents()); + auto* browser = chrome::FindBrowserWithTab(web_ui()->GetWebContents()); ShowSingletonTabOverwritingNTP(browser, file_url); } @@ -266,9 +265,10 @@ base::Value::List BraveAdBlockHandler::GetSubscriptions() { dict.Set("subscription_url", subscription.subscription_url.spec()); dict.Set("enabled", subscription.enabled); dict.Set("last_update_attempt", - subscription.last_update_attempt.ToJsTime()); + subscription.last_update_attempt.InMillisecondsFSinceUnixEpoch()); dict.Set("last_successful_update_attempt", - subscription.last_successful_update_attempt.ToJsTime()); + subscription.last_successful_update_attempt + .InMillisecondsFSinceUnixEpoch()); dict.Set("last_updated_pretty_text", time_str); if (subscription.homepage) { dict.Set("homepage", *subscription.homepage); diff --git a/browser/ui/webui/settings/brave_import_data_handler.cc b/browser/ui/webui/settings/brave_import_data_handler.cc index 74a38b46e4a4..7559c4419604 100644 --- a/browser/ui/webui/settings/brave_import_data_handler.cc +++ b/browser/ui/webui/settings/brave_import_data_handler.cc @@ -191,7 +191,7 @@ void BraveImportDataHandler::DidStopLoading() { auto* web_contents = web_ui()->GetWebContents(); TabModalConfirmDialog::Create( std::make_unique( - web_contents, chrome::FindBrowserWithWebContents(web_contents)), + web_contents, chrome::FindBrowserWithTab(web_contents)), web_contents); } #endif diff --git a/browser/ui/webui/webcompat_reporter/webcompat_reporter_dialog.cc b/browser/ui/webui/webcompat_reporter/webcompat_reporter_dialog.cc index a9eccb790570..f49ed92caf21 100644 --- a/browser/ui/webui/webcompat_reporter/webcompat_reporter_dialog.cc +++ b/browser/ui/webui/webcompat_reporter/webcompat_reporter_dialog.cc @@ -51,7 +51,7 @@ class WebcompatReporterDialogDelegate : public ui::WebDialogDelegate { std::u16string GetDialogTitle() const override; GURL GetDialogContentURL() const override; void GetWebUIMessageHandlers( - std::vector* handlers) const override; + std::vector* handlers) override; void GetDialogSize(gfx::Size* size) const override; std::string GetDialogArgs() const override; void OnDialogClosed(const std::string& json_retval) override; @@ -84,7 +84,7 @@ GURL WebcompatReporterDialogDelegate::GetDialogContentURL() const { } void WebcompatReporterDialogDelegate::GetWebUIMessageHandlers( - std::vector* /* handlers */) const { + std::vector* /* handlers */) { // WebcompatReporterWebUI should add its own message handlers. } diff --git a/browser/ui/webui/welcome_page/brave_welcome_ui_browsertest.cc b/browser/ui/webui/welcome_page/brave_welcome_ui_browsertest.cc index 9f3c6b76f04a..24d693346598 100644 --- a/browser/ui/webui/welcome_page/brave_welcome_ui_browsertest.cc +++ b/browser/ui/webui/welcome_page/brave_welcome_ui_browsertest.cc @@ -6,7 +6,7 @@ #include "base/command_line.h" #include "brave/browser/ui/webui/brave_web_ui_controller_factory.h" #include "brave/components/constants/webui_url_constants.h" -#include "chrome/browser/chrome_notification_types.h" +#include "chrome/browser/auth_notification_types.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" diff --git a/browser/ui/webui/welcome_page/welcome_dom_handler.cc b/browser/ui/webui/welcome_page/welcome_dom_handler.cc index 087372855ab5..51324220c843 100644 --- a/browser/ui/webui/welcome_page/welcome_dom_handler.cc +++ b/browser/ui/webui/welcome_page/welcome_dom_handler.cc @@ -72,7 +72,7 @@ WelcomeDOMHandler::~WelcomeDOMHandler() { } Browser* WelcomeDOMHandler::GetBrowser() { - return chrome::FindBrowserWithWebContents(web_ui()->GetWebContents()); + return chrome::FindBrowserWithTab(web_ui()->GetWebContents()); } void WelcomeDOMHandler::RegisterMessages() { diff --git a/browser/widevine/widevine_permission_android_unittest.cc b/browser/widevine/widevine_permission_android_unittest.cc index f4f8b89a8d16..a4a39558cf64 100644 --- a/browser/widevine/widevine_permission_android_unittest.cc +++ b/browser/widevine/widevine_permission_android_unittest.cc @@ -108,7 +108,7 @@ TEST_F(WidevinePermissionAndroidTest, BraveDrmTabHelperTest) { EXPECT_TRUE(brave_drm_tab_helper()->ShouldShowWidevineOptIn()); EXPECT_TRUE(manager->has_pending_requests()); - EXPECT_EQ(GetPendingRequestQueue()->Count(), size_t(1)); + EXPECT_EQ(GetPendingRequestQueue()->size(), size_t(1)); // After navigation SimulateNavigation(); @@ -148,7 +148,7 @@ TEST_F(WidevinePermissionAndroidTest, WidevinePermissionRequestTest) { base::RunLoop().RunUntilIdle(); EXPECT_TRUE(manager->has_pending_requests() && - GetPendingRequestQueue()->Count() == 1); + GetPendingRequestQueue()->size() == 1); GetPendingRequestQueue()->Pop()->PermissionGranted(false /* is_one_time */); EXPECT_TRUE(local_state()->GetBoolean(kWidevineEnabled)); @@ -159,7 +159,7 @@ TEST_F(WidevinePermissionAndroidTest, WidevinePermissionRequestTest) { base::RunLoop().RunUntilIdle(); EXPECT_TRUE(manager->has_pending_requests() && - GetPendingRequestQueue()->Count() == 1); + GetPendingRequestQueue()->size() == 1); GetPendingRequestQueue()->Pop()->PermissionDenied(); EXPECT_FALSE(local_state()->GetBoolean(kWidevineEnabled)); @@ -169,7 +169,7 @@ TEST_F(WidevinePermissionAndroidTest, WidevinePermissionRequestTest) { base::RunLoop().RunUntilIdle(); EXPECT_TRUE(manager->has_pending_requests() && - GetPendingRequestQueue()->Count() == 1); + GetPendingRequestQueue()->size() == 1); GetPendingRequestQueue()->Pop()->Cancelled(); EXPECT_FALSE(local_state()->GetBoolean(kWidevineEnabled)); } diff --git a/build/android/BUILD.gn b/build/android/BUILD.gn index 617ab74a83f0..9d6a914409de 100644 --- a/build/android/BUILD.gn +++ b/build/android/BUILD.gn @@ -92,7 +92,7 @@ copy("brave") { sources += [ "$root_out_dir/apks/MonochromePublic6432.aab" ] } else { # There is no 64-bit apk target for Mono - deps += [ "//chrome/android:monochrome_public_apk" ] + deps += [ "//chrome/android:monochrome_32_64_public_apk" ] sources += [ "$root_out_dir/apks/MonochromePublic.apk" ] } } else { diff --git a/build/android/bytecode/BUILD.gn b/build/android/bytecode/BUILD.gn index c226a65a2889..207f7a1402e6 100644 --- a/build/android/bytecode/BUILD.gn +++ b/build/android/bytecode/BUILD.gn @@ -16,7 +16,6 @@ java_binary("java_bytecode_rewriter") { "//brave/build/android/bytecode/java/org/brave/bytecode/BraveAutocompleteCoordinatorClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveAutocompleteMediatorBaseClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveAutocompleteMediatorClassAdapter.java", - "//brave/build/android/bytecode/java/org/brave/bytecode/BraveAutofillPopupBridgeClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveBookmarkActivityClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveBookmarkBridgeClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveBookmarkDelegateClassAdapter.java", @@ -48,6 +47,7 @@ java_binary("java_bytecode_rewriter") { "//brave/build/android/bytecode/java/org/brave/bytecode/BraveFreIntentCreatorClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveHelpAndFeedbackLauncherImplClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveHomepageManagerClassAdapter.java", + "//brave/build/android/bytecode/java/org/brave/bytecode/BraveIdentityDiscControllerClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveIncognitoToggleTabLayoutClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveIntentHandlerClassAdapter.java", "//brave/build/android/bytecode/java/org/brave/bytecode/BraveLaunchIntentDispatcherClassAdapter.java", diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveAutofillPopupBridgeClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveAutofillPopupBridgeClassAdapter.java deleted file mode 100644 index 8e01dd804622..000000000000 --- a/build/android/bytecode/java/org/brave/bytecode/BraveAutofillPopupBridgeClassAdapter.java +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (c) 2021 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 BraveAutofillPopupBridgeClassAdapter extends BraveClassVisitor { - static String sAutofillPopupBridgeClassName = - "org/chromium/chrome/browser/autofill/AutofillPopupBridge"; - static String sBraveAutofillPopupBridgeClassName = - "org/chromium/chrome/browser/autofill/BraveAutofillPopupBridge"; - - public BraveAutofillPopupBridgeClassAdapter(ClassVisitor visitor) { - super(visitor); - - redirectConstructor(sAutofillPopupBridgeClassName, sBraveAutofillPopupBridgeClassName); - } -} diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java index ec12ecdbe37d..9b64437ec9b3 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveClassAdapter.java @@ -7,9 +7,7 @@ import org.objectweb.asm.ClassVisitor; -/** - * Adapter to perform Java asm patches on upstreams' classes. - */ +/** Adapter to perform Java asm patches on upstreams' classes. */ public class BraveClassAdapter { public static ClassVisitor createAdapter(ClassVisitor chain) { chain = new BraveActivityClassAdapter(chain); @@ -19,7 +17,6 @@ public static ClassVisitor createAdapter(ClassVisitor chain) { chain = new BraveAutocompleteCoordinatorClassAdapter(chain); chain = new BraveAutocompleteMediatorBaseClassAdapter(chain); chain = new BraveAutocompleteMediatorClassAdapter(chain); - chain = new BraveAutofillPopupBridgeClassAdapter(chain); chain = new BraveBookmarkActivityClassAdapter(chain); chain = new BraveBookmarkBridgeClassAdapter(chain); chain = new BraveBookmarkDelegateClassAdapter(chain); @@ -49,6 +46,7 @@ public static ClassVisitor createAdapter(ClassVisitor chain) { chain = new BraveFreIntentCreatorClassAdapter(chain); chain = new BraveHelpAndFeedbackLauncherImplClassAdapter(chain); chain = new BraveHomepageManagerClassAdapter(chain); + chain = new BraveIdentityDiscControllerClassAdapter(chain); chain = new BraveIncognitoToggleTabLayoutClassAdapter(chain); chain = new BraveIntentHandlerClassAdapter(chain); chain = new BraveLauncherActivityClassAdapter(chain); diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveIdentityDiscControllerClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveIdentityDiscControllerClassAdapter.java new file mode 100644 index 000000000000..eafba9d550b0 --- /dev/null +++ b/build/android/bytecode/java/org/brave/bytecode/BraveIdentityDiscControllerClassAdapter.java @@ -0,0 +1,28 @@ +/* Copyright (c) 2023 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 BraveIdentityDiscControllerClassAdapter extends BraveClassVisitor { + static String sIdentityDiscControllerClassName = + "org/chromium/chrome/browser/identity_disc/IdentityDiscController"; + static String sBraveIdentityDiscControllerClassName = + "org/chromium/chrome/browser/identity_disc/BraveIdentityDiscController"; + + public BraveIdentityDiscControllerClassAdapter(ClassVisitor visitor) { + super(visitor); + + redirectConstructor( + sIdentityDiscControllerClassName, sBraveIdentityDiscControllerClassName); + + makePublicMethod(sIdentityDiscControllerClassName, "calculateButtonData"); + addMethodAnnotation( + sBraveIdentityDiscControllerClassName, + "calculateButtonData", + "Ljava/lang/Override;"); + } +} diff --git a/build/android/bytecode/java/org/brave/bytecode/BraveManageAccountDevicesLinkViewClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BraveManageAccountDevicesLinkViewClassAdapter.java index e5109e944a0c..f4bded71a076 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BraveManageAccountDevicesLinkViewClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BraveManageAccountDevicesLinkViewClassAdapter.java @@ -18,7 +18,9 @@ public BraveManageAccountDevicesLinkViewClassAdapter(ClassVisitor visitor) { changeSuperName(sManageAccountDevicesLinkView, sBraveManageAccountDevicesLinkView); - changeMethodOwner(sManageAccountDevicesLinkView, "inflateIfVisible", + changeMethodOwner( + sManageAccountDevicesLinkView, + "getSharingAccountInfo", sBraveManageAccountDevicesLinkView); } } diff --git a/build/android/bytecode/java/org/brave/bytecode/BravePermissionDialogModelClassAdapter.java b/build/android/bytecode/java/org/brave/bytecode/BravePermissionDialogModelClassAdapter.java index e5829ce69939..aa38325dccbb 100644 --- a/build/android/bytecode/java/org/brave/bytecode/BravePermissionDialogModelClassAdapter.java +++ b/build/android/bytecode/java/org/brave/bytecode/BravePermissionDialogModelClassAdapter.java @@ -9,7 +9,7 @@ public class BravePermissionDialogModelClassAdapter extends BraveClassVisitor { static String sPermissionDialogModelClassName = - "org/chromium/components/permissions/PermissionDialogModel"; + "org/chromium/components/permissions/PermissionDialogModelFactory"; static String sBravePermissionDialogModelClassName = "org/chromium/components/permissions/BravePermissionDialogModel"; diff --git a/chromium_src/check_chromium_src_config.json5 b/chromium_src/check_chromium_src_config.json5 index 54116c7bd5fd..9d05ac3959b8 100644 --- a/chromium_src/check_chromium_src_config.json5 +++ b/chromium_src/check_chromium_src_config.json5 @@ -62,9 +62,6 @@ "IF_BUILDFLAG_IMPL_1", "IF_BUILDFLAG_IMPL_CAT", ], - "chrome/browser/active_use_util.cc": [ - "BUILDFLAG_INTERNAL_USE_GOOGLE_UPDATE_INTEGRATION", - ], "chrome/browser/bookmarks/android/bookmark_bridge.cc": [ "BraveBookmarkBridge", ], @@ -112,9 +109,6 @@ "chrome/installer/setup/install_worker.cc": [ "BUILDFLAG_INTERNAL_USE_GOOGLE_UPDATE_INTEGRATION", ], - "chrome/installer/setup/user_experiment.cc": [ - "BUILDFLAG_INTERNAL_USE_GOOGLE_UPDATE_INTEGRATION", - ], "components/permissions/permission_request_data.h": [ "BRAVE_CHROMIUM_SRC_COMPONENTS_PERMISSIONS_PERMISSION_REQUEST_DATA_PERMISSION_CONTEXT_BASE", ], diff --git a/chromium_src/chrome/browser/active_use_util.cc b/chromium_src/chrome/browser/active_use_util.cc deleted file mode 100644 index c5b0eb634315..000000000000 --- a/chromium_src/chrome/browser/active_use_util.cc +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright (c) 2020 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 http://mozilla.org/MPL/2.0/. */ - -#include "build/build_config.h" -#include "chrome/install_static/buildflags.h" - -#if BUILDFLAG(IS_WIN) && defined(OFFICIAL_BUILD) -#include "chrome/install_static/brave_stash_google_update_integration.h" -#define BUILDFLAG_INTERNAL_USE_GOOGLE_UPDATE_INTEGRATION() (1) -#endif - -#include "src/chrome/browser/active_use_util.cc" - -#if BUILDFLAG(IS_WIN) && defined(OFFICIAL_BUILD) -#include "chrome/install_static/brave_restore_google_update_integration.h" -#endif diff --git a/chromium_src/chrome/browser/apps/intent_helper/intent_picker_features.cc b/chromium_src/chrome/browser/apps/intent_helper/intent_picker_features.cc deleted file mode 100644 index c3eeb2edf1f3..000000000000 --- a/chromium_src/chrome/browser/apps/intent_helper/intent_picker_features.cc +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2023 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/. - -#include "src/chrome/browser/apps/intent_helper/intent_picker_features.cc" - -#include "base/feature_override.h" - -namespace apps::features { - -OVERRIDE_FEATURE_DEFAULT_STATES({{ - {kLinkCapturingInfoBar, base::FEATURE_DISABLED_BY_DEFAULT}, -}}); - -} // namespace apps::features diff --git a/chromium_src/components/performance_manager/features.cc b/chromium_src/chrome/browser/apps/link_capturing/link_capturing_features.cc similarity index 56% rename from chromium_src/components/performance_manager/features.cc rename to chromium_src/chrome/browser/apps/link_capturing/link_capturing_features.cc index 79842562de73..cd6902c55f21 100644 --- a/chromium_src/components/performance_manager/features.cc +++ b/chromium_src/chrome/browser/apps/link_capturing/link_capturing_features.cc @@ -3,17 +3,16 @@ * 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/. */ -#include "src/components/performance_manager/features.cc" +#include "src/chrome/browser/apps/link_capturing/link_capturing_features.cc" #include "base/feature_override.h" -#include "build/build_config.h" -namespace performance_manager::features { +namespace apps::features { -#if !BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) OVERRIDE_FEATURE_DEFAULT_STATES({{ - {kHeuristicMemorySaver, base::FEATURE_ENABLED_BY_DEFAULT}, + {kDesktopPWAsLinkCapturing, base::FEATURE_DISABLED_BY_DEFAULT}, }}); #endif -} // namespace performance_manager::features +} // namespace apps::features diff --git a/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.cc b/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.cc index 6609954ff4c0..2dd21e854f97 100644 --- a/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.cc +++ b/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.cc @@ -3,6 +3,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.h" + #include "brave/browser/browsing_data/brave_browsing_data_remover_delegate.h" #define ChromeBrowsingDataRemoverDelegate BraveBrowsingDataRemoverDelegate diff --git a/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.h b/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.h new file mode 100644 index 000000000000..859215b4b7e7 --- /dev/null +++ b/chromium_src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.h @@ -0,0 +1,15 @@ +/* Copyright (c) 2021 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/. */ + +#ifndef BRAVE_CHROMIUM_SRC_CHROME_BROWSER_BROWSING_DATA_CHROME_BROWSING_DATA_REMOVER_DELEGATE_FACTORY_H_ +#define BRAVE_CHROMIUM_SRC_CHROME_BROWSER_BROWSING_DATA_CHROME_BROWSING_DATA_REMOVER_DELEGATE_FACTORY_H_ + +#define ChromeBrowsingDataRemoverDelegate BraveBrowsingDataRemoverDelegate +#include "src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_factory.h" // IWYU pragma: export +#undef ChromeBrowsingDataRemoverDelegate + +#include "brave/browser/browsing_data/brave_browsing_data_remover_delegate.h" + +#endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_BROWSING_DATA_CHROME_BROWSING_DATA_REMOVER_DELEGATE_FACTORY_H_ diff --git a/chromium_src/chrome/browser/devtools/url_constants_unittest.cc b/chromium_src/chrome/browser/devtools/url_constants_unittest.cc index 18d7034764a9..2d01d8504a0c 100644 --- a/chromium_src/chrome/browser/devtools/url_constants_unittest.cc +++ b/chromium_src/chrome/browser/devtools/url_constants_unittest.cc @@ -3,7 +3,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include "chrome/browser/ui/webui/devtools_ui.h" +#include "chrome/browser/ui/webui/devtools/devtools_ui.h" #include "testing/gtest/include/gtest/gtest.h" const char kBraveDevtoolsURLHost[] = "devtools.brave.com"; diff --git a/chromium_src/chrome/browser/download/download_commands.h b/chromium_src/chrome/browser/download/download_commands.h index 577600d34c3a..cf46bf8537f1 100644 --- a/chromium_src/chrome/browser/download/download_commands.h +++ b/chromium_src/chrome/browser/download/download_commands.h @@ -11,7 +11,7 @@ // Create brave specific commands set instead of appending to // DownloadCommands::Command to avoid many upstream changes. enum class BraveDownloadCommands { - REMOVE_FROM_LIST = DownloadCommands::Command::MAX + 1 + REMOVE_FROM_LIST = DownloadCommands::Command::kMaxValue + 1 }; #endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_DOWNLOAD_DOWNLOAD_COMMANDS_H_ diff --git a/chromium_src/chrome/browser/importer/profile_writer.h b/chromium_src/chrome/browser/importer/profile_writer.h index ecfab5f32096..0c83c782830c 100644 --- a/chromium_src/chrome/browser/importer/profile_writer.h +++ b/chromium_src/chrome/browser/importer/profile_writer.h @@ -8,16 +8,16 @@ // Extends ProfileWriter by file overriding instead of subclassing because there // are many places that instantiate it. -#define AddAutofillFormDataEntries \ +#define AddAutocompleteFormDataEntries \ AddCreditCard(const std::u16string& name_on_card, \ const std::u16string& expiration_month, \ const std::u16string& expiration_year, \ const std::u16string& decrypted_card_number, \ const std::string& origin); \ - virtual void AddAutofillFormDataEntries + virtual void AddAutocompleteFormDataEntries #include "src/chrome/browser/importer/profile_writer.h" // IWYU pragma: export -#undef AddAutofillFormDataEntries +#undef AddAutocompleteFormDataEntries #endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_IMPORTER_PROFILE_WRITER_H_ diff --git a/chromium_src/chrome/browser/profiles/off_the_record_profile_impl.cc b/chromium_src/chrome/browser/profiles/off_the_record_profile_impl.cc deleted file mode 100644 index 5d8a3e549d6d..000000000000 --- a/chromium_src/chrome/browser/profiles/off_the_record_profile_impl.cc +++ /dev/null @@ -1,8 +0,0 @@ -/* Copyright (c) 2022 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 http://mozilla.org/MPL/2.0/. */ - -#define ChromeBrowsingDataRemoverDelegate BraveBrowsingDataRemoverDelegate -#include "src/chrome/browser/profiles/off_the_record_profile_impl.cc" -#undef ChromeBrowsingDataRemoverDelegate diff --git a/chromium_src/chrome/browser/profiles/profile_impl.cc b/chromium_src/chrome/browser/profiles/profile_impl.cc index 695b88e4f462..55ede1473bb5 100644 --- a/chromium_src/chrome/browser/profiles/profile_impl.cc +++ b/chromium_src/chrome/browser/profiles/profile_impl.cc @@ -9,7 +9,6 @@ #include "brave/browser/profiles/brave_bookmark_model_loaded_observer.h" #define BookmarkModelLoadedObserver BraveBookmarkModelLoadedObserver -#define ChromeBrowsingDataRemoverDelegate BraveBrowsingDataRemoverDelegate #define ShouldRestoreOldSessionCookies \ ShouldRestoreOldSessionCookies_ChromiumImpl @@ -17,7 +16,6 @@ #undef ShouldRestoreOldSessionCookies #undef BookmarkModelLoadedObserver -#undef ChromeBrowsingDataRemoverDelegate bool ProfileImpl::ShouldRestoreOldSessionCookies() { bool should_restore = ShouldRestoreOldSessionCookies_ChromiumImpl(); diff --git a/chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.cc b/chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.cc new file mode 100644 index 000000000000..1dec21e75471 --- /dev/null +++ b/chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.cc @@ -0,0 +1,49 @@ +/* Copyright (c) 2022 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/. */ + +#include "chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.h" + +#include "base/no_destructor.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/profiles/profile_selections.h" +#include "chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service.h" +#include "content/public/browser/browser_context.h" + +namespace safe_browsing { + +// static +ExtensionTelemetryService* ExtensionTelemetryServiceFactory::GetForProfile( + Profile* profile) { + return nullptr; +} + +// static +ExtensionTelemetryServiceFactory* +ExtensionTelemetryServiceFactory::GetInstance() { + static base::NoDestructor instance; + return instance.get(); +} + +ExtensionTelemetryServiceFactory::ExtensionTelemetryServiceFactory() + : ProfileKeyedServiceFactory("ExtensionTelemetryService", + ProfileSelections::BuildNoProfilesSelected()) { +} + +content::BrowserContext* +ExtensionTelemetryServiceFactory::GetBrowserContextToUse( + content::BrowserContext* context) const { + return nullptr; +} + +bool ExtensionTelemetryServiceFactory::ServiceIsCreatedWithBrowserContext() + const { + return true; +} + +bool ExtensionTelemetryServiceFactory::ServiceIsNULLWhileTesting() const { + return true; +} + +} // namespace safe_browsing diff --git a/chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.h b/chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.h new file mode 100644 index 000000000000..83ce3cc924af --- /dev/null +++ b/chromium_src/chrome/browser/safe_browsing/extension_telemetry/extension_telemetry_service_factory.h @@ -0,0 +1,50 @@ +/* Copyright (c) 2023 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/. */ + +#ifndef BRAVE_CHROMIUM_SRC_CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_SERVICE_FACTORY_H_ +#define BRAVE_CHROMIUM_SRC_CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_SERVICE_FACTORY_H_ + +#include "base/no_destructor.h" +#include "chrome/browser/profiles/profile_keyed_service_factory.h" + +class KeyedService; +class Profile; + +namespace content { +class BrowserContext; +} + +namespace safe_browsing { + +class ExtensionTelemetryService; + +class ExtensionTelemetryServiceFactory : public ProfileKeyedServiceFactory { + public: + static ExtensionTelemetryService* GetForProfile(Profile* profile); + + // Get the singleton instance. + static ExtensionTelemetryServiceFactory* GetInstance(); + + ExtensionTelemetryServiceFactory(const ExtensionTelemetryServiceFactory&) = + delete; + ExtensionTelemetryServiceFactory& operator=( + const ExtensionTelemetryServiceFactory&) = delete; + + private: + friend class base::NoDestructor; + + ExtensionTelemetryServiceFactory(); + ~ExtensionTelemetryServiceFactory() override = default; + + // BrowserContextKeyedServiceFactory: + content::BrowserContext* GetBrowserContextToUse( + content::BrowserContext* context) const override; + bool ServiceIsCreatedWithBrowserContext() const override; + bool ServiceIsNULLWhileTesting() const override; +}; + +} // namespace safe_browsing + +#endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_SAFE_BROWSING_EXTENSION_TELEMETRY_EXTENSION_TELEMETRY_SERVICE_FACTORY_H_ diff --git a/chromium_src/chrome/browser/storage/shared_storage_browsertest.cc b/chromium_src/chrome/browser/storage/shared_storage_browsertest.cc new file mode 100644 index 000000000000..b9bcab5f1f37 --- /dev/null +++ b/chromium_src/chrome/browser/storage/shared_storage_browsertest.cc @@ -0,0 +1,10 @@ +/* Copyright (c) 2023 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/. */ + +#include "brave/browser/brave_content_browser_client.h" + +#define ChromeContentBrowserClient BraveContentBrowserClient +#include "src/chrome/browser/storage/shared_storage_browsertest.cc" +#undef ChromeContentBrowserClient diff --git a/chromium_src/chrome/browser/sync/bookmark_sync_service_factory.cc b/chromium_src/chrome/browser/sync/local_or_syncable_bookmark_sync_service_factory.cc similarity index 82% rename from chromium_src/chrome/browser/sync/bookmark_sync_service_factory.cc rename to chromium_src/chrome/browser/sync/local_or_syncable_bookmark_sync_service_factory.cc index ba8490b35d21..082bc753c827 100644 --- a/chromium_src/chrome/browser/sync/bookmark_sync_service_factory.cc +++ b/chromium_src/chrome/browser/sync/local_or_syncable_bookmark_sync_service_factory.cc @@ -3,7 +3,7 @@ * 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/. */ -#include "chrome/browser/sync/bookmark_sync_service_factory.h" +#include "chrome/browser/sync/local_or_syncable_bookmark_sync_service_factory.h" #include "build/build_config.h" #if !BUILDFLAG(IS_ANDROID) @@ -16,7 +16,7 @@ DependsOn(BookmarkPrefsServiceFactory::GetInstance()); \ DependsOn #endif -#include "src/chrome/browser/sync/bookmark_sync_service_factory.cc" +#include "src/chrome/browser/sync/local_or_syncable_bookmark_sync_service_factory.cc" #if !BUILDFLAG(IS_ANDROID) #undef DependsOn #endif diff --git a/chromium_src/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc b/chromium_src/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc index f9bd9ee05a8d..f16309832504 100644 --- a/chromium_src/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc +++ b/chromium_src/chrome/browser/sync/prefs/chrome_syncable_prefs_database.cc @@ -44,96 +44,96 @@ const auto& BraveSyncablePreferences() { std::string_view, sync_preferences::SyncablePrefMetadata>({ {"profile.content_settings.exceptions.shieldsAds", {brave_syncable_prefs_ids::kProfileContentSettingsExceptionsShieldsAds, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.trackers", {brave_syncable_prefs_ids::kProfileContentSettingsExceptionsTrackers, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.httpsUpgrades", {brave_syncable_prefs_ids:: kProfileContentSettingsExceptionsHttpsUpgrades, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.httpUpgradableResources", {brave_syncable_prefs_ids:: kProfileContentSettingsExceptionsHttpUpgradableResources, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.referrers", {brave_syncable_prefs_ids::kProfileContentSettingsExceptionsReferrers, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.shieldsCookiesV3", {brave_syncable_prefs_ids:: kProfileContentSettingsExceptionsShieldsCookiesV3, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.cosmeticFiltering", {brave_syncable_prefs_ids:: kProfileContentSettingsExceptionsCosmeticFiltering, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.fingerprintingV2", {brave_syncable_prefs_ids:: kProfileContentSettingsExceptionsFingerprintingV2, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.braveShields", {brave_syncable_prefs_ids::kProfileContentSettingsExceptionsBraveShields, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.content_settings.exceptions.braveSpeedreader", {brave_syncable_prefs_ids:: kProfileContentSettingsExceptionsBraveSpeedreader, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kMergeableDict}}, {"profile.default_content_setting_values.shieldsAds", {brave_syncable_prefs_ids::kProfileDefaultContentSettingValuesShieldsAds, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.trackers", {brave_syncable_prefs_ids::kProfileDefaultContentSettingValuesTrackers, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.httpsUpgrades", {brave_syncable_prefs_ids:: kProfileDefaultContentSettingValuesHttpsUpgrades, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.httpUpgradableResources", {brave_syncable_prefs_ids:: kProfileDefaultContentSettingValuesHttpUpgradableResources, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.referrers", {brave_syncable_prefs_ids::kProfileDefaultContentSettingValuesReferrers, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.shieldsCookiesV3", {brave_syncable_prefs_ids:: kProfileDefaultContentSettingValuesShieldsCookiesV3, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.cosmeticFiltering", {brave_syncable_prefs_ids:: kProfileDefaultContentSettingValuesCosmeticFiltering, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.fingerprintingV2", {brave_syncable_prefs_ids:: kProfileDefaultContentSettingValuesFingerprintingV2, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.braveShields", {brave_syncable_prefs_ids:: kProfileDefaultContentSettingValuesBraveShields, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, {"profile.default_content_setting_values.braveSpeedreader", {brave_syncable_prefs_ids:: kProfileDefaultContentSettingValuesBraveSpeedreader, - syncer::PREFERENCES, /*is_history_opt_in_required*/ false, + syncer::PREFERENCES, sync_preferences::PrefSensitivity::kNone, sync_preferences::MergeBehavior::kNone}}, }); return kBraveSyncablePrefsAllowList; diff --git a/chromium_src/chrome/browser/ui/cocoa/first_run_dialog_controller.mm b/chromium_src/chrome/browser/ui/cocoa/first_run_dialog_controller.mm index 3b4748bacc2b..a2bc71b62d6c 100644 --- a/chromium_src/chrome/browser/ui/cocoa/first_run_dialog_controller.mm +++ b/chromium_src/chrome/browser/ui/cocoa/first_run_dialog_controller.mm @@ -97,7 +97,7 @@ - (void)loadView { IDS_FIRSTRUN_DLG_PIN_SHORTCUT_TEXT); base::i18n::AdjustStringForLocaleDirection(&dockCheckboxString); _dockCheckbox = [[NSButton alloc] init]; - [_dockCheckbox setButtonType:NSSwitchButton]; + [_dockCheckbox setButtonType:NSButtonTypeSwitch]; [_dockCheckbox setTitle:base::SysUTF16ToNSString(dockCheckboxString)]; [_dockCheckbox setFont:[NSFont systemFontOfSize:14.0 weight:NSFontWeightRegular]]; diff --git a/chromium_src/chrome/browser/ui/side_panel/side_panel_entry_id.h b/chromium_src/chrome/browser/ui/side_panel/side_panel_entry_id.h deleted file mode 100644 index c7bed644773c..000000000000 --- a/chromium_src/chrome/browser/ui/side_panel/side_panel_entry_id.h +++ /dev/null @@ -1,15 +0,0 @@ -/* Copyright (c) 2022 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/. */ - -#ifndef BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_SIDE_PANEL_SIDE_PANEL_ENTRY_ID_H_ -#define BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_SIDE_PANEL_SIDE_PANEL_ENTRY_ID_H_ - -#define kAssistant kAssistant, kPlaylist, kChatUI - -#include "src/chrome/browser/ui/side_panel/side_panel_entry_id.h" // IWYU pragma: export - -#undef kAssistant - -#endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_SIDE_PANEL_SIDE_PANEL_ENTRY_ID_H_ diff --git a/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc b/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc index 6999f74b94d2..7c05997bf2af 100644 --- a/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc +++ b/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.cc @@ -15,8 +15,9 @@ const char kBraveSyncedTabsUrl[] = "brave://history/syncedTabs"; // Patched because this inserting should be done before BuildLocalEntries() in // ctor and only once. -#define BRAVE_RECENT_TABS_SUB_MENU_MODEL_BUILD \ - InsertItemWithStringIdAt(1, IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA); +#define BRAVE_RECENT_TABS_SUB_MENU_MODEL_BUILD \ + InsertItemWithStringIdAt(history_separator_index_++, \ + IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA); #define BRAVE_RECENT_TABS_SUB_MENU_MODEL_BUILD_TABS_FROM_OTHER_DEVICES \ if (tabs_in_session.size() > kMaxTabsPerSessionToShow) { \ diff --git a/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc b/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc index da21aefb63c0..cee069856913 100644 --- a/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc +++ b/chromium_src/chrome/browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc @@ -5,6 +5,8 @@ #include +#include "base/strings/string_util.h" + // Disabling these tests because they refer g_brave_browser_process which is not // initialized in unit tests, is null and so they are crashing. // Not related to change in RecentTabsSubMenuModel for additional `More...` @@ -35,6 +37,9 @@ #undef RecentlyClosedTabsFromCurrentSession #undef RecentlyClosedGroupsFromCurrentSession +// This function override is in place here to make sure we insert an extra entry +// on the model data to be checked, representing Brave's entry "Clear Browsing +// Data". void RecentTabsSubMenuModelTest::VerifyModel( const RecentTabsSubMenuModel& model, base::span data) { @@ -42,7 +47,7 @@ void RecentTabsSubMenuModelTest::VerifyModel( v_data.insert(v_data.begin() + 1, {ui::MenuModel::TYPE_COMMAND, true}); const std::string_view test_name = testing::UnitTest::GetInstance()->current_test_info()->name(); - if (test_name == "MaxTabsPerSessionAndRecency") { + if (base::StartsWith(test_name, "MaxTabsPerSessionAndRecency/")) { v_data.push_back({ui::MenuModel::TYPE_COMMAND, true}); } ::VerifyModel(model, base::make_span(v_data.begin(), v_data.size())); diff --git a/chromium_src/chrome/browser/ui/ui_features.cc b/chromium_src/chrome/browser/ui/ui_features.cc index 9fa636925a8a..c5cdbde485b5 100644 --- a/chromium_src/chrome/browser/ui/ui_features.cc +++ b/chromium_src/chrome/browser/ui/ui_features.cc @@ -12,12 +12,11 @@ namespace features { OVERRIDE_FEATURE_DEFAULT_STATES({{ {kChromeLabs, base::FEATURE_DISABLED_BY_DEFAULT}, - {kExtensionsMenuInAppMenu, base::FEATURE_DISABLED_BY_DEFAULT}, #if !BUILDFLAG(IS_ANDROID) {kHaTSWebUI, base::FEATURE_DISABLED_BY_DEFAULT}, #endif - {kPowerBookmarksSidePanel, base::FEATURE_DISABLED_BY_DEFAULT}, {kTabHoverCardImages, base::FEATURE_DISABLED_BY_DEFAULT}, + {kExtensionsMenuInAppMenu, base::FEATURE_DISABLED_BY_DEFAULT}, }}); } // namespace features diff --git a/chromium_src/chrome/browser/ui/views/omnibox/omnibox_popup_view_views.h b/chromium_src/chrome/browser/ui/views/omnibox/omnibox_popup_view_views.h index 1b6121cdf563..a7156a232b40 100644 --- a/chromium_src/chrome/browser/ui/views/omnibox/omnibox_popup_view_views.h +++ b/chromium_src/chrome/browser/ui/views/omnibox/omnibox_popup_view_views.h @@ -6,15 +6,15 @@ #ifndef BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_POPUP_VIEW_VIEWS_H_ #define BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_POPUP_VIEW_VIEWS_H_ -#define OmniboxPopupViewViewsTest \ - OmniboxPopupViewViewsTest; \ +#define OmniboxSuggestionButtonRowBrowserTest \ + OmniboxSuggestionButtonRowBrowserTest; \ friend class BraveOmniboxPopupViewViews #define GetTargetBounds virtual GetTargetBounds #include "src/chrome/browser/ui/views/omnibox/omnibox_popup_view_views.h" // IWYU pragma: export -#undef OmniboxPopupViewViewsTest +#undef OmniboxSuggestionButtonRowBrowserTest #undef GetTargetBounds #endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_OMNIBOX_OMNIBOX_POPUP_VIEW_VIEWS_H_ diff --git a/chromium_src/chrome/browser/ui/views/page_info/page_info_cookies_content_view.cc b/chromium_src/chrome/browser/ui/views/page_info/page_info_cookies_content_view.cc index 5ef78a42e45b..8d3a6d53edcc 100644 --- a/chromium_src/chrome/browser/ui/views/page_info/page_info_cookies_content_view.cc +++ b/chromium_src/chrome/browser/ui/views/page_info/page_info_cookies_content_view.cc @@ -5,6 +5,9 @@ #include "chrome/browser/ui/views/page_info/page_info_cookies_content_view.h" +#include "base/check_is_test.h" +#include "chrome/browser/ui/views/page_info/page_info_main_view.h" + #define SetCookieInfo SetCookieInfo_ChromiumImpl #include "src/chrome/browser/ui/views/page_info/page_info_cookies_content_view.cc" #undef SetCookieInfo @@ -16,6 +19,20 @@ void PageInfoCookiesContentView::SetCookieInfo( // Remove cookies text and link to settings. RemoveChildView(children()[0]); + // Remove separator. + // cookies_buttons_container_view_'s children are: + // [0]: blocking_third_party_cookies_row_, which we set to invisible below + // [1]: separator + // [3]: on-site data button row, which we want to keep. + if (cookies_buttons_container_view_) { + if (cookies_buttons_container_view_->children().size() == 3u) { + cookies_buttons_container_view_->RemoveChildView( + cookies_buttons_container_view_->children()[1]); + } else { + CHECK_IS_TEST(); + } + } + // Hide 3P cookies toggle if shown. if (blocking_third_party_cookies_row_) { blocking_third_party_cookies_row_->SetVisible(false); diff --git a/chromium_src/chrome/browser/ui/views/permissions/chooser_bubble_ui.cc b/chromium_src/chrome/browser/ui/views/permissions/chooser_bubble_ui.cc index 9bc40c75d915..9abe437c749b 100644 --- a/chromium_src/chrome/browser/ui/views/permissions/chooser_bubble_ui.cc +++ b/chromium_src/chrome/browser/ui/views/permissions/chooser_bubble_ui.cc @@ -71,7 +71,7 @@ namespace chrome { Browser* FindBrowserAndAdjustBubbleForBraveWalletPanel( content::WebContents* contents) { if (!IsBravePanel(contents)) - return chrome::FindBrowserWithWebContents(contents); + return chrome::FindBrowserWithTab(contents); Browser* browser = chrome::FindBrowserWithProfile( Profile::FromBrowserContext(contents->GetBrowserContext())); @@ -86,7 +86,7 @@ Browser* FindBrowserAndAdjustBubbleForBraveWalletPanel( } // namespace chrome -#define FindBrowserWithWebContents FindBrowserAndAdjustBubbleForBraveWalletPanel +#define FindBrowserWithTab FindBrowserAndAdjustBubbleForBraveWalletPanel #define GetActiveWebContents \ GetActiveWebContents() && !IsBravePanel(contents) && \ browser->tab_strip_model()->GetActiveWebContents @@ -102,4 +102,4 @@ Browser* FindBrowserAndAdjustBubbleForBraveWalletPanel( #undef SetExtraView #undef BubbleDialogDelegateView #undef GetActiveWebContents -#undef FindBrowserWithWebContents +#undef FindBrowserWithTab diff --git a/chromium_src/chrome/browser/ui/views/permissions/permission_prompt_factory.cc b/chromium_src/chrome/browser/ui/views/permissions/permission_prompt_factory.cc index 6447994af891..96df8f5c0d5e 100644 --- a/chromium_src/chrome/browser/ui/views/permissions/permission_prompt_factory.cc +++ b/chromium_src/chrome/browser/ui/views/permissions/permission_prompt_factory.cc @@ -17,7 +17,7 @@ std::unique_ptr CreatePermissionPrompt( content::WebContents* web_contents, permissions::PermissionPrompt::Delegate* delegate) { - Browser* browser = chrome::FindBrowserWithWebContents(web_contents); + Browser* browser = chrome::FindBrowserWithTab(web_contents); if (!browser) { DLOG(WARNING) << "Permission prompt suppressed because the WebContents is " "not attached to any Browser window."; diff --git a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_coordinator.h b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_coordinator.h index 8abc68ea04a6..28f4e0ba2016 100644 --- a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_coordinator.h +++ b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_coordinator.h @@ -31,11 +31,9 @@ } \ friend class BraveSidePanelCoordinator; \ virtual std::unique_ptr CreateHeader -#define final #include "src/chrome/browser/ui/views/side_panel/side_panel_coordinator.h" // IWYU pragma: export -#undef final #undef CreateHeader #endif // BRAVE_CHROMIUM_SRC_CHROME_BROWSER_UI_VIEWS_SIDE_PANEL_SIDE_PANEL_COORDINATOR_H_ diff --git a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.cc b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.cc index 933f8ef94b4f..8e3070e31831 100644 --- a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.cc +++ b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.cc @@ -27,15 +27,3 @@ void SidePanelUtil::PopulateGlobalEntries(Browser* browser, ->CreateAndRegisterEntry(global_registry); } } - -// static -std::string SidePanelUtil::GetHistogramNameForId(SidePanelEntry::Id id) { - if (id == SidePanelEntry::Id::kPlaylist) - return "Brave.Playlist"; - - if (id == SidePanelEntry::Id::kChatUI) { - return "Brave.AIChat"; - } - - return ::GetHistogramNameForId(id); -} diff --git a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.h b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.h index c5ff914ab74f..435bb5a955e6 100644 --- a/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.h +++ b/chromium_src/chrome/browser/ui/views/side_panel/side_panel_util.h @@ -9,7 +9,6 @@ #define PopulateGlobalEntries \ PopulateGlobalEntries_ChromiumImpl(Browser* browser, \ SidePanelRegistry* global_registry); \ - static std::string GetHistogramNameForId(SidePanelEntry::Id id); \ static void PopulateGlobalEntries #include "src/chrome/browser/ui/views/side_panel/side_panel_util.h" // IWYU pragma: export diff --git a/chromium_src/chrome/browser/ui/views/site_data/page_specific_site_data_dialog.cc b/chromium_src/chrome/browser/ui/views/site_data/page_specific_site_data_dialog.cc new file mode 100644 index 000000000000..3b0c10dfdada --- /dev/null +++ b/chromium_src/chrome/browser/ui/views/site_data/page_specific_site_data_dialog.cc @@ -0,0 +1,12 @@ +/* Copyright (c) 2023 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/. */ + +#include "chrome/browser/ui/views/site_data/page_specific_site_data_dialog.h" + +#include "chrome/common/webui_url_constants.h" + +#define kOnDeviceSiteDataSubpage kCookieSettingsSubPage +#include "src/chrome/browser/ui/views/site_data/page_specific_site_data_dialog.cc" +#undef kOnDeviceSiteDataSubpage diff --git a/chromium_src/chrome/common/chrome_features.cc b/chromium_src/chrome/common/chrome_features.cc index 1b5fa1463bf7..92734cf85b10 100644 --- a/chromium_src/chrome/common/chrome_features.cc +++ b/chromium_src/chrome/common/chrome_features.cc @@ -15,9 +15,7 @@ namespace features { OVERRIDE_FEATURE_DEFAULT_STATES({{ {kKAnonymityService, base::FEATURE_DISABLED_BY_DEFAULT}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - {kDesktopPWAsLinkCapturing, base::FEATURE_DISABLED_BY_DEFAULT}, -#endif + {kKAnonymityServiceOHTTPRequests, base::FEATURE_DISABLED_BY_DEFAULT}, {kPrivacyGuide3, base::FEATURE_DISABLED_BY_DEFAULT}, #if BUILDFLAG(IS_ANDROID) {kPrivacyGuideAndroid, base::FEATURE_DISABLED_BY_DEFAULT}, diff --git a/chromium_src/chrome/common/url_constants.cc b/chromium_src/chrome/common/url_constants.cc deleted file mode 100644 index 6a1fc70e8a32..000000000000 --- a/chromium_src/chrome/common/url_constants.cc +++ /dev/null @@ -1,314 +0,0 @@ -/* Copyright (c) 2019 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/. */ - -#include "chrome/common/url_constants.h" - -#include "build/branding_buildflags.h" -#include "build/build_config.h" -#include "chrome/common/webui_url_constants.h" - -namespace chrome { - -const char kAccessCodeCastLearnMoreURL[] = "https://support.brave.com/"; - -const char kAccessibilityLabelsLearnMoreURL[] = - "https://support.brave.com/"; - -const char kAdPrivacyLearnMoreURL[] = "https://support.brave.com/"; - -const char kAutomaticSettingsResetLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360017903152-How-do-I-reset-Brave-settings-to-default-"; - -const char kAdvancedProtectionDownloadLearnMoreURL[] = - "https://support.brave.com/"; - -const char kBatterySaverModeLearnMoreUrl[] = - "https://support.brave.com/hc/en-us/articles/13380606172557"; - -const char kBluetoothAdapterOffHelpURL[] = - "https://support.brave.com/"; - -const char kCastCloudServicesHelpURL[] = - "https://support.brave.com/"; - -const char kCastNoDestinationFoundURL[] = - "https://support.brave.com/"; - -const char kChooserHidOverviewUrl[] = - "https://github.com/brave/brave-browser/wiki/Web-API-Permissions"; - -const char kChooserSerialOverviewUrl[] = - "https://github.com/brave/brave-browser/wiki/Web-API-Permissions"; - -const char kChooserUsbOverviewURL[] = - "https://github.com/brave/brave-browser/wiki/Web-API-Permissions"; - -const char kChromeBetaForumURL[] = - "https://community.brave.com/c/beta-builds"; - -const char kChromeFixUpdateProblems[] = - "https://support.brave.com/"; - -const char kChromeHelpViaKeyboardURL[] = - "https://support.brave.com/"; - -const char kChromeHelpViaMenuURL[] = - "https://support.brave.com/"; - -const char kChromeHelpViaWebUIURL[] = - "https://support.brave.com/"; - -const char kFirstPartySetsLearnMoreURL[] = "https://support.brave.com/"; - -const char kIsolatedAppScheme[] = "isolated-app"; - -const char kChromeNativeScheme[] = "chrome-native"; - -const char kChromeSafePageURL[] = "https://support.brave.com/"; - -const char kChromeSearchLocalNtpHost[] = "local-ntp"; - -const char kChromeSearchMostVisitedHost[] = "most-visited"; -const char kChromeSearchMostVisitedUrl[] = "chrome-search://most-visited/"; - -const char kChromeUIUntrustedNewTabPageBackgroundUrl[] = - "chrome-untrusted://new-tab-page/background.jpg"; -const char kChromeUIUntrustedNewTabPageBackgroundFilename[] = "background.jpg"; - -const char kChromeSearchRemoteNtpHost[] = "remote-ntp"; - -const char kChromeSearchScheme[] = "chrome-search"; - -const char kChromeUIUntrustedNewTabPageUrl[] = - "chrome-untrusted://new-tab-page/"; - -const char kChromiumProjectURL[] = "https://github.com/brave/brave-browser/"; - -const char kContentSettingsExceptionsLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018205431-How-do-I-change-site-permissions-"; - -const char kCookiesSettingsHelpCenterURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018205431-How-do-I-change-site-permissions-"; - -const char kCrashReasonURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018192251-How-do-I-fix-page-crashes-and-other-page-loading-errors-"; - -const char kCrashReasonFeedbackDisplayedURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018192251-How-do-I-fix-page-crashes-and-other-page-loading-errors-"; - -const char kDoNotTrackLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360017905612-How-do-I-turn-Do-Not-Track-on-or-off-"; - -const char kDownloadInterruptedLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018192491-How-do-I-fix-file-download-errors-"; - -const char kDownloadScanningLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018192491-How-do-I-fix-file-download-errors-"; - -// Note: This is the same as the above URL. This is done to decouple the URLs, -// in case the support page is split apart into separate pages in the future. -const char kDownloadBlockedLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018192491-How-do-I-fix-file-download-errors-"; - -const char kExtensionControlledSettingLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018185651-How-do-I-stop-extensions-from-changing-my-settings-"; - -const char kExtensionInvalidRequestURL[] = "chrome-extension://invalid/"; - -const char kFamilyGroupCreateURL[] = "https://support.brave.com/"; -const char kFamilyGroupViewURL[] = "https://support.brave.com/"; - -const char kFlashDeprecationLearnMoreURL[] = - "https://blog.chromium.org/2017/07/so-long-and-thanks-for-all-flash.html"; - -const char kGoogleAccountActivityControlsURL[] = - "https://support.brave.com/"; - -const char kGoogleAccountActivityControlsURLInPrivacyGuide[] = - "https://support.brave.com/"; - -const char kGoogleAccountURL[] = "https://support.brave.com/"; - -const char kGoogleAccountChooserURL[] = "https://support.brave.com/"; - -const char kGoogleAccountDeviceActivityURL[] = "https://support.brave.com/"; - -const char kGooglePasswordManagerURL[] = "https://support.brave.com"; - -const char kLearnMoreReportingURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360017905872-How-do-I-enable-or-disable-automatic-crash-reporting-"; - -const char kManage3pcHelpCenterURL[] = "https://support.brave.com/"; - -const char kHighEfficiencyModeLearnMoreUrl[] = - "https://support.brave.com/hc/en-us/articles/13383683902733"; - -const char kHighEfficiencyModeTabDiscardingHelpUrl[] = - "https://support.brave.com/"; - -const char kIncognitoHelpCenterURL[] = "https://support.brave.com"; - -const char kTrackingProtectionHelpCenterURL[] = "https://support.brave.com/"; - -const char kUserBypassHelpCenterURL[] = "https://support.brave.com/"; - -const char kManagedUiLearnMoreUrl[] = "https://support.brave.com/"; - -const char kInsecureDownloadBlockingLearnMoreUrl[] = - "https://support.brave.com/"; - -const char kMyActivityUrlInClearBrowsingData[] = - "https://support.brave.com/"; - -const char kOmniboxLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360017479752-How-do-I-set-my-default-search-engine-"; - -const char kPageInfoHelpCenterURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018185871-How-do-I-check-if-a-site-s-connection-is-secure-"; - -const char kPasswordCheckLearnMoreURL[] = "https://support.brave.com/"; - -const char kPasswordGenerationLearnMoreURL[] = "https://support.brave.com/"; - -const char kPasswordManagerLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018185951-How-do-I-use-the-built-in-password-manager-"; - -const char kPasswordSharingLearnMoreURL[] = "https://support.brave.com/"; - -const char kPasswordSharingTroubleshootURL[] = "https://support.brave.com/"; - -const char kPaymentMethodsURL[] = "https://support.brave.com"; - -const char kPrivacyLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360017989132-How-do-I-change-my-Privacy-Settings-"; - -const char kRemoveNonCWSExtensionURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360017914832-Why-am-I-seeing-the-message-extensions-disabled-by-Brave-"; - -const char kResetProfileSettingsLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360017903152-How-do-I-reset-Brave-settings-to-default-"; - -const char kSafeBrowsingHelpCenterURL[] = - "https://support.brave.com/hc/en-us/articles/" - "15222663599629-Safe-Browsing-in-Brave"; - -const char kSafeBrowsingHelpCenterUpdatedURL[] = "https://support.brave.com/"; - -const char kSafeBrowsingInChromeHelpCenterURL[] = "https://support.brave.com/"; - -const char kSafeBrowsingPTourURL[] = "https://support.brave.com/"; - -const char kSafetyTipHelpCenterURL[] = - "https://support.brave.com/hc/en-us/articles/17550072876045-Lookalike-URLs"; - -const char kSearchHistoryUrlInClearBrowsingData[] = - "https://support.brave.com/"; - -const char kSeeMoreSecurityTipsURL[] = - "https://support.brave.com/"; - -const char kSettingsSearchHelpURL[] = - "https://support.brave.com/"; - -const char kSyncAndGoogleServicesLearnMoreURL[] = - "https://support.brave.com/"; - -const char kSyncEncryptionHelpURL[] = - "https://support.brave.com/"; - -const char kSyncErrorsHelpURL[] = - "https://support.brave.com/"; - -const char kSyncGoogleDashboardURL[] = - "https://support.brave.com/"; - -const char kSyncLearnMoreURL[] = - "https://support.brave.com/"; - -const char kSigninInterceptManagedDisclaimerLearnMoreURL[] = - "https://support.brave.com/"; - -#if !BUILDFLAG(IS_ANDROID) -const char kSyncTrustedVaultOptInURL[] = "https://support.brave.com/"; -#endif - -const char kSyncTrustedVaultLearnMoreURL[] = "https://support.brave.com/"; - -const char kUpgradeHelpCenterBaseURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360025390311-How-do-I-download-and-install-Brave-"; - -const char kWhoIsMyAdministratorHelpURL[] = - "https://support.brave.com/"; - -const char kCwsEnhancedSafeBrowsingLearnMoreURL[] = - "https://support.brave.com/"; - -#if BUILDFLAG(IS_ANDROID) -const char kEnhancedPlaybackNotificationLearnMoreURL[] = -// Keep in sync with chrome/android/java/strings/android_chrome_strings.grd - "https://community.brave.com"; -#endif - -#if BUILDFLAG(IS_MAC) -const char kChromeEnterpriseSignInLearnMoreURL[] = - "https://support.brave.com/"; - -const char kMacOsObsoleteURL[] = - "https://support.brave.com/hc/en-us/articles/" - "18347246446733-Changes-to-macOS-desktop-browser-requirements"; -#endif - -#if BUILDFLAG(IS_WIN) -const char kWindowsXPVistaDeprecationURL[] = - "https://support.brave.com/"; - -const char kWindows78DeprecationURL[] = - "https://support.brave.com/hc/en-us/articles/11197967945613"; -#endif // BUILDFLAG(IS_WIN) - -const char kChromeSyncLearnMoreURL[] = "https://support.brave.com/"; - -#if BUILDFLAG(ENABLE_PLUGINS) -const char kOutdatedPluginLearnMoreURL[] = - "https://support.brave.com/hc/en-us/articles/" - "360018163151-How-do-I-manage-Flash-audio-video-"; -#endif - -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -const char kChromeAppsDeprecationLearnMoreURL[] = - "https://support.google.com/chrome/?p=chrome_app_deprecation"; -#endif - -#if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) -// TODO(b/1339340): add help center link when help center link is created. -const char kChromeRootStoreSettingsHelpCenterURL[] = - "https://chromium.googlesource.com/chromium/src/+/main/net/data/ssl/" - "chrome_root_store/root_store.md"; -#endif - -const char kAddressesAndPaymentMethodsLearnMoreURL[] = - "https://support.brave.com"; - -const char kPasswordManagerImportLearnMoreURL[] = "https://support.brave.com"; - -} // namespace chrome diff --git a/chromium_src/chrome/common/url_constants.h b/chromium_src/chrome/common/url_constants.h new file mode 100644 index 000000000000..3bf91a932c06 --- /dev/null +++ b/chromium_src/chrome/common/url_constants.h @@ -0,0 +1,465 @@ +/* Copyright (c) 2019 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/. */ + +#ifndef BRAVE_CHROMIUM_SRC_CHROME_COMMON_URL_CONSTANTS_H_ +#define BRAVE_CHROMIUM_SRC_CHROME_COMMON_URL_CONSTANTS_H_ + +#include + +#include "build/branding_buildflags.h" +#include "build/build_config.h" +#include "chrome/common/webui_url_constants.h" +#include "net/net_buildflags.h" +#include "ppapi/buildflags/buildflags.h" + +namespace chrome { + +// "Learn more" URL linked in the dialog to cast using a code. +inline constexpr char kAccessCodeCastLearnMoreURL[] = + "https://support.brave.com/"; + +// "Learn more" URL for accessibility image labels, linked from the permissions +// dialog shown when a user enables the feature. +inline constexpr char kAccessibilityLabelsLearnMoreURL[] = + "https://support.brave.com/"; + +// "Learn more" URL for Ad Privacy. +inline constexpr char kAdPrivacyLearnMoreURL[] = "https://support.brave.com/"; + +// "Learn more" URL for when profile settings are automatically reset. +inline constexpr char kAutomaticSettingsResetLearnMoreURL[] = + "https://support.brave.com/hc/en-us/articles/" + "360017903152-How-do-I-reset-Brave-settings-to-default-"; + +// "Learn more" URL for Advanced Protection download warnings. +inline constexpr char kAdvancedProtectionDownloadLearnMoreURL[] = + "https://support.brave.com/"; + +// "Learn more" URL for Battery Saver Mode. +inline constexpr char kBatterySaverModeLearnMoreUrl[] = + "https://support.brave.com/hc/en-us/articles/13380606172557"; + +// The URL for providing help when the Bluetooth adapter is off. +inline constexpr char kBluetoothAdapterOffHelpURL[] = + "https://support.brave.com/"; + +// "Learn more" URL shown in the dialog to enable cloud services for Cast. +inline constexpr char kCastCloudServicesHelpURL[] = + "https://support.brave.com/"; + +// The URL for the help center article to show when no Cast destination has been +// found. +inline constexpr char kCastNoDestinationFoundURL[] = + "https://support.brave.com/"; + +// The URL for the WebHID API help center article. +inline constexpr char kChooserHidOverviewUrl[] = + "https://github.com/brave/brave-browser/wiki/Web-API-Permissions"; + +// The URL for the Web Serial API help center article. +inline constexpr char kChooserSerialOverviewUrl[] = + "https://github.com/brave/brave-browser/wiki/Web-API-Permissions"; + +// The URL for the WebUsb help center article. +inline constexpr char kChooserUsbOverviewURL[] = + "https://github.com/brave/brave-browser/wiki/Web-API-Permissions"; + +// Link to the forum for Chrome Beta. +inline constexpr char kChromeBetaForumURL[] = + "https://community.brave.com/c/beta-builds"; + +// The URL for the help center article to fix Chrome update problems. +inline constexpr char16_t kChromeFixUpdateProblems[] = + u"https://support.brave.com/"; + +// General help links for Chrome, opened using various actions. +inline constexpr char kChromeHelpViaKeyboardURL[] = + "https://support.brave.com/"; + +inline constexpr char kChromeHelpViaMenuURL[] = "https://support.brave.com/"; + +inline constexpr char kChromeHelpViaWebUIURL[] = "https://support.brave.com/"; + +inline constexpr char kFirstPartySetsLearnMoreURL[] = + "https://support.brave.com/"; + +// The isolated-app: scheme is used for Isolated Web Apps. A public explainer +// can be found here: https://github.com/reillyeon/isolated-web-apps +inline constexpr char kIsolatedAppScheme[] = "isolated-app"; +inline constexpr char16_t kIsolatedAppSchemeUtf16[] = u"isolated-app"; + +// The chrome-native: scheme is used show pages rendered with platform specific +// widgets instead of using HTML. +inline constexpr char kChromeNativeScheme[] = "chrome-native"; + +// The URL of safe section in Chrome page. +inline constexpr char16_t kChromeSafePageURL[] = u"https://support.brave.com/"; + +// Pages under chrome-search. +inline constexpr char kChromeSearchLocalNtpHost[] = "local-ntp"; + +// Host and URL for most visited iframes used on the Instant Extended NTP. +inline constexpr char kChromeSearchMostVisitedHost[] = "most-visited"; +inline constexpr char kChromeSearchMostVisitedUrl[] = + "chrome-search://most-visited/"; + +// URL for NTP custom background image selected from the user's machine and +// filename for the version of the file in the Profile directory +inline constexpr char kChromeUIUntrustedNewTabPageBackgroundUrl[] = + "chrome-untrusted://new-tab-page/background.jpg"; +inline constexpr char kChromeUIUntrustedNewTabPageBackgroundFilename[] = + "background.jpg"; + +// Page under chrome-search. +inline constexpr char kChromeSearchRemoteNtpHost[] = "remote-ntp"; + +// The chrome-search: scheme is served by the same backend as chrome:. However, +// only specific URLDataSources are enabled to serve requests via the +// chrome-search: scheme. See |InstantIOContext::ShouldServiceRequest| and its +// callers for details. Note that WebUIBindings should never be granted to +// chrome-search: pages. chrome-search: pages are displayable but not readable +// by external search providers (that are rendered by Instant renderer +// processes), and neither displayable nor readable by normal (non-Instant) web +// pages. To summarize, a non-Instant process, when trying to access +// 'chrome-search://something', will bump up against the following: +// +// 1. Renderer: The display-isolated check in WebKit will deny the request, +// 2. Browser: Assuming they got by #1, the scheme checks in +// URLDataSource::ShouldServiceRequest will deny the request, +// 3. Browser: for specific sub-classes of URLDataSource, like ThemeSource +// there are additional Instant-PID checks that make sure the request is +// coming from a blessed Instant process, and deny the request. +inline constexpr char kChromeSearchScheme[] = "chrome-search"; + +// This is the base URL of content that can be embedded in chrome://new-tab-page +// using an