M119 stage 7

This commit is contained in:
Alexander Frick 2023-12-29 06:19:05 -06:00
parent b5a6097b08
commit 3ca987ebf2
13 changed files with 536 additions and 232 deletions

View file

@ -105,7 +105,7 @@ declare_args() {
enable_media_drm_storage = is_android || is_castos
# Enable HLS manifest parser and demuxer.
enable_hls_demuxer = false
enable_hls_demuxer = proprietary_codecs && is_android
# Enable inclusion of the HEVC/H265 parser and also enable HEVC/H265 decoding
# with hardware acceleration assist. Enabled by default for fuzzer builds,
@ -144,6 +144,10 @@ declare_args() {
(is_win || is_chromeos || is_linux || is_apple || is_android)
}
assert(!enable_hls_demuxer || enable_mse_mpeg2ts_stream_parser,
"enable_mse_mpeg2ts_stream_parser required for enable_hls_demuxer")
assert(!enable_hls_demuxer || proprietary_codecs,
"proprietary_codecs required for enable_hls_demuxer")
assert(!enable_platform_ac3_eac3_audio || proprietary_codecs,
"proprietary_codecs required for enable_platform_ac3_eac3_audio")
assert(!enable_platform_mpeg_h_audio || proprietary_codecs,

View file

@ -155,16 +155,7 @@ config("default_orderfile_instrumentation") {
}
}
config("jni_include_dir") {
include_dirs = [ jni_headers_dir ]
}
if (current_toolchain == default_toolchain) {
pool("goma_javac_pool") {
# Override action_pool when goma is enabled for javac.
depth = 10000
}
# nocompile tests share output directory to avoid them all needing to rebuild
# things. But this also means they can't run in parallel.
pool("nocompile_pool") {

View file

@ -34,9 +34,9 @@ import("//device/vr/buildflags/buildflags.gni")
import("//printing/buildflags/buildflags.gni")
import("//testing/test.gni")
import("//third_party/icu/config.gni")
import("//third_party/jni_zero/jni_zero.gni")
import("//third_party/protobuf/proto_library.gni")
import("//tools/resources/generate_resource_allowlist.gni")
import("//weblayer/variables.gni")
import("channel.gni")
import("java_sources.gni")
import("static_initializers.gni")
@ -234,9 +234,9 @@ if (current_toolchain == default_toolchain) {
java_group("delegate_public_impl_java") {
deps = [
":app_hooks_java",
"//chrome/android/modules/readaloud/public:provider_public_java",
"//chrome/browser/accessibility/hierarchysnapshotter/android:delegate_public_impl_java",
"//chrome/browser/auxiliary_search:delegate_public_impl_java",
"//chrome/browser/feed/android:hooks_public_impl_java",
"//chrome/browser/feedback/android:delegate_public_impl_java",
"//chrome/browser/lens:delegate_public_impl_java",
"//chrome/browser/locale:delegate_public_impl_java",
@ -245,21 +245,29 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/password_manager/android:public_impl_java",
"//chrome/browser/policy/android:delegate_public_impl_java",
"//chrome/browser/readaloud/android:hooks_public_impl_java",
"//chrome/browser/readaloud/android:hooks_public_impl_java",
"//chrome/browser/supervised_user:parent_auth_delegate_impl_java",
"//chrome/browser/touch_to_fill/android/internal:resource_provider_public_impl_java",
"//chrome/browser/ui/android/cars:delegate_public_impl_java",
"//chrome/browser/ui/android/hats/internal:provider_public_impl_java",
"//chrome/browser/xsurface_provider:hooks_public_impl_java",
"//components/environment_integrity/android:integrity_service_bridge_public_impl_java",
"//components/externalauth/android:google_delegate_public_impl_java",
"//components/language/android:ulp_delegate_public_java",
"//components/signin/public/android:account_email_domain_displayability_java",
"//content/public/android:identity_credentials_public_impl_java",
]
}
android_library("google_api_keys_java") {
srcjar_deps = [ ":chrome_android_java_google_api_keys_srcjar" ]
}
android_library("chrome_java") {
deps = [
":base_module_java",
":chrome_app_java_resources",
":chrome_public_apk_template_resources",
":google_api_keys_java",
":update_proto_java",
":usage_stats_proto_java",
"$google_play_services_package:google_play_services_auth_base_java",
@ -293,8 +301,10 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/android/browserservices/intents:java",
"//chrome/browser/android/browserservices/metrics:java",
"//chrome/browser/android/browserservices/verification:java",
"//chrome/browser/android/common:java",
"//chrome/browser/android/crypto:java",
"//chrome/browser/android/customtabs/branding:java",
"//chrome/browser/android/intents:java",
"//chrome/browser/android/lifecycle:java",
"//chrome/browser/android/messages:java",
"//chrome/browser/android/metrics:java",
@ -333,6 +343,8 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/history_clusters:java_resources",
"//chrome/browser/hub:factory_java",
"//chrome/browser/hub:java",
"//chrome/browser/image_descriptions:java",
"//chrome/browser/image_editor/public:java",
"//chrome/browser/incognito:java",
@ -386,15 +398,19 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/tabmodel:java",
"//chrome/browser/tabpersistence:java",
"//chrome/browser/thumbnail:java",
"//chrome/browser/translate/android:java",
"//chrome/browser/ui/android/appmenu:factory_java",
"//chrome/browser/ui/android/appmenu:java",
"//chrome/browser/ui/android/cars:java",
"//chrome/browser/ui/android/default_browser_promo:java",
"//chrome/browser/ui/android/device_lock:java",
"//chrome/browser/ui/android/edge_to_edge:factory_java",
"//chrome/browser/ui/android/edge_to_edge:java",
"//chrome/browser/ui/android/fast_checkout:java",
"//chrome/browser/ui/android/favicon:java",
"//chrome/browser/ui/android/hats:factory_java",
"//chrome/browser/ui/android/hats:java",
"//chrome/browser/ui/android/hats:message_ui_delegate_java",
"//chrome/browser/ui/android/layouts:java",
"//chrome/browser/ui/android/layouts/glue:java",
"//chrome/browser/ui/android/logo:java",
@ -405,9 +421,12 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/ui/android/omnibox:java",
"//chrome/browser/ui/android/page_info:java",
"//chrome/browser/ui/android/page_insights:java",
"//chrome/browser/ui/android/page_insights:proto_java",
"//chrome/browser/ui/android/plus_addresses:java",
"//chrome/browser/ui/android/quickactionsearchwidget:java",
"//chrome/browser/ui/android/searchactivityutils:java",
"//chrome/browser/ui/android/signin:java",
"//chrome/browser/ui/android/signin:java",
"//chrome/browser/ui/android/theme:java",
"//chrome/browser/ui/android/toolbar:java",
"//chrome/browser/ui/messages/android:java",
@ -419,17 +438,21 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/webapps/android:java",
"//chrome/browser/webauthn/android:java",
"//chrome/browser/xsurface:java",
"//chrome/browser/xsurface_provider:dependency_provider_impl_java",
"//chrome/browser/xsurface_provider:java",
"//components/autofill/android:autofill_java",
"//components/background_task_scheduler:background_task_scheduler_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/bookmarks/common/android:bookmarks_java",
"//components/browser_ui/accessibility/android:java",
"//components/browser_ui/accessibility/android:lib_java",
"//components/browser_ui/accessibility/android:page_zoom_utils_java",
"//components/browser_ui/banners/android:java",
"//components/browser_ui/bottomsheet/android:factory_java",
"//components/browser_ui/bottomsheet/android:java",
"//components/browser_ui/bottomsheet/android:manager_java",
"//components/browser_ui/client_certificate/android:java",
"//components/browser_ui/contacts_picker/android:java",
"//components/browser_ui/device_lock/android:java",
"//components/browser_ui/display_cutout/android:java",
"//components/browser_ui/http_auth/android:java",
"//components/browser_ui/media/android:java",
@ -517,6 +540,7 @@ if (current_toolchain == default_toolchain) {
"//components/policy/android:policy_java",
"//components/power_bookmarks/core:proto_java",
"//components/prefs/android:java",
"//components/privacy_sandbox/android:java",
"//components/profile_metrics:browser_profile_type_enum_java",
"//components/query_tiles:java",
"//components/safe_browsing/android:safe_browsing_java",
@ -622,7 +646,6 @@ if (current_toolchain == default_toolchain) {
"//ui/base/mojom:mojom_java",
"//ui/gfx/geometry/mojom:mojom_java",
"//url:gurl_java",
"//url:origin_java",
"//url/mojom:url_mojom_gurl_java",
]
@ -630,7 +653,6 @@ if (current_toolchain == default_toolchain) {
srcjar_deps = [
":chrome_android_java_enums_srcjar",
":chrome_android_java_google_api_keys_srcjar",
":chrome_strict_mode_switch",
":resource_id_javagen",
"//chrome:offline_pages_enum_javagen",
@ -759,6 +781,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/commerce/merchant_viewer/android:java",
"//chrome/browser/content_creation/notes/internal/android:java",
"//chrome/browser/download/internal/android:java",
"//chrome/browser/hub/internal:java",
"//chrome/browser/mandatory_reauth/android/internal:java",
"//chrome/browser/password_check:internal_java",
"//chrome/browser/password_edit_dialog/android:java",
@ -767,15 +790,18 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/tabmodel/internal:java",
"//chrome/browser/touch_to_fill/android/internal:java",
"//chrome/browser/touch_to_fill/common/android:java",
"//chrome/browser/touch_to_fill/no_passkeys/internal/android:java",
"//chrome/browser/touch_to_fill/password_generation/android/internal:java",
"//chrome/browser/touch_to_fill/payments/android/internal:java",
"//chrome/browser/ui/android/appmenu/internal:java",
"//chrome/browser/ui/android/autofill/internal:java",
"//chrome/browser/ui/android/edge_to_edge/internal:java",
"//chrome/browser/ui/android/fast_checkout/internal:java",
"//chrome/browser/ui/android/hats/internal:java",
"//chrome/browser/ui/android/webid/internal:java",
"//components/autofill/android:payments_autofill_java",
"//components/browser_ui/bottomsheet/android/internal:java",
"//components/gwp_asan/client/android:gwp_asan_java",
"//components/messages/android/internal:java",
"//components/segmentation_platform/internal:internal_java",
]
@ -806,7 +832,6 @@ if (current_toolchain == default_toolchain) {
java_cpp_enum("chrome_vr_android_java_enums_srcjar") {
sources = [
"//chrome/browser/android/vr/vrcore_install_helper.h",
"//chrome/browser/vr/text_edit_action.h",
"//chrome/browser/vr/ui_test_input.h",
]
}
@ -825,6 +850,7 @@ if (current_toolchain == default_toolchain) {
sources = [ "java/ResourceId.template" ]
inputs = [
"../browser/android/resource_id.h",
"//components/resources/android/autofill_resource_id.h",
"//components/resources/android/blocked_content_resource_id.h",
"//components/resources/android/page_info_resource_id.h",
"//components/resources/android/permissions_resource_id.h",
@ -843,16 +869,14 @@ if (current_toolchain == default_toolchain) {
robolectric_binary("chrome_junit_tests") {
# Needed by androidx.test.core.app.ActivityScenario
android_manifest = "//chrome/android/junit/AndroidManifest.xml"
# TODO(crbug.com/1383650): Remove once memory leak is fixed.
max_heap_size = "1800M"
package_name = chrome_public_manifest_package
# From java_sources.gni.
sources = chrome_junit_test_java_sources
shared_libraries = [ "//url:libgurl_robolectric($robolectric_toolchain)" ]
shared_libraries = [
"//chrome/android/junit:libchrome_junit_tests($robolectric_toolchain)",
]
# Should not have any deps native targets since junit tests are java-only.
assert_no_deps = [
@ -865,6 +889,7 @@ if (current_toolchain == default_toolchain) {
":chrome_app_java_resources",
":chrome_java",
":chrome_jni_headers",
":chrome_unit_test_util_java",
":delegate_public_impl_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -897,9 +922,11 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/android/browserservices/metrics:java",
"//chrome/browser/android/browserservices/verification:java",
"//chrome/browser/android/browserservices/verification:junit_test_support",
"//chrome/browser/android/common:java",
"//chrome/browser/android/crypto:java",
"//chrome/browser/android/customtabs/branding:junit",
"//chrome/browser/android/httpclient:junit_tests",
"//chrome/browser/android/intents:java",
"//chrome/browser/android/lifecycle:java",
"//chrome/browser/android/metrics:java",
"//chrome/browser/autofill/android:java",
@ -938,6 +965,11 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/fullscreen/android:java",
"//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/hub:factory_java",
"//chrome/browser/hub:java",
"//chrome/browser/hub:junit",
"//chrome/browser/hub/internal:java",
"//chrome/browser/hub/internal:junit",
"//chrome/browser/image_descriptions:java",
"//chrome/browser/image_editor/public:java",
"//chrome/browser/incognito:incognito_junit_tests",
@ -979,6 +1011,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/safety_check/android:junit",
"//chrome/browser/screenshot_monitor:java",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_engines/android:junit",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/segmentation_platform:factory_java",
"//chrome/browser/settings:junit_test_support",
@ -998,19 +1031,27 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/tabpersistence:junit",
"//chrome/browser/thumbnail:java",
"//chrome/browser/touch_to_fill/common/android:junit",
"//chrome/browser/touch_to_fill/no_passkeys/internal/android:junit",
"//chrome/browser/touch_to_fill/password_generation/android/internal:junit",
"//chrome/browser/touch_to_fill/payments/android/internal:junit",
"//chrome/browser/translate/android:junit",
"//chrome/browser/ui/android/appmenu:java",
"//chrome/browser/ui/android/appmenu/internal:junit",
"//chrome/browser/ui/android/autofill/internal:junit",
"//chrome/browser/ui/android/cars:junit",
"//chrome/browser/ui/android/default_browser_promo:java",
"//chrome/browser/ui/android/default_browser_promo:junit",
"//chrome/browser/ui/android/device_lock:junit",
"//chrome/browser/ui/android/edge_to_edge/internal:junit",
"//chrome/browser/ui/android/fast_checkout/internal:junit",
"//chrome/browser/ui/android/favicon:java",
"//chrome/browser/ui/android/hats:factory_java",
"//chrome/browser/ui/android/hats:junit",
"//chrome/browser/ui/android/hats/internal:junit",
"//chrome/browser/ui/android/hats/test:test_support_java",
"//chrome/browser/ui/android/layouts:java",
"//chrome/browser/ui/android/layouts:junit",
"//chrome/browser/ui/android/layouts/glue:java",
"//chrome/browser/ui/android/logo:java",
"//chrome/browser/ui/android/logo:junit",
"//chrome/browser/ui/android/multiwindow:java",
@ -1022,6 +1063,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/ui/android/omnibox:java",
"//chrome/browser/ui/android/omnibox:junit",
"//chrome/browser/ui/android/page_insights:junit",
"//chrome/browser/ui/android/plus_addresses:junit",
"//chrome/browser/ui/android/quickactionsearchwidget:java",
"//chrome/browser/ui/android/searchactivityutils:java",
"//chrome/browser/ui/android/signin:java",
@ -1041,6 +1083,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/version:java",
"//chrome/browser/webapps/android:java",
"//chrome/browser/xsurface:java",
"//chrome/browser/xsurface_provider:junit",
"//chrome/test:sync_integration_test_support_java",
"//chrome/test/android:chrome_java_unit_test_support",
"//components/autofill/android:autofill_features_java",
@ -1049,11 +1092,12 @@ if (current_toolchain == default_toolchain) {
"//components/background_task_scheduler:background_task_scheduler_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/bookmarks/common/android:bookmarks_java",
"//components/browser_ui/accessibility/android:java",
"//components/browser_ui/accessibility/android:junit",
"//components/browser_ui/accessibility/android:lib_java",
"//components/browser_ui/bottomsheet/android:factory_java",
"//components/browser_ui/bottomsheet/android:java",
"//components/browser_ui/bottomsheet/android:manager_java",
"//components/browser_ui/device_lock/android:java",
"//components/browser_ui/display_cutout/android:java",
"//components/browser_ui/media/android:java",
"//components/browser_ui/media/android:java_resources",
@ -1077,6 +1121,7 @@ if (current_toolchain == default_toolchain) {
"//components/content_settings/android:content_settings_enums_java",
"//components/digital_goods/mojom:mojom_java",
"//components/dom_distiller/core/android:dom_distiller_core_java",
"//components/download/public/task:public_java",
"//components/embedder_support/android:content_view_java",
"//components/embedder_support/android:context_menu_java",
"//components/embedder_support/android:junit_test_support",
@ -1088,6 +1133,7 @@ if (current_toolchain == default_toolchain) {
"//components/feed/core/proto:proto_java_v2",
"//components/feed/core/v2:feedv2_core_java",
"//components/image_fetcher:java",
"//components/image_fetcher:test_support_java",
"//components/infobars/android:java",
"//components/messages/android:java",
"//components/messages/android:manager_java",
@ -1156,6 +1202,7 @@ if (current_toolchain == default_toolchain) {
"//third_party/androidx:androidx_appcompat_appcompat_java",
"//third_party/androidx:androidx_browser_browser_java",
"//third_party/androidx:androidx_collection_collection_java",
"//third_party/androidx:androidx_coordinatorlayout_coordinatorlayout_java",
"//third_party/androidx:androidx_lifecycle_lifecycle_runtime_java",
"//third_party/androidx:androidx_mediarouter_mediarouter_java",
"//third_party/androidx:androidx_preference_preference_java",
@ -1176,10 +1223,7 @@ if (current_toolchain == default_toolchain) {
"//ui/base/ime/mojom:mojom_java",
"//ui/base/mojom:mojom_java",
"//url:gurl_java",
"//url:gurl_junit_shadows",
"//url:gurl_junit_test_support",
"//url:gurl_junit_tests",
"//url:origin_java",
"//url/mojom:url_mojom_gurl_java",
"//url/mojom:url_mojom_origin_java",
]
@ -1256,6 +1300,7 @@ if (current_toolchain == default_toolchain) {
"//cc:cc_java",
"//chrome/android:chrome_java",
"//chrome/browser/android/browserservices/intents:java",
"//chrome/browser/android/intents:java",
"//chrome/browser/autofill/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/profiles/android:java",
@ -1293,7 +1338,7 @@ if (current_toolchain == default_toolchain) {
resources_package = "org.chromium.chrome"
sources = [
"javatests/src/org/chromium/chrome/browser/IntentFilterUnitTest.java",
"javatests/src/org/chromium/chrome/browser/IntentHandlerUnitTest.java",
"javatests/src/org/chromium/chrome/browser/IntentHandlerNativeTest.java",
"javatests/src/org/chromium/chrome/browser/autofill/AutofillUnitTest.java",
"javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkItemRowTest.java",
"javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbarTest.java",
@ -1313,9 +1358,12 @@ if (current_toolchain == default_toolchain) {
"javatests/src/org/chromium/chrome/browser/crypto/CipherFactoryTest.java",
"javatests/src/org/chromium/chrome/browser/customtabs/CustomTabBottomBarViewUnitTest.java",
"javatests/src/org/chromium/chrome/browser/customtabs/CustomTabLaunchCauseMetricsTest.java",
"javatests/src/org/chromium/chrome/browser/customtabs/features/minimizedcustomtab/MinimizedCardCoordinatorTest.java",
"javatests/src/org/chromium/chrome/browser/customtabs/features/minimizedcustomtab/MinimizedCardViewBinderTest.java",
"javatests/src/org/chromium/chrome/browser/download/DownloadForegroundServiceManagerTest.java",
"javatests/src/org/chromium/chrome/browser/download/DownloadForegroundServiceTest.java",
"javatests/src/org/chromium/chrome/browser/download/DownloadNotificationServiceTest.java",
"javatests/src/org/chromium/chrome/browser/download/DownloadUserInitiatedTaskManagerTest.java",
"javatests/src/org/chromium/chrome/browser/download/SystemDownloadNotifierTest.java",
"javatests/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogTest.java",
"javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java",
@ -1330,7 +1378,6 @@ if (current_toolchain == default_toolchain) {
"javatests/src/org/chromium/chrome/browser/share/ShareUrlTest.java",
"javatests/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorViewBinderTest.java",
"javatests/src/org/chromium/chrome/browser/tab/WebContentsStateBridgeTest.java",
"javatests/src/org/chromium/chrome/browser/tab/state/FilePersistedTabDataStorageTest.java",
"javatests/src/org/chromium/chrome/browser/tab/state/PersistedTabDataTest.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/AsyncTabCreationParamsManagerTest.java",
"javatests/src/org/chromium/chrome/browser/tabmodel/RestoreMigrateTest.java",
@ -1351,6 +1398,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/android/browserservices/intents:java",
"//chrome/browser/android/browserservices/verification:java",
"//chrome/browser/android/crypto:java",
"//chrome/browser/android/intents:java",
"//chrome/browser/browser_controls/android:java",
"//chrome/browser/commerce/android:java",
"//chrome/browser/commerce/subscriptions/android:subscriptions_java",
@ -1368,6 +1416,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/profiles/android:java",
"//chrome/browser/screenshot_monitor:java",
"//chrome/browser/tab:java",
"//chrome/browser/tab_group:java",
"//chrome/browser/tabmodel:java",
"//chrome/browser/tabpersistence:java",
"//chrome/browser/ui/android/omnibox:java",
@ -1378,6 +1427,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/test/android:chrome_java_unit_test_support",
"//components/autofill/android:main_autofill_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/background_task_scheduler:public_java",
"//components/bookmarks/common/android:bookmarks_java",
"//components/browser_ui/modaldialog/android:java",
"//components/browser_ui/notifications/android:java",
@ -1420,7 +1470,9 @@ if (current_toolchain == default_toolchain) {
"//third_party/android_sdk:android_test_base_java",
"//third_party/android_sdk:android_test_mock_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_appcompat_appcompat_java",
"//third_party/androidx:androidx_browser_browser_java",
"//third_party/androidx:androidx_coordinatorlayout_coordinatorlayout_java",
"//third_party/androidx:androidx_core_core_java",
"//third_party/androidx:androidx_test_core_java",
"//third_party/androidx:androidx_test_monitor_java",
@ -1436,7 +1488,6 @@ if (current_toolchain == default_toolchain) {
"//url:android_test_helper_java",
"//url:gurl_java",
"//url:gurl_junit_test_support",
"//url:origin_java",
"//url:url_java_unit_tests",
]
@ -1446,12 +1497,6 @@ if (current_toolchain == default_toolchain) {
data = [ "//chrome/test/data/android/" ]
}
flatbuffer_java_library(
"critical_persisted_tab_data_flatbuffer_test_v1_java") {
root_dir = "javatests/src/org/chromium/chrome/browser/tab/state/"
sources = [ "$root_dir/critical_persisted_tab_data_test_v1.fbs" ]
}
android_library("chrome_test_java") {
testonly = true
resources_package = "org.chromium.chrome.test"
@ -1467,7 +1512,6 @@ if (current_toolchain == default_toolchain) {
":browser_java_test_support",
":chrome_app_java_resources",
":chrome_test_util_java",
":critical_persisted_tab_data_flatbuffer_test_v1_java",
":delegate_public_impl_java",
"$google_play_services_package:google_play_services_base_java",
"$google_play_services_package:google_play_services_basement_java",
@ -1497,9 +1541,11 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/android/browserservices/intents:java",
"//chrome/browser/android/browserservices/verification:java",
"//chrome/browser/android/browserservices/verification:javatests",
"//chrome/browser/android/common:java",
"//chrome/browser/android/crypto:java",
"//chrome/browser/android/customtabs/branding:java",
"//chrome/browser/android/httpclient:javatests",
"//chrome/browser/android/intents:java",
"//chrome/browser/android/lifecycle:java",
"//chrome/browser/android/metrics:java",
"//chrome/browser/android/metrics:ukm_java_test_support",
@ -1570,13 +1616,13 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/profiles/android:java",
"//chrome/browser/quick_delete:java",
"//chrome/browser/quick_delete:javatests",
"//chrome/browser/recent_tabs/internal:javatests",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
"//chrome/browser/safety_check/android:java",
"//chrome/browser/safety_check/android:javatests",
"//chrome/browser/screenshot_monitor:java",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/segmentation_platform:javatests",
"//chrome/browser/selection/android:javatests",
"//chrome/browser/settings:java",
"//chrome/browser/settings:test_support_java",
@ -1587,7 +1633,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/supervised_user:test_support_java",
"//chrome/browser/sync/android:java",
"//chrome/browser/sync/test/android:test_support_java",
"//chrome/browser/tab:critical_persisted_tab_data_flatbuffer_java",
"//chrome/browser/tab:critical_persisted_tab_data_proto_java",
"//chrome/browser/tab:java",
"//chrome/browser/tab_group:java",
@ -1596,13 +1641,18 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/tabpersistence:java",
"//chrome/browser/thumbnail:java",
"//chrome/browser/thumbnail:javatests",
"//chrome/browser/touch_to_fill/no_passkeys/internal/android:java_resources",
"//chrome/browser/touch_to_fill/payments/android/internal:java_resources",
"//chrome/browser/translate/android:java",
"//chrome/browser/translate/android:javatests",
"//chrome/browser/ui/android/appmenu:java",
"//chrome/browser/ui/android/appmenu/test:test_support_java",
"//chrome/browser/ui/android/device_lock:java",
"//chrome/browser/ui/android/device_lock:java_resources",
"//chrome/browser/ui/android/device_lock:javatests",
"//chrome/browser/ui/android/favicon:java",
"//chrome/browser/ui/android/hats:java",
"//chrome/browser/ui/android/hats/test:test_support_java",
"//chrome/browser/ui/android/layouts:java",
"//chrome/browser/ui/android/layouts/test:java",
"//chrome/browser/ui/android/logo:java",
@ -1633,10 +1683,13 @@ if (current_toolchain == default_toolchain) {
"//components/background_task_scheduler:background_task_scheduler_java",
"//components/background_task_scheduler:background_task_scheduler_task_ids_java",
"//components/bookmarks/common/android:bookmarks_java",
"//components/browser_ui/accessibility/android:java",
"//components/browser_ui/accessibility/android:lib_java",
"//components/browser_ui/accessibility/android:page_zoom_utils_java",
"//components/browser_ui/bottomsheet/android:factory_java",
"//components/browser_ui/bottomsheet/android:java",
"//components/browser_ui/bottomsheet/android:manager_java",
"//components/browser_ui/bottomsheet/android/test:java",
"//components/browser_ui/device_lock/android:java",
"//components/browser_ui/display_cutout/android:java",
"//components/browser_ui/media/android:java",
"//components/browser_ui/modaldialog/android:java",
@ -1717,6 +1770,7 @@ if (current_toolchain == default_toolchain) {
"//components/payments/content/android:java",
"//components/payments/content/android:service_java",
"//components/payments/mojom:mojom_java",
"//components/permissions/android:core_java",
"//components/permissions/android:java",
"//components/policy/android:policy_java",
"//components/policy/android:policy_java_test_support",
@ -1810,7 +1864,6 @@ if (current_toolchain == default_toolchain) {
"//url:android_test_helper_java",
"//url:gurl_java",
"//url:gurl_junit_test_support",
"//url:origin_java",
"//url/mojom:url_mojom_gurl_java",
"//url/mojom:url_mojom_origin_java",
]
@ -2012,6 +2065,7 @@ if (current_toolchain == default_toolchain) {
if (enable_cardboard) {
sources += [
"javatests/src/org/chromium/chrome/browser/vr/WebXrVrCardboardDeviceTest.java",
"javatests/src/org/chromium/chrome/browser/vr/WebXrVrCardboardInputTest.java",
"javatests/src/org/chromium/chrome/browser/vr/WebXrVrCardboardPermissionTest.java",
"javatests/src/org/chromium/chrome/browser/vr/WebXrVrCardboardTabTest.java",
"javatests/src/org/chromium/chrome/browser/vr/WebXrVrCardboardTransitionTest.java",
@ -2244,13 +2298,6 @@ if (current_toolchain == default_toolchain) {
deps = []
additional_extra_paks = []
if (_is_monochrome) {
if (webview_includes_weblayer) {
additional_extra_paks +=
[ "$root_gen_dir/weblayer/weblayer_resources.pak" ]
deps += [ "//weblayer:resources" ]
}
}
if (!dfmify_dev_ui || !_is_bundle_module) {
additional_extra_paks += [ "$root_gen_dir/chrome/dev_ui_resources.pak" ]
deps += [ "//chrome/browser/resources:dev_ui_paks" ]
@ -2296,9 +2343,6 @@ if (current_toolchain == default_toolchain) {
]
if (_is_monochrome) {
deps += [ "//android_webview:locale_pak_assets" ]
if (webview_includes_weblayer && !_is_bundle_module) {
deps += [ "//weblayer:locale_pak_assets" ]
}
}
}
}
@ -2397,7 +2441,6 @@ if (current_toolchain == default_toolchain) {
"//third_party/junit",
"//url:android_test_helper_java",
"//url:gurl_java",
"//url:origin_java",
]
}
@ -2428,13 +2471,12 @@ if (current_toolchain == default_toolchain) {
chrome_public_apk_or_module_tmpl("chrome_public_apk") {
target_type = "android_apk"
apk_name = "Thorium_Public"
enable_multidex = is_java_debug
apk_name = "ThoriumPublic"
art_profile_path = "//chrome/android/baseline_profiles/profile.txt"
}
chrome_public_bundle("chrome_public_bundle") {
bundle_name = "ChromePublic"
bundle_name = "ThoriumPublic"
}
android_library("monochrome_java") {
@ -2464,9 +2506,6 @@ if (current_toolchain == default_toolchain) {
"//components/version_info/android:version_constants_java",
"//content/public/android:content_java",
]
if (webview_includes_weblayer) {
deps += [ "//weblayer/browser/java:base_module_java" ]
}
}
generate_jni("base_module_jni") {
@ -2484,6 +2523,7 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/DeferredStartupHandler.java",
"java/src/org/chromium/chrome/browser/app/bluetooth/BluetoothNotificationService.java",
"java/src/org/chromium/chrome/browser/app/usb/UsbNotificationService.java",
"java/src/org/chromium/chrome/browser/base/ColdStartTracker.java",
"java/src/org/chromium/chrome/browser/base/DexFixer.java",
"java/src/org/chromium/chrome/browser/base/DexFixerReason.java",
"java/src/org/chromium/chrome/browser/base/ServiceTracingProxyProvider.java",
@ -2516,7 +2556,6 @@ if (current_toolchain == default_toolchain) {
"java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java",
"java/src/org/chromium/chrome/browser/notifications/NotificationService.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
"java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java",
"java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundService.java",
@ -2688,6 +2727,7 @@ if (current_toolchain == default_toolchain) {
"//build/config/android/test/resource_overlay:unit_device_javatests",
"//chrome/android/features/keyboard_accessory:unit_device_javatests",
"//chrome/android/features/tab_ui:unit_device_javatests",
"//chrome/browser/android/intents:unit_device_javatests",
"//chrome/browser/back_press/android:unit_device_javatests",
"//chrome/browser/content_creation/notes/internal/android:unit_device_javatests",
"//chrome/browser/download/internal/android:unit_device_javatests",
@ -2697,6 +2737,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/partnercustomizations:unit_device_javatests",
"//chrome/browser/password_edit_dialog/android:unit_device_javatests",
"//chrome/browser/recent_tabs/internal:unit_device_javatests",
"//chrome/browser/search_engines/android:unit_device_javatests",
"//chrome/browser/signin/services/android:unit_device_javatests",
"//chrome/browser/thumbnail/generator:unit_device_javatests",
"//chrome/browser/ui/android/appmenu/internal:unit_device_javatests",
@ -2760,8 +2801,10 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/flags:javatests",
"//chrome/browser/password_check/android:test_java",
"//chrome/browser/password_manager/android/pwd_migration:javatests",
"//chrome/browser/recent_tabs/internal:recent_tabs_javatests",
"//chrome/browser/subresource_filter:subresource_filter_javatests",
"//chrome/browser/touch_to_fill/android:test_java",
"//chrome/browser/touch_to_fill/no_passkeys/internal/android:javatests",
"//chrome/browser/touch_to_fill/password_generation/android/internal:javatests",
"//chrome/browser/touch_to_fill/payments/android/internal:javatests",
"//chrome/browser/ui/android/fast_checkout/internal:javatests",
@ -3110,12 +3153,28 @@ if (current_toolchain == default_toolchain) {
bundle_path = "$root_build_dir/apks/MonochromePublic.aab"
}
_minimal_apks_filename = "MonochromePublic.minimal.apks"
_monochrome_minimal_apks_filename = "MonochromePublic.minimal.apks"
android_resource_sizes_test(
"resource_sizes_monochrome_public_minimal_apks") {
file_path = "$root_build_dir/apks/${_minimal_apks_filename}"
file_path = "$root_build_dir/apks/${_monochrome_minimal_apks_filename}"
data_deps = [ ":monochrome_public_minimal_apks" ]
}
if (android_64bit_target_cpu && !skip_secondary_abi_for_cq) {
# Used for binary size monitoring.
create_app_bundle_minimal_apks("monochrome_32_public_minimal_apks") {
deps = [ ":monochrome_32_public_bundle" ]
bundle_path = "$root_build_dir/apks/MonochromePublic32.aab"
}
_monochrome_32_minimal_apks_filename = "MonochromePublic32.minimal.apks"
android_resource_sizes_test(
"resource_sizes_monochrome_32_public_minimal_apks") {
file_path =
"$root_build_dir/apks/${_monochrome_32_minimal_apks_filename}"
data_deps = [ ":monochrome_32_public_minimal_apks" ]
}
}
}
chrome_public_bundle("trichrome_chrome_bundle") {
@ -3163,42 +3222,88 @@ if (current_toolchain == default_toolchain) {
write_ssargs_trichrome("ssargs_trichrome") {
ssargs_path = "$root_build_dir/apks/${_ssargs_filename}"
abi_filter = android_app_abi
trichrome_library_basename = _trichrome_library_basename
trichrome_chrome_basename = _trichrome_chrome_basename
trichrome_webview_basename = _trichrome_webview_basename
}
# Used for binary size monitoring.
create_app_bundle_minimal_apks("trichrome_chrome_minimal_apks") {
deps = [ ":trichrome_chrome_bundle" ]
bundle_path = "$root_build_dir/apks/TrichromeChrome.aab"
if (android_64bit_target_cpu && !skip_secondary_abi_for_cq) {
_trichrome_library_32_basename = "TrichromeLibrary32.apk"
_trichrome_chrome_32_basename = "TrichromeChrome32.minimal.apks"
_trichrome_webview_32_basename = "TrichromeWebView32.minimal.apks"
_ssargs_32_filename = "Trichrome32.ssargs"
write_ssargs_trichrome("ssargs_trichrome_32") {
ssargs_path = "$root_build_dir/apks/${_ssargs_32_filename}"
abi_filter = android_app_secondary_abi
symbols_dir = "android_clang_arm/lib.unstripped"
trichrome_library_basename = _trichrome_library_32_basename
trichrome_chrome_basename = _trichrome_chrome_32_basename
trichrome_webview_basename = _trichrome_webview_32_basename
}
}
group("trichrome_minimal_apks") {
deps = [
":trichrome_chrome_minimal_apks",
":trichrome_library_apk",
"//android_webview:trichrome_webview_minimal_apks",
if (android_64bit_target_cpu && !skip_secondary_abi_for_cq) {
# Used for binary size monitoring.
create_app_bundle_minimal_apks("trichrome_chrome_32_minimal_apks") {
deps = [ ":trichrome_chrome_32_bundle" ]
bundle_path = "$root_build_dir/apks/TrichromeChrome32.aab"
}
group("trichrome_32_minimal_apks") {
deps = [
":trichrome_chrome_32_minimal_apks",
":trichrome_library_32_apk",
"//android_webview:trichrome_webview_32_minimal_apks",
]
}
_trichrome_library_basename_for_size = _trichrome_library_32_basename
_trichrome_chrome_basename_for_size = _trichrome_chrome_32_basename
_trichrome_webview_basename_for_size = _trichrome_webview_32_basename
_symbol_dir_for_size = "android_clang_arm/lib.unstripped"
_ssargs_filename_for_size = _ssargs_32_filename
_mapping_files_for_size = [
"apks/TrichromeChrome32.aab.mapping",
"apks/TrichromeWebView32.aab.mapping",
]
} else {
# Used for binary size monitoring.
create_app_bundle_minimal_apks("trichrome_chrome_minimal_apks") {
deps = [ ":trichrome_chrome_bundle" ]
bundle_path = "$root_build_dir/apks/TrichromeChrome.aab"
}
group("trichrome_32_minimal_apks") {
deps = [
":trichrome_chrome_minimal_apks",
":trichrome_library_apk",
"//android_webview:trichrome_webview_minimal_apks",
]
}
_trichrome_library_basename_for_size = _trichrome_library_basename
_trichrome_chrome_basename_for_size = _trichrome_chrome_basename
_trichrome_webview_basename_for_size = _trichrome_webview_basename
_symbol_dir_for_size = "lib.unstripped"
_ssargs_filename_for_size = _ssargs_filename
_mapping_files_for_size = [
"apks/TrichromeChrome.aab.mapping",
"apks/TrichromeWebView.aab.mapping",
]
}
android_resource_sizes_test("resource_sizes_trichrome") {
apk_name = "Trichrome"
trichrome_library_path =
"$root_build_dir/apks/$_trichrome_library_basename"
"$root_build_dir/apks/$_trichrome_library_basename_for_size"
trichrome_chrome_path =
"$root_build_dir/apks/$_trichrome_chrome_basename"
"$root_build_dir/apks/$_trichrome_chrome_basename_for_size"
trichrome_webview_path =
"$root_build_dir/apks/$_trichrome_webview_basename"
data_deps = [ ":trichrome_minimal_apks" ]
"$root_build_dir/apks/$_trichrome_webview_basename_for_size"
data_deps = [ ":trichrome_32_minimal_apks" ]
}
android_size_bot_config("resource_size_config_trichrome") {
name = "Trichrome"
mapping_files = [
"apks/TrichromeChrome.aab.mapping",
"apks/TrichromeWebView.aab.mapping",
]
mapping_files = _mapping_files_for_size
# Save mapping files since they are needed by:
# 1) Checking for ForTesting methods.
@ -3206,18 +3311,18 @@ if (current_toolchain == default_toolchain) {
# Save apk and unstripped library because they are needed for collecting
# disassembly of large symbols.
archive_files = mapping_files + [
"apks/$_trichrome_library_basename",
"apks/$_trichrome_chrome_basename",
"apks/$_trichrome_webview_basename",
"lib.unstripped/libmonochrome__combined.so",
"apks/$_trichrome_library_basename_for_size",
"apks/$_trichrome_chrome_basename_for_size",
"apks/$_trichrome_webview_basename_for_size",
"${_symbol_dir_for_size}/libmonochrome__combined.so",
]
to_resource_sizes_py = {
apk_name = "apks/resource_size_config_trichrome"
trichrome_library = "apks/$_trichrome_library_basename"
trichrome_chrome = "apks/$_trichrome_chrome_basename"
trichrome_webview = "apks/$_trichrome_webview_basename"
trichrome_library = "apks/$_trichrome_library_basename_for_size"
trichrome_chrome = "apks/$_trichrome_chrome_basename_for_size"
trichrome_webview = "apks/$_trichrome_webview_basename_for_size"
}
supersize_input_file = "apks/$_ssargs_filename"
supersize_input_file = "apks/$_ssargs_filename_for_size"
}
}
}
@ -3317,6 +3422,7 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/WebContentsFactory.java",
"java/src/org/chromium/chrome/browser/about_settings/AboutSettingsBridge.java",
"java/src/org/chromium/chrome/browser/announcement/AnnouncementNotificationManager.java",
"java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java",
"java/src/org/chromium/chrome/browser/app/send_tab_to_self/SendTabToSelfNotificationReceiver.java",
"java/src/org/chromium/chrome/browser/app/tab_activity_glue/ReparentingTask.java",
"java/src/org/chromium/chrome/browser/autofill/AutofillAccessibilityUtils.java",
@ -3333,6 +3439,7 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsDelegate.java",
"java/src/org/chromium/chrome/browser/autofill/settings/SettingsLauncherHelper.java",
"java/src/org/chromium/chrome/browser/autofill/settings/VirtualCardEnrollmentFields.java",
"java/src/org/chromium/chrome/browser/autofill/vcn/AutofillVcnEnrollBottomSheetBridge.java",
"java/src/org/chromium/chrome/browser/auxiliary_search/AuxiliarySearchBridge.java",
"java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTask.java",
"java/src/org/chromium/chrome/browser/background_sync/BackgroundSyncBackgroundTaskScheduler.java",
@ -3353,6 +3460,7 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelContent.java",
"java/src/org/chromium/chrome/browser/compositor/layouts/content/TabContentManager.java",
"java/src/org/chromium/chrome/browser/compositor/scene_layer/ContextualSearchSceneLayer.java",
"java/src/org/chromium/chrome/browser/compositor/scene_layer/SolidColorSceneLayer.java",
"java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java",
"java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java",
"java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java",
@ -3565,14 +3673,17 @@ group("jni_headers") {
"//chrome/browser/ui/android/fast_checkout:jni_headers",
"//chrome/browser/ui/android/favicon:jni_headers",
"//chrome/browser/ui/android/hats:jni_headers",
"//chrome/browser/ui/android/hats/internal:jni_headers",
"//chrome/browser/ui/android/logo:jni_headers",
"//chrome/browser/ui/android/omnibox:jni_headers",
"//chrome/browser/ui/android/page_insights:jni_headers",
"//chrome/browser/ui/android/plus_addresses:jni_headers",
"//chrome/browser/ui/android/toolbar:jni_headers",
"//chrome/browser/ui/android/webid:jni_headers",
"//chrome/browser/ui/messages/android:jni_headers",
"//chrome/browser/util:jni_headers",
"//chrome/browser/webauthn/android:jni_headers",
"//components/browser_ui/device_lock/android:device_lock_bridge_jni_headers",
"//components/content_relationship_verification/android:jni_headers",
"//components/image_fetcher:jni_headers",
"//components/media_router/browser/android:jni_headers",
@ -3678,11 +3789,6 @@ template("libmonochrome_apk_or_bundle_tmpl") {
}
defines = []
if (webview_includes_weblayer) {
defines += [ "WEBVIEW_INCLUDES_WEBLAYER" ]
deps += [ "//weblayer:weblayer_lib" ]
}
if (android_64bit_target_cpu) {
java_targets = [ "//chrome/android:monochrome_64_public_bundle" ]
} else {

View file

@ -16,7 +16,6 @@ import("//chrome/version.gni")
import("//components/crash/android/silent_java_assert_reporting.gni")
import("//components/optimization_guide/features.gni")
import("//device/vr/buildflags/buildflags.gni")
import("//weblayer/variables.gni")
import("channel.gni")
declare_args() {
@ -294,10 +293,6 @@ template("chrome_common_apk_or_module_tmpl") {
shared_resources_allowlist_locales = platform_pak_locales
product_config_java_packages += [ webview_product_config_java_package ]
if (webview_includes_weblayer) {
product_config_java_packages += [ weblayer_product_config_java_package ]
}
}
if (enable_silent_java_assert_reporting) {
@ -479,8 +474,11 @@ template("chrome_common_apk_or_module_tmpl") {
"//components/language/android:ulp_delegate_public_java",
]
if (_is_monochrome) {
# WebView needs this in the base module.
deps += [ "//components/environment_integrity/android:integrity_service_bridge_public_impl_java" ]
# WebView needs these in the base module.
deps += [
"//components/environment_integrity/android:integrity_service_bridge_public_impl_java",
"//content/public/android:identity_credentials_public_impl_java",
]
}
} else {
deps += [

View file

@ -347,6 +347,18 @@ CHAR_LIMIT guidelines:
<message name="IDS_PREFS_SECTION_PRELOAD_PAGES_TITLE" desc="Title for the Preload Pages section. This section allows the user to control whether Thorium will preload pages that it thinks the user is likely to load in the future. [CHAR_LIMIT=32]">
Preload Pages
</message>
<message name="IDS_PRELOAD_PAGES_PRIVACY_GUIDE_SUMMARY" desc="Title for a section in Settings that controls pages preloading and informs the user about the data shared by this feature.">
Choose whether to preload pages
</message>
<message name="IDS_PRELOAD_PAGES_STANDARD_PRIVACY_GUIDE_BULLET_ONE" desc="First bullet point under the Preload Pages standard preloading mode. Informs the user about what the standard preloading setting does.">
Browsing and searching is faster
</message>
<message name="IDS_PRELOAD_PAGES_STANDARD_PRIVACY_GUIDE_BULLET_TWO" desc="Second bullet point under the Preload Pages standard preloading mode. Informs the user about what the standard preloading setting does.">
Thorium preloads pages you're likely to visit, so that they load more quickly when you visit them
</message>
<message name="IDS_PRELOAD_PAGES_STANDARD_PRIVACY_GUIDE_BULLET_THREE" desc="Third bullet point under the Preload Pages standard preloading mode. Informs the user about what the standard preloading setting does.">
If you allow cookies, Thorium may use them when preloading
</message>
<message name="IDS_PRELOAD_PAGES_TITLE" desc="Title for a section in Settings that controls pages preloading and informs the user about the data shared by this feature.">
Preload pages
</message>
@ -357,7 +369,7 @@ CHAR_LIMIT guidelines:
No preloading
</message>
<message name="IDS_PRELOAD_PAGES_NO_PRELOADING_SUMMARY" desc="Short explanation of what the no preloading mode does in the Preload Pages setting.">
Pages load only after you open them.
Pages load only after you open them
</message>
<message name="IDS_PRELOAD_PAGES_STANDARD_PRELOADING_TITLE" desc="Name of the standard preloading option for the Preload Pages settings page. This option enables preloading pages that Thorium believes the user is likely to navigate to. [CHAR_LIMIT=32]">
Standard preloading
@ -471,6 +483,17 @@ CHAR_LIMIT guidelines:
You can choose your search engine
</message>
<!-- Search engine choice screen. TODO(b/280753530): replace with final versions -->
<message name="IDS_SEARCH_ENGINE_CHOICE_SCREEN_TITLE" desc="" translateable="false">
*Title*
</message>
<message name="IDS_SEARCH_ENGINE_CHOICE_SCREEN_SUBTITLE" desc="" translateable="false">
*Subtitle*
</message>
<message name="IDS_SEARCH_ENGINE_CHOICE_SCREEN_PRIMARY_ACTION" desc="" translateable="false">
*Primary Action*
</message>
<!-- Autofill and Payments preferences -->
<message name="IDS_PAYMENT_APPS_TITLE" desc="Title of the preference to list the payment apps on device.">
Payment apps
@ -1392,6 +1415,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_SIGN_OUT_OF_CHROME_LINK" desc="The text is displayed in a footer in a dialog to clear browsing data. The link sign out of Thorium opens a dialog where the user can confirm if they want to sign out of Thorium.">
To sign out of your Google Account on all websites, <ph name="BEGIN_LINK1">&lt;link1&gt;</ph>sign out of Thorium<ph name="END_LINK1">&lt;/link1&gt;</ph>.
</message>
<message name="IDS_SIGN_OUT_OF_CHROME_LINK_ADVANCED" desc="The text is displayed in a footer in the advanced option of clear browsing data dialog. The link sign out of Thorium opens a dialog where the user can confirm if they want to sign out of Thorium.">
Clearing your browsing data doesn't sign you out of your Google Account. To do so, <ph name="BEGIN_LINK1">&lt;link1&gt;</ph>sign out of Thorium<ph name="END_LINK1">&lt;/link1&gt;</ph>.
</message>
<message name="IDS_CLEAR_SEARCH_HISTORY_NON_GOOGLE_DSE" desc="Text informing the user about the way to clear their search history when their Default Search Engine is not Google.">
Your search engine is <ph name="dse">%1$s<ex>Bing</ex></ph>. See their instructions for deleting your search history, if applicable.
</message>
@ -1502,6 +1528,18 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_PRIVACY_GUIDE_MSBB_ITEM_FOUR" desc="Fourth bullet point that describes the details of the MSBB toggle.">
If you also share Thorium usage reports, those reports include the URLs you visit
</message>
<message name="IDS_PRIVACY_GUIDE_MSBB_ITEM_TWO_V3" desc="Second bullet point that describes the details of the MSBB toggle.">
From the address bar, you can open page info to see additional info about the page you're visiting
</message>
<message name="IDS_PRIVACY_GUIDE_MSBB_ITEM_THREE_V3" desc="Third bullet point that describes the details of the MSBB toggle.">
If you also save your bookmarks in your Google Account, you can track product prices in Thorium and get notified when the price drops
</message>
<message name="IDS_PRIVACY_GUIDE_MSBB_ITEM_FOUR_V3" desc="Forth bullet point that describes the details of the MSBB toggle.">
URLs you visit are sent to Google to predict what sites you might visit next and to show you additional info about the page you're visiting
</message>
<message name="IDS_PRIVACY_GUIDE_MSBB_ITEM_FIVE_V3" desc="Fifth bullet point that describes the details of the MSBB toggle.">
If you also share Thorium usage reports, those reports include the URLs you visit
</message>
<message name="IDS_PRIVACY_GUIDE_HISTORY_SYNC_TOGGLE" desc="Title for the history sync toggle.">
History sync
</message>
@ -1518,10 +1556,10 @@ Your Google account may have other forms of browsing history like searches and a
Choose when to block third-party cookies
</message>
<message name="IDS_PRIVACY_GUIDE_COOKIES_BLOCK_INCOGNITO_TITLE" desc="Title for the radio button for blocking third-party cookies in incognito.">
Block while using incognito
Block while using Incognito
</message>
<message name="IDS_PRIVACY_GUIDE_COOKIES_BLOCK_INCOGNITO_DESCRIPTION" desc="Description for the radio button for blocking third-party cookies in incognito.">
While in incognito, sites cant use your cookies to see your browsing activity across different sites, for example, to personalize ads. Features on some sites may break.
While in Incognito, sites cant use your cookies to see your browsing activity across different sites, for example, to personalize ads. Features on some sites may break.
</message>
<message name="IDS_PRIVACY_GUIDE_COOKIES_BLOCK_ALWAYS_TITLE" desc="Title for the radio button for blocking third-party cookies always.">
Block all the time
@ -1583,9 +1621,15 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_PRIVACY_GUIDE_SB_STANDARD_ITEM_TWO" desc="Second bullet point that describes the details of the Safe Browsing control.">
Checks URLs with a list of unsafe sites stored in Thorium
</message>
<message name="IDS_PRIVACY_GUIDE_SB_STANDARD_ITEM_TWO_PROXY" desc="Second bullet point that describes the details of the Safe Browsing control with proxy.">
Sends an obfuscated portion of the URL to Google through a privacy server that hides your IP address
</message>
<message name="IDS_PRIVACY_GUIDE_SB_STANDARD_ITEM_THREE" desc="Third bullet point that describes the details of the Safe Browsing control.">
If a site tries to steal your password, or when you download a harmful file, Thorium may send URLs including bits of page content to Safe Browsing
</message>
<message name="IDS_PRIVACY_GUIDE_SB_STANDARD_ITEM_THREE_PROXY" desc="Third bullet point that describes the details of the Safe Browsing control with proxy.">
If a site tries to steal your password, or when you download a harmful file, Thorium may send URLs including bits of page content to Google
</message>
<message name="IDS_PRIVACY_GUIDE_SB_ENHANCED_ITEM_ONE" desc="First bullet point that describes the details of the Safe Browsing control.">
Predicts and warns you about dangerous events before they happen
</message>
@ -1607,6 +1651,24 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_PRIVACY_GUIDE_SB_ENHANCED_ITEM_SEVEN" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
Temporarily links this data to your Google Account when youre signed in, to protect you across Google apps
</message>
<message name="IDS_PRIVACY_GUIDE_SEARCH_SUGGESTIONS_ITEM_ONE" desc="First bullet point that describes the details of the search suggestions toggle.">
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 Incognito.
</message>
<message name="IDS_PRIVACY_GUIDE_SEARCH_SUGGESTIONS_ITEM_TWO" desc="Second bullet point that describes the details of the search suggestions toggle.">
What you type in the address bar or search box is sent to your default search engine
</message>
<message name="IDS_PRIVACY_GUIDE_SEARCH_SUGGESTIONS_ITEM_THREE" desc="Third bullet point that describes the details of the search suggestions toggle.">
Depending on your settings, Thorium may also send cookies and your current URL
</message>
<!-- Tracking protection -->
<!-- TODO(b/295926938): Update the strings once finalized. -->
<message name="IDS_TRACKING_PROTECTION_TITLE" desc="" translateable="false">
Tracking protection
</message>
<message name="IDS_TRACKING_PROTECTION_SUMMARY" desc="" translateable="false">
Protection from trackers (third-party cookies, IP tracking, invasive scripts, and more)
</message>
<!-- Safety check -->
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
@ -1721,6 +1783,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_SUMMARY" desc="Summary for Safe Browsing enhanced protection mode.">
Faster, proactive protection against dangerous websites, downloads, and extensions. Warns you about password breaches. Requires browsing data to be sent to Google.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_SUMMARY_UPDATED" desc="Summary for Safe Browsing enhanced protection mode.">
Real-time, proactive protection against dangerous sites, downloads, and extensions thats based on your browsing data getting sent to Google
</message>
<message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_TITLE" desc="Title for Safe Browsing standard protection mode. [CHAR_LIMIT=32]">
Standard protection
</message>
@ -1730,32 +1795,68 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_SUMMARY_UPDATED" desc="Summary for Safe Browsing standard protection mode.">
Protects against sites, downloads, and extensions that are known to be dangerous. If a page does something suspicious, URLs and bits of page content are sent to Google Safe Browsing.
</message>
<message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_SUMMARY_UPDATED_PROXY" desc="Summary for Safe Browsing standard protection mode with proxy.">
Protects against sites, downloads, and extensions that are known to be dangerous. When you visit a site, Thorium sends an obfuscated portion of the URL to Google through a privacy server that hides your IP address. If a site does something suspicious, full URLs and bits of page content are also sent.
</message>
<message name="IDS_SAFE_BROWSING_NO_PROTECTION_TITLE" desc="Title for Safe Browsing no protection mode. [CHAR_LIMIT=32]">
No protection (not recommended)
</message>
<message name="IDS_SAFE_BROWSING_NO_PROTECTION_SUMMARY" desc="Summary for Safe Browsing no protection mode.">
Does not protect you against dangerous websites, downloads, and extensions. Youll still get Safe Browsing protection, where available, in other Google services, like Gmail and Search.
</message>
<message name="IDS_SAFE_BROWSING_NO_PROTECTION_SUMMARY_UPDATED" desc="Summary for Safe Browsing no protection mode.">
Does not protect you against dangerous websites, downloads, and extensions. Your Safe Browsing settings in other Google products won't be affected.
</message>
<!-- Safe Browsing enhanced protection preferences -->
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_SUBTITLE" desc="Subtitle for Safe Browsing enhanced protection mode.">
Enhanced protection:
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_SUBTITLE_UPDATED" desc="Subtitle for Safe Browsing enhanced protection mode.">
Enhanced protection
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_ONE" desc="First bullet point under the Safe Browsing enhanced protection mode">
Predicts and warns you about dangerous events before they happen.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_ONE_UPDATED" desc="First bullet point that describes the details of the Safe Browsing control.">
Warns you about dangerous sites, even ones Google didnt know about before, by analyzing more data from sites than standard protection. You can choose to skip Thorium warnings.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_TWO" desc="Second bullet point under the Safe Browsing enhanced protection mode">
Keeps you safe on Thorium and may be used to improve your security in other Google apps when you are signed in.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_TWO_UPDATED" desc="Second bullet point that describes the details of the Safe Browsing control.">
In-depth scans for suspicious downloads.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_THREE" desc="Third bullet point under the Safe Browsing enhanced protection mode">
Improves security for you and everyone on the web.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_THREE_UPDATED" desc="Third bullet point that describes the details of the Safe Browsing control.">
When you're signed in, protects you across Google services.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_FOUR" desc="Fourth bullet point under the Safe Browsing enhanced protection mode">
Warns you if passwords are exposed in a data breach.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_FOUR_UPDATED" desc="Fourth bullet point that describes the details of the Safe Browsing control.">
Improves security for you and everyone on the web.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_FIVE" desc="Fifth bullet point under the Safe Browsing enhanced protection mode">
Sends URLs to Safe Browsing to check them. Also sends a small sample of pages, downloads, extension activity, and system information to help discover new threats. Temporarily links this data to your Google Account when youre signed in, to protect you across Google apps.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_FIVE_UPDATED" desc="Fifth bullet point that describes the details of the Safe Browsing control.">
Warns you if you use a password that has been compromised in a data breach.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_SIX_UPDATED" desc="Sixth bullet point that describes the details of the Safe Browsing control.">
Sends the URLs of sites you visit and a small sample of page content, downloads, extension activity, and system information to Google Safe Browsing to check if theyre harmful.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_SEVEN_UPDATED" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
When youre signed in, this data is linked to your Google Account to protect you across Google services, for example increasing protection in Gmail after a security incident.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_BULLET_EIGHT_UPDATED" desc="Eighth bullet point that describes the details of the Safe Browsing control.">
Doesnt noticeably slow down your browser or device.
</message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_LEARN_MORE_LABEL" desc="The text for a link to a help center article that gives more information about Safe Browsing.">
Learn more about <ph name="BEGIN_LINK">&lt;link&gt;</ph>how Thorium keeps your data private<ph name="END_LINK">&lt;/link&gt;</ph>
</message>
<!-- Safe Browsing standard protection preferences -->
<message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_SUBTITLE" desc="Subtitle for Safe Browsing standard protection mode.">
@ -1770,6 +1871,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_BULLET_TWO" desc="Second bullet point under the Safe Browsing standard protection mode.">
Checks URLs with a list of unsafe sites stored in Thorium. If a site tries to steal your password, or when you download a harmful file, Thorium may also send URLs, including bits of page content, to Safe Browsing.
</message>
<message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_BULLET_TWO_PROXY" desc="Second bullet point under the Safe Browsing standard protection mode when proxy is enabled.">
Sends an obfuscated portion of the URL to Google through a privacy server that hides your IP address. If a site tries to steal your password, or when you download a harmful file, Thorium may also send URLs, including bits of page content, to Google.
</message>
<message name="IDS_SAFE_BROWSING_STANDARD_PROTECTION_EXTENDED_REPORTING_TITLE" desc="Title for Safe Browsing extended reporting.">
Help improve security on the web
</message>
@ -1886,6 +1990,12 @@ Your Google account may have other forms of browsing history like searches and a
Never translate sites
</message>
<!-- Translate Messages Snackbar -->
<message name="IDS_TRANSLATE_MESSAGE_SNACKBAR_PAGE_TRANSLATED"
desc="Message that the page has been translated into a specific target language">
Page translated to <ph name="target_language">%1$s<ex>English</ex></ph>
</message>
<!-- Dangerous download -->
<message name="IDS_DANGEROUS_DOWNLOAD_DIALOG_CONFIRM_TEXT" desc="Text label for the confirm button on the dangerous download dialog for user to confirm the download.">
Download anyway
@ -2242,9 +2352,6 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_SIGN_IN_GOOGLE_ACCOUNT" desc="Title of sign in account selection dialog. [CHAR_LIMIT=32]">
Google Account
</message>
<message name="IDS_SYNC_CUSTOM_PASSPHRASE" desc="Prompt user to create a custom sync password.">
Passphrase encryption doesnt include payment methods and addresses from Google Pay. Only someone with your passphrase can read your encrypted data. The passphrase is not sent to or stored by Google. If you forget your passphrase or want to change this setting you'll need to reset sync. <ph name="BEGIN_LINK">&lt;learnmore&gt;</ph>Learn more<ph name="END_LINK">&lt;/learnmore&gt;</ph>
</message>
<message name="IDS_NEW_SYNC_CUSTOM_PASSPHRASE" desc="Prompt user to create a custom sync password.">
Payment methods and addresses from Google Pay wont be encrypted. Browsing history from Thorium wont sync.
Only someone with your passphrase can read your encrypted data. The passphrase is not sent to or stored by Google. If you forget your passphrase or want to change this setting, youll need to reset sync. <ph name="BEGIN_LINK">&lt;learnmore&gt;</ph>Learn more<ph name="END_LINK">&lt;/learnmore&gt;</ph>
@ -2394,9 +2501,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_ACCESSIBILITY_TAB_SWITCHER_INCOGNITO_STACK_SELECTED" desc="Announcement when the Incognito tab stack is selected.">
Switched to Incognito tabs
</message>
<message name="IDS_ACCESSIBILITY_TAB_SWITCHER_UNDO_TAB_CLOSED" desc="Content description for the undo tab closed 'button.">
Reopen closed tab
</message>
<message name="IDS_ACCESSIBILITY_UNDO_CLOSED_TAB_ANNOUNCEMENT_MESSAGE" desc="Message spoken out loud for accessibility when a user decides to undo a closed tab.">
Restored <ph name="TAB_TITLE">%1$s<ex>YouTube</ex></ph>, tab
</message>
@ -2406,9 +2510,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_ACCESSIBILITY_TABSTRIP_TAB" desc="Content description for the tab title.">
<ph name="TAB_TITLE">%1$s<ex>Welcome to Facebook</ex></ph>, tab
</message>
<message name="IDS_ACCESSIBILITY_TABSTRIP_TAB_SELECTED" desc="Content description for the tab title of the currently selected tab.">
<ph name="TAB_TITLE">%1$s<ex>Welcome to Facebook</ex></ph>, tab, selected
</message>
<message name="IDS_ACCESSIBILITY_TABSTRIP_BTN_CLOSE_TAB" desc="Content description for the close tab button.">
Close <ph name="TAB_TITLE">%1$s<ex>Google</ex></ph> tab
</message>
@ -2499,10 +2600,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
</message>
<!-- Password manager dialogs -->
<message name="IDS_PASSWORD_GENERATION_DIALOG_TITLE" desc="Text shown in a modal dialog that displays a generated password. This dialog is triggered by the user requesting to generate a password.">
Suggested password
</message>
<message name="IDS_PASSWORD_GENERATION_DIALOG_TITLE_UPM_BRANDED" desc="Text shown in a modal dialog that displays a generated password. This dialog is triggered by the user requesting to generate a password. Unified Password Manager version.">
<message name="IDS_PASSWORD_GENERATION_DIALOG_TITLE" desc="Text shown in a modal dialog that displays a generated password. This dialog is triggered by the user requesting to generate a password. Unified Password Manager version.">
Use strong password?
</message>
<message name="IDS_PASSWORD_GENERATION_DIALOG_CANCEL_BUTTON" desc="Text for the cancel button belonging to the modal dialog that displays a generated password. Can be used by the user to cancel the password generation flow.">
@ -2913,7 +3011,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
{FILE_COUNT, plural, =1 {# Page} other {# Pages}}
</message>
<message name="IDS_DOWNLOAD_PAGE" desc="Download this page.">
Download page
Download this page
</message>
<message name="IDS_DOWNLOAD_MANAGER_NO_DOWNLOADS" desc="Text appearing on an empty tab that indicates that downloaded files appear on this tab.">
Files that you download appear here
@ -2969,6 +3067,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_DOWNLOAD_MANAGER_EXPLORE_OFFLINE" desc="Tab text for the offline content in download home which contains recommended offline content for the user.">
Explore Offline
</message>
<message name="IDS_DOWNLOAD_FILE_TYPE_NOT_SUPPORTED" desc="Error message shown to user when a file can't de downloaded due to it's file format (e.g. .pdf, .docx, .apk).">
Cannot download file. File format not supported.
</message>
<!-- Browsing History UI -->
<message name="IDS_HISTORY_MANAGER_EMPTY" desc="Indicates that there are no browsing history items.">
@ -3117,25 +3218,42 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<!-- Strings for the Device Lock. -->
<message name="IDS_DEVICE_LOCK_TITLE" desc="Title shown on the profile lock page prompting the user to set a profile lock.">
Create a profile lock for your car
Create a car profile lock
</message>
<message name="IDS_DEVICE_LOCK_EXISTING_LOCK_TITLE" desc="Title shown on the profile lock page if there is a pre-existing profile lock.">
Your info is secured with a profile lock
</message>
<message name="IDS_DEVICE_LOCK_DESCRIPTION" desc="Text description explaining that a profile lock is required for automotive devices to protect data privacy. 'Sync' is short for synchronization.">
To sync your Thorium info and keep your data secure in the car, you must create a profile lock. Youll use a code or password every time you enter the car.
</message>
<message name="IDS_DEVICE_LOCK_THROUGH_SETTINGS_DESCRIPTION" desc="Text description explaining that a profile lock is required for automotive devices to protect data privacy, and that such a lock can be created in the device's security settings. 'Sync' is short for synchronization.">
To sync your Thorium info and keep your data secure in the car, you must create a profile lock in your security settings. Youll use a code or password every time you enter the car.
To protect your sensitive content in the car, you must create a car profile lock. You can do this with a pin, code, or password.
</message>
<message name="IDS_DEVICE_LOCK_EXISTING_LOCK_DESCRIPTION" desc="Text description explaining to users who have already set an existing lock that a profile lock is required for automotive devices to protect data privacy. 'Sync' is short for synchronization.">
Your profile lock keeps your info secure in the car, including synced passwords, payments and more.
</message>
<message name="IDS_DEVICE_LOCK_CREATION_NOTICE" desc="Text description alerting users that if they continue and set a profile lock on the car, it will be required to unlock the profile every time they use the car.">
Youll unlock your screen every time you use the car
</message>
<message name="IDS_DEVICE_LOCK_NOTICE" desc="Notice appearing on the profile lock page informing users that data saved on Thorium will be erased if they remove the profile lock from the device.">
Your saved data will be erased if the profile lock is removed later.
Turning off your profile lock will remove your saved info
</message>
<message name="IDS_DEVICE_LOCK_CREATE_LOCK_BUTTON" desc="Text for the button that navigates the user to create a profile lock on the device.">
Create a profile lock
Create a car profile lock
</message>
<message name="IDS_DIALOG_NOT_NOW" desc="Label for the negative ('not now') button of a dialog that prompts user action. Clicking on this button dismisses the dialog without further actions.">
Not now
</message>
<!-- Strings for a missing device lock. -->
<message name="IDS_MISSING_DEVICE_LOCK_TITLE" desc="Title shown on the missing profile lock page if a user has removed a profile lock that used to be present on the device.">
Continue without a car profile lock?
</message>
<message name="IDS_MISSING_DEVICE_LOCK_DESCRIPTION" desc="Text description explaining that a profile lock is required on automotive devices, and that sensitive personal data will be deleted from the profile if the user continues to Thorium without re-creating a profile lock.">
Opening Thorium without a profile lock will remove your saved passwords and payment methods from the car. Using a profile lock keeps this data secure.
</message>
<message name="IDS_MISSING_DEVICE_LOCK_REMOVE_LOCAL_DATA" desc="Option given to the user to delete all Thorium profile data, particularly mentioning bookmarks and history.">
Also clear bookmarks, history, and more from this car
</message>
<message name="IDS_DELETE_AND_CONTINUE" desc="Text for the button that will delete any sensitive data and then navigate the user back to Thorium.">
Delete &amp; continue
</message>
<!-- Strings for Streamlined Signin and Unified Consent. -->
@ -3578,7 +3696,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
New tab
</message>
<message name="IDS_ADAPTIVE_TOOLBAR_BUTTON_PREFERENCE_SHARE" desc="Title name for the share option in the preference.">
Share
Share this page
</message>
<message name="IDS_ADAPTIVE_TOOLBAR_BUTTON_PREFERENCE_VOICE_SEARCH" desc="Title name for the voice search option in the preference.">
Voice search
@ -3703,7 +3821,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Find in page
</message>
<message name="IDS_MENU_PAGE_INSIGHTS" desc="Menu item showing Page Insights hub. [CHAR_LIMIT=27]">
View page insights
View Page Insights
</message>
<message name="IDS_MENU_FOLLOW" desc="Menu item allowing users to follow the current website. [CHAR_LIMIT=27]">
Follow
@ -3837,6 +3955,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_BOOKMARK_TOOLBAR_SEARCH" desc="Button text for bookmark search action on the bookmark action bar [CHAR_LIMIT=32]">
Search your bookmarks
</message>
<message name="IDS_BOOKMARK_TOOLBAR_SEARCH_TITLE" desc="Toolbar search title [CHAR_LIMIT=32]">
Search
</message>
<message name="IDS_BOOKMARK_NO_RESULT" desc="Text explaining that no bookmarks are found to match a search query">
Cant find that bookmark. Check your spelling or add a new bookmark.
</message>
@ -3935,6 +4056,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_SORT_SUBMENU" desc="Sub-menu in the bookmarks manager for sort/view options. [CHAR_LIMIT=24]">
Sort and view options
</message>
<message name="IDS_SORT_BY_MANUAL" desc="Option in the bookmarks manager to sort manually. [CHAR_LIMIT=24]">
Sort by manual order
</message>
<message name="IDS_SORT_BY_NEWEST" desc="Option in the bookmarks manager to sort by newest. [CHAR_LIMIT=24]">
Sort by newest
</message>
@ -4057,13 +4181,13 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Tab opened in background.
</message>
<message name="IDS_MENU_OPEN_IN_CHROME" desc="Context sensitive menu item for opening a link in Thorium. [CHAR_LIMIT=30]">
Open in Thorium
Open in Thorium browser
</message>
<message name="IDS_MENU_OPEN_IN_INCOGNITO_CHROME" desc="Context sensitive menu item for opening a link in Thorium in an Incognito tab. [CHAR_LIMIT=30]" translateable="false">
Open in Incognito Thorium
</message>
<message name="IDS_MENU_OPEN_IN_PRODUCT" desc="App menu item for opening link in the browser. [CHAR_LIMIT=30]">
Open in <ph name="PRODUCT_NAME">%1$s<ex>Thorium</ex></ph>
<message name="IDS_MENU_OPEN_IN_PRODUCT" desc="App menu item for opening link in the browser. [CHAR_LIMIT=40]">
Open in <ph name="PRODUCT_NAME">%1$s<ex>Thorium</ex></ph> browser
</message>
<message name="IDS_MENU_OPEN_IN_PRODUCT_DEFAULT" desc="Default title for menu item for opening link in browser. [CHAR_LIMIT=30]">
Open in browser
@ -4102,6 +4226,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_RDS_GLOBAL_OPT_IN_MESSAGE_TITLE" desc="Title of the message shown for the user to opt in to the desktop site global setting based on device conditions.">
Request desktop sites by default?
</message>
<message name="IDS_RDS_WINDOW_SETTING_MESSAGE_TITLE" desc="Title of the message shown after window setting changes the page layout from desktop to mobile.">
Thorium will request the mobile site when the screen is narrow
</message>
<message name="IDS_RDS_WINDOW_SETTING_MESSAGE_BUTTON" desc="Text on the button allowing users to manage the setting.">
Go to Settings
</message>
<message name="IDS_RDS_APP_MENU_USER_EDUCATION_DIALOG_TITLE" desc="Title of the dialog shown to educate the user about the desktop site app menu site-level setting.">
Thorium will remember your choice
</message>
@ -4164,10 +4294,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Signed out. Opens dialog to sign in and turn on sync.
</message>
<message name="IDS_ACCESSIBILITY_TOOLBAR_BTN_HOME" desc="Content description for the home button.">
Home
Open the home page
</message>
<message name="IDS_ACCESSIBILITY_BTN_REFRESH" desc="Content description for the refresh page button.">
Refresh page
Reload this page
</message>
<message name="IDS_ACCESSIBILITY_BTN_STOP_LOADING" desc="Content description for the stop loading page button.">
Stop page loading
@ -4404,7 +4534,22 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Page insights bottom sheet is closed
</message>
<message name="IDS_PAGE_INSIGHTS_HUB_TITLE_TEXT" desc="The title of Page Insights Sheet.">
Related Insights
Page Insights
</message>
<message name="IDS_PAGE_INSIGHTS_BACK_BUTTON_DESCRIPTION" desc="The content description of back button in page insights sheet.">
Page insights back button
</message>
<message name="IDS_PAGE_INSIGHTS_LOADING_INDICATOR_DESCRIPTION" desc="The loading indicator for Page Insights Hub while the related content is being fetched from server.">
Page insights Loading Indicator
</message>
<message name="IDS_PAGE_INSIGHTS_HUB_PRIVACY_NOTICE" desc="Text that displays privacy notice for page insights hub">
Your activity is saved in your <ph name="BEGIN_LINK">&lt;link&gt;</ph>Google Account<ph name="END_LINK">&lt;/link&gt;</ph>.
</message>
<message name="IDS_PAGE_INSIGHTS_HUB_MY_ACTIVITY_LOGO" desc="Logo of privacy notice for page insights hub">
Logo of privacy notice for page insights hub which redirects to my activity page.
</message>
<message name="IDS_PAGE_INSIGHTS_HUB_PRIVACY_NOTICE_CLOSE" desc="Close button for closing privacy notice of page insights hub">
Close button to close privacy notice of page insights hub.
</message>
<!-- WebFeed -->
@ -4444,9 +4589,15 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_WEB_FEED_POST_FOLLOW_DIALOG_STORIES_READY_DESCRIPTION" desc="The body text of the dialog presented a few times after a successful Web Feed follow request, when content from that Web Feed is immediately available. Please use the branded term for Discover, as listed under Product Names in the Google Glossary Manager (TC ID 1799975766543019278).">
You'll now see stories from <ph name="SITE_NAME">%1$s<ex>Reuters</ex></ph> when you open a new tab. Sites you follow are saved in your Google account. You can manage them in Discover settings.
</message>
<message name="IDS_WEB_FEED_POST_FOLLOW_DIALOG_STORIES_READY_DESCRIPTION_WITH_UI_UPDATE" desc="The body text of the dialog presented a few times after a successful Web Feed follow request, when content from that Web Feed is immediately available.">
You'll now see content from and about <ph name="SITE_NAME">%1$s<ex>Reuters</ex></ph> in Following. The sites and searches you follow are saved in your Google Account. You can manage your follows in settings at any time.
</message>
<message name="IDS_WEB_FEED_POST_FOLLOW_DIALOG_STORIES_NOT_READY_DESCRIPTION" desc="The body text of the dialog presented a few times after a successful Web Feed follow request, when content from that Web Feed is not readily available. Please use the branded term for Discover, as listed under Product Names in the Google Glossary Manager (TC ID 1799975766543019278).">
Soon, youll see stories from <ph name="SITE_NAME">%1$s<ex>Reuters</ex></ph> when you open a new tab. Sites you follow are saved in your Google account. You can manage them in Discover settings.
</message>
<message name="IDS_WEB_FEED_POST_FOLLOW_DIALOG_STORIES_NOT_READY_DESCRIPTION_WITH_UI_UPDATE" desc="The body text of the dialog presented a few times after a successful Web Feed follow request, when content from that Web Feed is not readily available.">
Soon, you'll see content from and about <ph name="SITE_NAME">%1$s<ex>Reuters</ex></ph> in Following. The sites and searches you follow are saved in your Google Account. You can manage your follows in settings at any time.
</message>
<message name="IDS_WEB_FEED_POST_FOLLOW_DIALOG_GO_TO_FOLLOWING" desc="The main action of the dialog presented a few times after a successful Web Feed follow request, when content from from that Web Feed is immediately available. It will take the user to the Following feed.">
Go to Following
</message>
@ -5249,10 +5400,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Share
</message>
<message name="IDS_QR_CODE_SCAN_TAB_LABEL" desc="Scan tab label for QR Code sharing activity.">
Scan
</message>
<message name="IDS_QR_CODE_SHARE_DESCRIPTION" desc="Text on QR Code sharing tab describing how to use the QR Code.">
To share with people nearby, let them scan this QR Code
</message>
@ -5360,46 +5507,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
GIF Copied
</message>
<message name="IDS_QR_CODE_CAMERA_FRAMING_RECT_DESCRIPTION" desc="Text under the framing rectangle in QR Code camera preview.">
Position QR Code/barcode in this frame.
</message>
<message name="IDS_QR_CODE_PERMISSION_DESCRIPTION" desc="Text on QR Code sharing tab indicating that permissions need to be given.">
To scan a QR Code, let Thorium use your camera
</message>
<message name="IDS_QR_CODE_OPEN_SETTINGS_DESCRIPTION" desc="Text on QR Code sharing tab indicating that user needs to open settings to give camera permission.">
To scan a QR Code, change your settings so that Thorium can use your camera
</message>
<message name="IDS_QR_CODE_PERMISSION_CONTINUE_LABEL" desc="Text on button on QR Code sharing tab triggering camera permission dialog.">
Continue
</message>
<message name="IDS_QR_CODE_NO_CAMERA_ERROR" desc="Error text shown when no camera is found.">
To scan a QR Code, use a device with a camera.
</message>
<message name="IDS_QR_CODE_DISABLED_CAMERA_ERROR" desc="Error text shown when the camera is disabled by the device policy manager.">
The organization that manages your device has turned off your camera.
</message>
<message name="IDS_QR_CODE_IN_USE_CAMERA_ERROR" desc="Error text shown when the camera is in use by other apps.">
Can't open your camera. Restart your device and try again.
</message>
<message name="IDS_QR_CODE_HARDWARE_CAMERA_ERROR" desc="Error text shown when the camera cannot start due to a hardware error.">
Can't open your camera. Something went wrong.
</message>
<message name="IDS_QR_CODE_OPEN_SETTINGS_LABEL" desc="Text on button on QR Code sharing tab triggering Android settings.">
Open Settings
</message>
<message name="IDS_QR_CODE_NOT_A_URL_LABEL" desc="Text on toast on QR Code scanning tab indicating that the QR Code does not correspond to a URL and can not be opened.">
This QR Code is not a URL: <ph name="QrCodeValue">%1$s<ex>QR Code Text</ex></ph>
</message>
<message name="IDS_QR_CODE_FILENAME_PREFIX" desc="File name prefix for downloaded qrcode that is followed by timestamp.">
chrome_qrcode_<ph name="CURRENT_TIMESTAMP_MS">%1$s<ex>1582667748515</ex></ph>
</message>
@ -5539,7 +5650,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Use Lite mode on Thorium
</message>
<message name="IDS_CHROME_REENGAGEMENT_NOTIFICATION_3_TITLE" desc="The title of a notification shown to suggest that users use Thorium. Users probably have not opened Thorium in a while.">
Alex313031 recommends Thorium
Google recommends Thorium
</message>
<message name="IDS_CHROME_REENGAGEMENT_NOTIFICATION_3_DESCRIPTION" desc="The title of a notification shown to suggest that users use Thorium. Users probably have not opened Thorium in a while. Promotes data savings and relevant news.">
Save up to 60% data, read today's news
@ -5659,6 +5770,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_IDP_SIGNIN_STATUS_MISMATCH_DIALOG_CONTINUE" desc="Title of the button that allows the user to continue with signing in to an account from an identity provider." translateable="false">
Continue
</message>
<message name="IDS_SIGNIN_ERROR_DIALOG_GOT_IT_BUTTON" desc="The button text on the error dialog for the user to acknowledge that an error has occurred in their attempt to sign in with an account from an identity provider." translateable="false">
Got it
</message>
<message name="IDS_SIGNIN_ERROR_DIALOG_MORE_DETAILS_BUTTON" desc="The button text on the error dialog for the user to get more details about an error that has occurred in their attempt to sign in with an account from an identity provider." translateable="false">
More details
</message>
<message name="IDS_SIGNIN_GENERIC_ERROR_DIALOG_SUMMARY" desc="Summary of generic error upon user failing to sign in with an account from an identity provider." translateable="false">
Can't continue with <ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE">%1$s<ex>idp.example</ex></ph>
</message>
<message name="IDS_SIGNIN_GENERIC_ERROR_DIALOG_DESCRIPTION" desc="Description of generic error upon user failing to sign in with an account from an identity provider." translateable="false">
Something went wrong
</message>
<message name="IDS_VERIFY_SHEET_TITLE_AUTO_REAUTHN" desc="Header for verify sheet for auto re-authentication.">
Signing you in…
</message>
@ -5674,7 +5797,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
chrome_stylized_highlight_
</message>
<message name="IDS_CONTENT_CREATION_NOTE_TEMPLATE_SELECTED" desc="Announcment string for accessibility when selected template changes.">
<ph name="TEMPLATE_TITLE">%1$s<ex>Classic</ex> template selected</ph>
<ph name="TEMPLATE_TITLE">%1$s<ex>Classic</ex></ph> template selected
</message>
<message name="IDS_CONTENT_CREATION_NOTE_DIALOG_DESCRIPTION" desc="Accessibility information for note template picking dialog.">
Select a template for your highlight.
@ -5823,6 +5946,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_QUICK_DELETE_DIALOG_MORE_OPTIONS_BUTTON_TEXT" desc="Text inside the more options button which redirects users to the advanced page of 'Clear Browsing Data' where the users can customize more deletion options.">
More options
</message>
<message name="IDS_QUICK_DELETE_DIALOG_MORE_OPTIONS_BUTTON_TEXT_A11Y" desc="A11y text for Talkback, in order to give more context to the button that redirects users to the advanced page of 'Clear Browsing Data'.">
More options to clear browsing data
</message>
<message name="IDS_QUICK_DELETE_DIALOG_DATA_PENDING" desc="Text that is shown when data in the dialog is being fetched.">
Calculating...
</message>
@ -5873,6 +5999,70 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_PLEASE_WAIT_PROGRESS_MESSAGE" desc='Message on the progress dialog used when waiting for an operation to complete.'>
Please wait…
</message>
<!-- Read Aloud ("Listen to this page") player strings -->
<message name="IDS_READALOUD_CLOSE_PLAYER_BUTTON_CONTENT_DESCRIPTION" desc="Accessibility string for the button that closes the 'Listen to this page' player.">
Tap to close “Listen to this page”.
</message>
<message name="IDS_READALOUD_PLAYER_NAME" desc="Name of the Read Aloud player for accessiblity.">
“Listen to this page” player.
</message>
<message name="IDS_READALOUD_PLAYER_OPENED_AT_FULL_HEIGHT" desc="Accessibility string spoken when the 'Listen to this page' player bottom sheet expands to its full height.">
“Listen to this page” player opened at full height.
</message>
<message name="IDS_READALOUD_PLAYER_MINIMIZED" desc="Accessibility string spoken when the 'Listen to this page' player bottom sheet shrinks to its minimized height.">
“Listen to this page” player minimized.
</message>
<message name="IDS_READALOUD_CHROME_NOW_PLAYING" desc="Text in 'Listen to this page' player appearing before the title of the currently playing page.">
Thorium now playing
</message>
<message name="IDS_READALOUD_REPLAY" desc="Accessibility string for the button that rewinds 'Listen to this page' playback by the specified number of seconds.">
Back <ph name="NUMBER_OF_SECONDS">%1$s<ex>10</ex></ph> seconds
</message>
<message name="IDS_READALOUD_FORWARD" desc="Accessibility string for the button that seeks 'Listen to this page' playback forward by the specified number of seconds.">
Forward <ph name="NUMBER_OF_SECONDS">%1$s<ex>30</ex></ph> seconds
</message>
<message name="IDS_READALOUD_PLAY" desc="Accessibility string for the 'Listen to this page' play button.">
Play
</message>
<message name="IDS_READALOUD_PAUSE" desc="Accessibility string for the 'Listen to this page' pause button.">
Pause
</message>
<message name="IDS_READALOUD_SPEED_MENU_BUTTON" desc="Accessibility string for the 'Listen to this page' playback speed menu button.">
Playback speed: <ph name="PLAYBACK_SPEED">%1$s<ex>1.0</ex></ph>. Click to change.
</message>
<message name="IDS_READALOUD_OPTIONS_MENU_BUTTON" desc="Accessibility string for the 'Listen to this page' options menu button.">
More options
</message>
<message name="IDS_READALOUD_PLAYBACK_ERROR" desc="Message displayed when an error occured during 'Listen to this page' playback.">
Playback is unavailable for this page.
</message>
<message name="IDS_READALOUD_PLAYBACK_LOADING" desc="Message displayed when 'Listen to this page' playback is buffering.">
Loading…
</message>
<!-- Touch To Fill No Passkeys Sheet -->
<message name="IDS_NO_PASSKEYS_SHEET_CONTENT_DESCRIPTION" is_accessibility_with_no_ui="true" desc="Accessibility string read when the no passkeys sheet is opened. It describes the bottom sheet informing users that no passkeys are available.">
No passkeys sheet
</message>
<message name="IDS_NO_PASSKEYS_SHEET_FULL_HEIGHT" is_accessibility_with_no_ui="true" desc="Accessibility string read upon opening the bottom sheet that informs users that no passkeys are available. Even at full height, the sheet will occupy the bottom half of the screen.">
No passkeys sheet opened at full height
</message>
<message name="IDS_NO_PASSKEYS_SHEET_CLOSED" is_accessibility_with_no_ui="true" desc="Accessibility string read upon closing the bottom sheet that informs users that no passkeys are available.">
No passkeys sheet was closed
</message>
<message name="IDS_NO_PASSKEYS_SHEET_TITLE" desc="Title of the bottom sheet informing users that no passkeys are available.">
No passkeys available
</message>
<message name="IDS_NO_PASSKEYS_SHEET_SUBTITLE" desc="Explanation text of the bottom sheet informing users that no passkeys are available for this site.">
There aren't any passkeys for <ph name="ORIGIN">%1$s<ex>example.com</ex></ph> on this device
</message>
<message name="IDS_NO_PASSKEYS_SHEET_OK" desc="Label for the button that allows users to dismiss the bottom sheet informing them that no passkeys are available.">
OK
</message>
<message name="IDS_NO_PASSKEYS_SHEET_USE_ANOTHER_DEVICE" desc="Label for the button that allows users to starts a flow allowing them to use a passkey from another device to sign into ths site.">
Use another device
</message>
</messages>
</release>
</grit>

View file

@ -2939,7 +2939,6 @@ bool Browser::CanCloseWithMultipleTabs() {
return false;
}
void Browser::InProgressDownloadResponse(bool cancel_downloads) {
if (cancel_downloads) {
cancel_download_confirmation_state_ = RESPONSE_RECEIVED;

View file

@ -1108,7 +1108,7 @@ class Browser : public TabStripModelObserver,
// and the browser closed, false if the browser should stay open and the
// downloads running.
void InProgressDownloadResponse(bool cancel_downloads);
void MultitabResponse(chrome::MessageBoxResult result);
// Called when all warnings have completed when attempting to close the

View file

@ -22,7 +22,7 @@
#include "chrome/common/chrome_features.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/grit/chromium_strings.h"
#include "chrome/grit/branded_strings.h"
#include "chrome/grit/generated_resources.h"
#include "components/autofill/core/common/autofill_switches.h"
#include "components/history_clusters/core/file_clustering_backend.h"
@ -53,6 +53,10 @@
#include "chrome/browser/ui/browser.h"
#endif
#if BUILDFLAG(IS_CHROMEOS_LACROS)
#include "chromeos/constants/chromeos_features.h"
#endif
namespace chrome {
namespace {
@ -60,8 +64,11 @@ namespace {
#if !BUILDFLAG(IS_ANDROID)
// Dangerous command line flags for which to display a warning that "stability
// and security will suffer".
static const char* kBadFlags[] = {
network::switches::kIgnoreCertificateErrorsSPKIList,
const char* const kBadFlags[] = {
// These flags allow redirecting user traffic.
network::switches::kHostResolverRules,
switches::kHostRules,
// These flags disable sandbox-related security.
sandbox::policy::switches::kDisableGpuSandbox,
sandbox::policy::switches::kDisableSeccompFilterSandbox,
@ -80,6 +87,7 @@ static const char* kBadFlags[] = {
// These flags undermine HTTPS / connection security.
switches::kDisableWebRtcEncryption,
switches::kIgnoreCertificateErrors,
network::switches::kIgnoreCertificateErrorsSPKIList,
// This flag could prevent QuotaChange events from firing or cause the event
// to fire too often, potentially impacting web application behavior.
@ -183,6 +191,10 @@ static const base::Feature* kBadFeatureFlagsInAboutFlags[] = {
#if BUILDFLAG(IS_ANDROID)
&chrome::android::kCommandLineOnNonRooted,
#endif
#if BUILDFLAG(IS_CHROMEOS_LACROS)
&chromeos::features::kBlinkExtensionDiagnostics,
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
};
void ShowBadFlagsInfoBarHelper(content::WebContents* web_contents,

View file

@ -223,7 +223,6 @@ bool IsFetchingEnabled() {
return false;
}
// Returns the already downloaded first run seed, and clear the seed from the
// native-side prefs. At this point, the seed has already been fetched from the
// native seed storage, so it's no longer needed there. This is done regardless
@ -421,6 +420,14 @@ void VariationsService::SetRestrictMode(const std::string& restrict_mode) {
restrict_mode_ = restrict_mode;
}
bool VariationsService::IsLikelyDogfoodClient() const {
// The param is typically only set for dogfood clients, though in principle it
// could be set in other rare contexts as well.
const std::string restrict_mode = GetRestrictParameterValue(
restrict_mode_, client_.get(), policy_pref_service_);
return !restrict_mode.empty();
}
GURL VariationsService::GetVariationsServerURL(HttpOptions http_options) {
const bool secure = http_options == USE_HTTPS;
const std::string restrict_mode = GetRestrictParameterValue(

View file

@ -21,7 +21,7 @@ about:version template page
<if expr="is_android or is_ios">
<link rel="stylesheet" href="about_version_mobile.css">
</if>
<if expr="chromeos_lacros or chromeos_ash">
<if expr="is_chromeos">
<link rel="stylesheet" href="chrome://resources/css/os_header.css">
</if>
@ -29,18 +29,16 @@ about:version template page
</head>
<body>
<if expr="chromeos_lacros or chromeos_ash">
<if expr="is_chromeos">
<div class="os-link-container-container" id="os-link-container" hidden>
<div class="os-link-container">
<span class="os-link-icon"></span>
<span aria-hidden="true" id="os-link-desc">$i18n{os-version-text1}</span>
<a href="#" id="os-link-href" aria-describedby="os-link-desc">
$i18n{os-version-link}
</a>
$i18nRaw{os-version-link}
<span aria-hidden="true">$i18n{os-version-text2}</span>
</div>
</div>
</if>
</if>
<div id="outer">
<div id="logo">
@ -111,16 +109,23 @@ about:version template page
<span>$i18n{cl}</span>
</td>
</tr>
<if expr="not chromeos_ash and not chromeos_lacros">
<if expr="not chromeos_ash">
<tr>
<td class="label">$i18n{os_name}</td>
<td class="version" id="os_type">
<span>$i18n{os_type}</span>
<span id="copy-os-content">
<span>$i18n{os_type}</span>
<if expr="is_android">
<span>$i18n{os_version}</span>
<span>$i18n{os_version}</span>
</if>
<if expr="is_win or is_macosx">
<span id="os_version"></span>
<if expr="chromeos_lacros or is_win or is_macosx">
<span id="os_version"></span>
</if>
</span>
<if expr="chromeos_lacros">
<button id="copy-os-content-to-clipboard" aria-label="$i18n{copy_label}">
<div id="copy-to-clipboard-icon"></div>
</button>
</if>
</td>
</tr>
@ -145,12 +150,11 @@ about:version template page
</td>
</tr>
</if>
<!-- TODO(crbug.com/1339120): Unify and reuse between Ash and Lacros -->
<if expr="chromeos_ash">
<if expr="is_chromeos">
<tr>
<td class="label">$i18n{platform}</td>
<td class="version" id="os_type">
<span id="os_version"></span>
<td class="version" id="platform_type">
<span id="platform_version"></span>
</td>
</tr>
<tr>
@ -171,20 +175,6 @@ about:version template page
</td>
</tr>
</if>
<if expr="chromeos_lacros">
<tr>
<td class="label">$i18n{os_name}</td>
<td class="version" id="os_type">
<span id="copy-os-content">
<span>$i18n{os_type}</span>
(Ash <span>$i18n{ash_chrome_version}</span>)
</span>
<button id="copy-os-content-to-clipboard" aria-label="$i18n{copy_label}">
<div id="copy-to-clipboard-icon"></div>
</button>
</td>
</tr>
</if>
<if expr="not is_ios">
<tr><td class="label">JavaScript</td>
<td class="version" id="js_engine">
@ -231,5 +221,8 @@ about:version template page
</tr>
</table>
</div>
<div id="messages" role="alert" aria-live="polite" aria-relevant="additions">
</div>
</body>
</html>

View file

@ -69,13 +69,13 @@ declare_args() {
# Enables AC3/EAC3 audio handling in chromium. This includes demuxing,
# on-device decoding and bitstream passthrough as supported by device.
enable_platform_ac3_eac3_audio = true
enable_platform_ac3_eac3_audio = proprietary_codecs
enable_platform_mpeg_h_audio = true
enable_platform_mpeg_h_audio = proprietary_codecs
# Enables DTS/DTSX audio handling in chromium. This includes demuxing,
# on-device decoding and bitstream passthrough as supported by device.
enable_platform_dts_audio = true
enable_platform_dts_audio = proprietary_codecs
# Enable Dolby Vision demuxing. Enabled by default for Chromecast and Windows.
# Actual decoding must be provided by the platform. Since most Dolby Vision
@ -83,14 +83,14 @@ declare_args() {
#
# TODO(crbug.com/1336055): Revisit the default value for this setting as it
# applies to video-capable devices.
enable_platform_dolby_vision = true
enable_platform_dolby_vision = proprietary_codecs
# Enable platform support of encrypted Dolby Vision. The actual support
# depends on platform capability and is controlled by the run time feature
# kPlatformEncryptedDolbyVision. Clear Dolby Vision is not supported by
# default, unless overwritten by the run time feature
# kAllowClearDolbyVisionInMseWhenPlatformEncryptedDvEnabled.
enable_platform_encrypted_dolby_vision = true
enable_platform_encrypted_dolby_vision = proprietary_codecs
# Enable logging override, e.g. enable DVLOGs through level 2 at build time.
# On Cast devices, these are logged as INFO.
@ -101,15 +101,15 @@ declare_args() {
# Enable browser managed persistent metadata storage for EME persistent
# session and persistent usage record session.
enable_media_drm_storage = true
enable_media_drm_storage = proprietary_codecs
# Enable HLS manifest parser and demuxer.
enable_hls_demuxer = true
enable_hls_demuxer = proprietary_codecs
# Enable inclusion of the HEVC/H265 parser and also enable HEVC/H265 decoding
# with hardware acceleration assist. Enabled by default for fuzzer builds,
# ChromeOS builds with protected content support, Windows, Mac, and Android.
enable_hevc_parser_and_hw_decoder = true
# Windows, Mac, and Android.
enable_hevc_parser_and_hw_decoder = proprietary_codecs
# Enable inclusion of VVC/H.266 parser/demuxer, and also enable VVC/H.266 decoding
# with hardware acceleration provided by platform. Disabled by default for all builds.
@ -126,9 +126,9 @@ declare_args() {
# platform. Always enable this for Lacros, it determines support at runtime.
# TODO(crbug.com/1336055): Revisit the default value for this setting as it
# applies to video-capable devices.
enable_platform_hevc = true
enable_platform_hevc = proprietary_codecs
enable_mse_mpeg2ts_stream_parser = true
enable_mse_mpeg2ts_stream_parser = proprietary_codecs
}
declare_args() {
@ -137,6 +137,10 @@ declare_args() {
(is_win || is_chromeos || is_linux || is_apple || is_android)
}
assert(!enable_hls_demuxer || enable_mse_mpeg2ts_stream_parser,
"enable_mse_mpeg2ts_stream_parser required for enable_hls_demuxer")
assert(!enable_hls_demuxer || proprietary_codecs,
"proprietary_codecs required for enable_hls_demuxer")
assert(!enable_platform_ac3_eac3_audio || proprietary_codecs,
"proprietary_codecs required for enable_platform_ac3_eac3_audio")
assert(!enable_platform_mpeg_h_audio || proprietary_codecs,
@ -216,7 +220,7 @@ declare_args() {
declare_args() {
# Enables host verification for CDMs.
# Windows and Mac.
enable_cdm_host_verification = false
enable_cdm_host_verification = is_chrome_branded
# Enable Storage ID which is used by CDMs. This is only available with chrome
# branding, but may be overridden by other embedders.
@ -313,13 +317,9 @@ declare_args() {
}
declare_args() {
# Currently it is available on Win, Mac, Linux and ChromeOS since it requires
# the audio service to run in a separate process.
# ChromeOS(http://crbug/1407588):
# On CromeOS we are experimenting with the same set of systems CRAS runs on
# ie. is_chromeos_device.
chrome_wide_echo_cancellation_supported =
is_win || is_mac || is_linux || is_chromeos_device
# Currently it is available on Win, Mac and Linux, since it requires the audio
# service to run in a separate process.
chrome_wide_echo_cancellation_supported = is_win || is_mac || is_linux
}
# Do not expand this list without double-checking with OWNERS, this is a list of

View file

@ -1,4 +1,4 @@
# Copyright RobRich999 and Alex313031
# Copyright 2023 RobRich999 and Alex313031
# This file defines which warnings should be ignored while running clang's
# control flow integrity sanitizer, as run by the cfi_flags build target.

View file

@ -140,12 +140,16 @@ void NativeThemeGtk::NotifyOnNativeThemeUpdated() {
// Update the preferred contrast settings for the NativeThemeAura instance and
// notify its observers about the change.
ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi();
native_theme->SetPreferredContrast(
UserHasContrastPreference()
? ui::NativeThemeBase::PreferredContrast::kMore
: ui::NativeThemeBase::PreferredContrast::kNoPreference);
native_theme->NotifyOnNativeThemeUpdated();
for (ui::NativeTheme* native_theme :
{ui::NativeTheme::GetInstanceForNativeUi(),
ui::NativeTheme::GetInstanceForWeb()}) {
native_theme->SetPreferredContrast(
UserHasContrastPreference()
? ui::NativeThemeBase::PreferredContrast::kMore
: ui::NativeThemeBase::PreferredContrast::kNoPreference);
native_theme->set_prefers_reduced_transparency(UserHasContrastPreference());
native_theme->NotifyOnNativeThemeUpdated();
}
}
void NativeThemeGtk::OnThemeChanged(GtkSettings* settings,