M119 stage 3

This commit is contained in:
Alexander Frick 2023-12-29 03:50:27 -06:00
parent 0003b38081
commit 5be8ecac27
22 changed files with 746 additions and 305 deletions

View file

@ -18,8 +18,10 @@
#include "base/files/file_util.h" #include "base/files/file_util.h"
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/memory/raw_ref.h"
#include "base/path_service.h" #include "base/path_service.h"
#include "base/ranges/algorithm.h" #include "base/ranges/algorithm.h"
#include "base/strings/strcat.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
@ -39,7 +41,7 @@
#include "chrome/common/chrome_paths_internal.h" #include "chrome/common/chrome_paths_internal.h"
#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
#include "chrome/grit/chromium_strings.h" #include "chrome/grit/branded_strings.h"
#include "chrome/installer/util/install_util.h" #include "chrome/installer/util/install_util.h"
#include "chrome/installer/util/shell_util.h" #include "chrome/installer/util/shell_util.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
@ -67,7 +69,7 @@ const char16_t kReservedCharacters[] =
u"\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F"; u"\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F";
// The maximum number of characters allowed in profile shortcuts' file names. // The maximum number of characters allowed in profile shortcuts' file names.
// Warning: migration code will be needed if this is changed later, since // Warning: Migration code will be needed if this is changed later, since
// existing shortcuts might no longer be found if the name is generated // existing shortcuts might no longer be found if the name is generated
// differently than it was when a shortcut was originally created. // differently than it was when a shortcut was originally created.
const int kMaxProfileShortcutFileNameLength = 64; const int kMaxProfileShortcutFileNameLength = 64;
@ -231,8 +233,8 @@ bool IsChromeShortcut(const base::FilePath& path,
// that have the specified |command_line|. If |include_empty_command_lines| is // that have the specified |command_line|. If |include_empty_command_lines| is
// true Chrome desktop shortcuts with empty command lines will also be included. // true Chrome desktop shortcuts with empty command lines will also be included.
struct ChromeCommandLineFilter { struct ChromeCommandLineFilter {
const base::FilePath& chrome_exe; const raw_ref<const base::FilePath> chrome_exe;
const std::wstring& command_line; const raw_ref<const std::wstring> command_line;
bool include_empty_command_lines; bool include_empty_command_lines;
ChromeCommandLineFilter(const base::FilePath& chrome_exe, ChromeCommandLineFilter(const base::FilePath& chrome_exe,
@ -244,14 +246,15 @@ struct ChromeCommandLineFilter {
bool operator()(const base::FilePath& path) const { bool operator()(const base::FilePath& path) const {
std::wstring shortcut_command_line; std::wstring shortcut_command_line;
if (!IsChromeShortcut(path, chrome_exe, &shortcut_command_line)) if (!IsChromeShortcut(path, *chrome_exe, &shortcut_command_line)) {
return false; return false;
}
// TODO(asvitkine): Change this to build a CommandLine object and ensure all // TODO(asvitkine): Change this to build a CommandLine object and ensure all
// args from |command_line| are present in the shortcut's CommandLine. This // args from |command_line| are present in the shortcut's CommandLine. This
// will be more robust when |command_line| contains multiple args. // will be more robust when |command_line| contains multiple args.
if ((shortcut_command_line.empty() && include_empty_command_lines) || if ((shortcut_command_line.empty() && include_empty_command_lines) ||
(shortcut_command_line.find(command_line) != std::wstring::npos)) { (shortcut_command_line.find(*command_line) != std::wstring::npos)) {
return true; return true;
} }
return false; return false;
@ -762,13 +765,12 @@ bool ShortcutFilenameMatcher::IsCanonical(const std::wstring& filename) const {
std::wstring CreateProfileShortcutFlags(const base::FilePath& profile_path, std::wstring CreateProfileShortcutFlags(const base::FilePath& profile_path,
const bool incognito) { const bool incognito) {
std::wstring flags = base::StringPrintf( std::wstring flags =
L"--%ls=\"%ls\"", base::ASCIIToWide(switches::kProfileDirectory).c_str(), base::StrCat({L"--", base::ASCIIToWide(switches::kProfileDirectory),
profile_path.BaseName().value().c_str()); L"=\"", profile_path.BaseName().value(), L"\""});
if (incognito) { if (incognito) {
flags.append(base::StringPrintf( flags.append(L" --" + base::ASCIIToWide(switches::kIncognito));
L" --%ls", base::ASCIIToWide(switches::kIncognito).c_str()));
} }
return flags; return flags;

View file

@ -157,10 +157,6 @@ bool IsURLAllowedForSupervisedUser(const GURL& url, Profile* profile) {
return true; return true;
} }
bool ShouldShowLocalNewTab(Profile* profile) {
return true;
}
// Used to look up the URL to use for the New Tab page. Also tracks how we // Used to look up the URL to use for the New Tab page. Also tracks how we
// arrived at that URL so it can be logged with UMA. // arrived at that URL so it can be logged with UMA.
struct NewTabURLDetails { struct NewTabURLDetails {
@ -177,14 +173,16 @@ struct NewTabURLDetails {
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
const GURL local_url; const GURL local_url;
return NewTabURLDetails(local_url, NEW_TAB_URL_VALID);
#else #else
const GURL local_url(DefaultSearchProviderIsGoogle(profile) const bool default_is_google = DefaultSearchProviderIsGoogle(profile);
const GURL local_url(default_is_google
? chrome::kChromeUINewTabPageURL ? chrome::kChromeUINewTabPageURL
: chrome::kChromeUINewTabPageThirdPartyURL); : chrome::kChromeUINewTabPageThirdPartyURL);
#endif // if (default_is_google) {
if (ShouldShowLocalNewTab(profile))
return NewTabURLDetails(local_url, NEW_TAB_URL_VALID); return NewTabURLDetails(local_url, NEW_TAB_URL_VALID);
// }
#endif
const TemplateURL* template_url = const TemplateURL* template_url =
GetDefaultSearchProviderTemplateURL(profile); GetDefaultSearchProviderTemplateURL(profile);

View file

@ -17,18 +17,6 @@
kOsLinux, SINGLE_VALUE_TYPE("auto-dark-mode")}, kOsLinux, SINGLE_VALUE_TYPE("auto-dark-mode")},
#endif // BUILDFLAG(IS_LINUX) #endif // BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_WIN)
{"disable-aero",
"Disable Aero Window Frame Compositing",
"Use the classic Chromium theme designed to mimick \"Aero\" window controls. "
"Typically used when desktop composition is disabled or unavailable.",
kOsWin, SINGLE_VALUE_TYPE("disable-aero")},
#endif // BUILDFLAG(IS_WIN)
{"force-high-contrast",
"Enable High Contrast Mode",
"Enables high contrast mode for all Thorium instances.",
kOsAll, SINGLE_VALUE_TYPE("force-high-contrast")},
{"prominent-active-tab-titles", {"prominent-active-tab-titles",
"Prominent Active Tab Titles", "Prominent Active Tab Titles",
"Makes the active tab title bolder so that it is easier to identify.", "Makes the active tab title bolder so that it is easier to identify.",
@ -37,6 +25,19 @@
"Enable Tab Outlines", "Enable Tab Outlines",
"Force enables tab outline strokes, improving accessiblity in dark mode, incognito mode, and low contrast themes.", "Force enables tab outline strokes, improving accessiblity in dark mode, incognito mode, and low contrast themes.",
kOsAll, SINGLE_VALUE_TYPE("force-enable-tab-outlines")}, kOsAll, SINGLE_VALUE_TYPE("force-enable-tab-outlines")},
{"force-high-contrast",
"Enable High Contrast Mode",
"Enables high contrast mode for all Thorium instances.",
kOsAll, SINGLE_VALUE_TYPE("force-high-contrast")},
#if BUILDFLAG(IS_WIN)
{"disable-aero",
"Disable Aero Window Frame Compositing",
"Use the classic Chromium theme designed to mimick \"Aero\" window controls. "
"Typically used when desktop composition is disabled or unavailable.",
kOsWin, SINGLE_VALUE_TYPE("disable-aero")},
#endif // BUILDFLAG(IS_WIN)
{"custom-ntp", {"custom-ntp",
"Custom New Tab Page", "Custom New Tab Page",
"Allows setting a custom URL for the New Tab Page (NTP). Value can be internal (e.g. `about:blank` or `chrome://new-tab-page`), external (e.g. `example.com`), or local (e.g. `file:///tmp/startpage.html`). " "Allows setting a custom URL for the New Tab Page (NTP). Value can be internal (e.g. `about:blank` or `chrome://new-tab-page`), external (e.g. `example.com`), or local (e.g. `file:///tmp/startpage.html`). "

View file

@ -1,4 +1,4 @@
// Copyright 2023 The Chromium Authors and Alex313031 // Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
@ -9,6 +9,7 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h" #include "build/chromeos_buildflags.h"
#include "components/flags_ui/feature_entry.h" #include "components/flags_ui/feature_entry.h"
#include "ui/base/ui_base_features.h"
namespace features { namespace features {
@ -19,11 +20,15 @@ BASE_FEATURE(kAllowWindowDragUsingSystemDragDrop,
"AllowWindowDragUsingSystemDragDrop", "AllowWindowDragUsingSystemDragDrop",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) // Enables the use of WGC for the Eye Dropper screen capture.
BASE_FEATURE(kDesktopPWAsAppHomePage, BASE_FEATURE(kAllowEyeDropperWGCScreenCapture,
"DesktopPWAsAppHomePage", "AllowEyeDropperWGCScreenCapture",
base::FEATURE_ENABLED_BY_DEFAULT); #if BUILDFLAG(IS_WIN)
#endif // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif // BUILDFLAG(IS_WIN)
);
// Enables Chrome Labs menu in the toolbar. See https://crbug.com/1145666 // Enables Chrome Labs menu in the toolbar. See https://crbug.com/1145666
BASE_FEATURE(kChromeLabs, "ChromeLabs", base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kChromeLabs, "ChromeLabs", base::FEATURE_ENABLED_BY_DEFAULT);
@ -50,6 +55,11 @@ BASE_FEATURE(kExtensionsMenuInAppMenu,
"ExtensionsMenuInAppMenu", "ExtensionsMenuInAppMenu",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
bool IsExtensionMenuInRootAppMenu() {
return base::FeatureList::IsEnabled(kExtensionsMenuInAppMenu) ||
features::IsChromeRefresh2023();
}
#if !defined(ANDROID) #if !defined(ANDROID)
// Enables "Access Code Cast" UI. // Enables "Access Code Cast" UI.
BASE_FEATURE(kAccessCodeCastUI, BASE_FEATURE(kAccessCodeCastUI,
@ -65,7 +75,7 @@ BASE_FEATURE(kCameraMicPreview,
#endif #endif
// Enables displaying the submenu to open a link with a different profile if // Enables displaying the submenu to open a link with a different profile if
// there is at least one other active profile. // there is at least one other active profile. Fully rolled out on Desktop.
BASE_FEATURE(kDisplayOpenLinkAsProfile, BASE_FEATURE(kDisplayOpenLinkAsProfile,
"DisplayOpenLinkAsProfile", "DisplayOpenLinkAsProfile",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
@ -150,6 +160,10 @@ BASE_FEATURE(kSidePanelJourneysQueryless,
BASE_FEATURE(kSidePanelCompanionDefaultPinned, BASE_FEATURE(kSidePanelCompanionDefaultPinned,
"SidePanelCompanionDefaultPinned", "SidePanelCompanionDefaultPinned",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSidePanelPinning,
"SidePanelPinning",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif #endif
// Enables tabs to scroll in the tabstrip. https://crbug.com/951078 // Enables tabs to scroll in the tabstrip. https://crbug.com/951078
@ -223,6 +237,15 @@ const char kTabHoverCardImagesCrossfadePreviewAtParameterName[] =
const char kTabHoverCardAdditionalMaxWidthDelay[] = const char kTabHoverCardAdditionalMaxWidthDelay[] =
"additional_max_width_delay"; "additional_max_width_delay";
BASE_FEATURE(kTabOrganization,
"TabOrganization",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsTabOrganization() {
return IsChromeRefresh2023() &&
base::FeatureList::IsEnabled(features::kTabOrganization);
}
BASE_FEATURE(kTabSearchChevronIcon, BASE_FEATURE(kTabSearchChevronIcon,
"TabSearchChevronIcon", "TabSearchChevronIcon",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);

View file

@ -37,6 +37,14 @@ ReloadButton::ReloadButton(CommandUpdater* command_updater)
CreateMenuModel(), CreateMenuModel(),
nullptr), nullptr),
command_updater_(command_updater), command_updater_(command_updater),
reload_icon_(features::IsChromeRefresh2023()
? vector_icons::kReloadChromeRefreshIcon
: vector_icons::kReloadIcon),
reload_touch_icon_(kReloadTouchIcon),
stop_icon_(features::IsChromeRefresh2023()
? kNavigateStopChromeRefreshIcon
: kNavigateStopIcon),
stop_touch_icon_(kNavigateStopTouchIcon),
double_click_timer_delay_( double_click_timer_delay_(
base::Milliseconds(views::GetDoubleClickInterval())), base::Milliseconds(views::GetDoubleClickInterval())),
mode_switch_timer_delay_(base::Milliseconds(1350)) { mode_switch_timer_delay_(base::Milliseconds(1350)) {
@ -80,6 +88,24 @@ void ReloadButton::ChangeMode(Mode mode, bool force) {
} }
} }
void ReloadButton::SetVectorIconsForMode(Mode mode,
const gfx::VectorIcon& icon,
const gfx::VectorIcon& touch_icon) {
switch (mode) {
case Mode::kReload:
reload_icon_ = icon;
reload_touch_icon_ = touch_icon;
break;
case Mode::kStop:
stop_icon_ = icon;
stop_touch_icon_ = touch_icon;
break;
}
if (mode == visible_mode_) {
SetVisibleMode(visible_mode_);
}
}
bool ReloadButton::GetMenuEnabled() const { bool ReloadButton::GetMenuEnabled() const {
return menu_enabled_; return menu_enabled_;
} }
@ -154,16 +180,10 @@ void ReloadButton::SetVisibleMode(Mode mode) {
visible_mode_ = mode; visible_mode_ = mode;
switch (mode) { switch (mode) {
case Mode::kReload: case Mode::kReload:
SetVectorIcons(features::IsChromeRefresh2023() SetVectorIcons(*reload_icon_, *reload_touch_icon_);
? vector_icons::kReloadChromeRefreshIcon
: vector_icons::kReloadIcon,
kReloadTouchIcon);
break; break;
case Mode::kStop: case Mode::kStop:
SetVectorIcons(features::IsChromeRefresh2023() SetVectorIcons(*stop_icon_, *stop_touch_icon_);
? kNavigateStopChromeRefreshIcon
: kNavigateStopIcon,
kNavigateStopTouchIcon);
break; break;
} }
} }

View file

@ -1,4 +1,4 @@
// Copyright 2013 The Chromium Authors // Copyright 2023 The Chromium Authors and Alex313031
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
@ -43,6 +43,10 @@ class ReloadButton : public ToolbarButton,
void ChangeMode(Mode mode, bool force); void ChangeMode(Mode mode, bool force);
Mode visible_mode() const { return visible_mode_; } Mode visible_mode() const { return visible_mode_; }
void SetVectorIconsForMode(Mode mode,
const gfx::VectorIcon& icon,
const gfx::VectorIcon& touch_icon);
// Gets/Sets whether reload drop-down menu is enabled. // Gets/Sets whether reload drop-down menu is enabled.
bool GetMenuEnabled() const; bool GetMenuEnabled() const;
void SetMenuEnabled(bool enable); void SetMenuEnabled(bool enable);
@ -84,6 +88,12 @@ class ReloadButton : public ToolbarButton,
// This may be NULL when testing. // This may be NULL when testing.
raw_ptr<CommandUpdater, DanglingUntriaged> command_updater_; raw_ptr<CommandUpdater, DanglingUntriaged> command_updater_;
// Vector icons to use for both modes.
base::raw_ref<const gfx::VectorIcon> reload_icon_;
base::raw_ref<const gfx::VectorIcon> reload_touch_icon_;
base::raw_ref<const gfx::VectorIcon> stop_icon_;
base::raw_ref<const gfx::VectorIcon> stop_touch_icon_;
// The mode we should be in assuming no timers are running. // The mode we should be in assuming no timers are running.
Mode intended_mode_ = Mode::kReload; Mode intended_mode_ = Mode::kReload;

View file

@ -89,7 +89,9 @@ bool GetDefaultUserDataDirectory(base::FilePath* result) {
GetXDGDirectory(env.get(), kXdgConfigHomeEnvVar, kDotConfigDir); GetXDGDirectory(env.get(), kXdgConfigHomeEnvVar, kDotConfigDir);
} }
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) #if BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING)
std::string data_dir_basename = "google-chrome-for-testing";
#elif BUILDFLAG(GOOGLE_CHROME_BRANDING)
std::string data_dir_basename = "google-chrome"; std::string data_dir_basename = "google-chrome";
#else #else
std::string data_dir_basename = "thorium"; std::string data_dir_basename = "thorium";

View file

@ -8,9 +8,9 @@
#include <memory> #include <memory>
#include <string> #include <string>
#import "base/apple/foundation_util.h"
#include "base/base_paths.h" #include "base/base_paths.h"
#include "base/check_op.h" #include "base/check_op.h"
#import "base/mac/foundation_util.h"
#include "base/memory/free_deleter.h" #include "base/memory/free_deleter.h"
#include "base/path_service.h" #include "base/path_service.h"
#include "base/strings/sys_string_conversions.h" #include "base/strings/sys_string_conversions.h"
@ -25,12 +25,12 @@ namespace {
// chrome::OuterAppBundle(), which should be the only caller. // chrome::OuterAppBundle(), which should be the only caller.
NSBundle* OuterAppBundleInternal() { NSBundle* OuterAppBundleInternal() {
@autoreleasepool { @autoreleasepool {
if (!base::mac::AmIBundled()) { if (!base::apple::AmIBundled()) {
// If unbundled (as in a test), there's no app bundle. // If unbundled (as in a test), there's no app bundle.
return nil; return nil;
} }
if (!base::mac::IsBackgroundOnlyProcess()) { if (!base::apple::IsBackgroundOnlyProcess()) {
// Shortcut: in the browser process, just return the main app bundle. // Shortcut: in the browser process, just return the main app bundle.
return NSBundle.mainBundle; return NSBundle.mainBundle;
} }
@ -55,7 +55,9 @@ char* ProductDirNameForBundle(NSBundle* chrome_bundle) {
product_dir_name = [product_dir_name_ns fileSystemRepresentation]; product_dir_name = [product_dir_name_ns fileSystemRepresentation];
if (!product_dir_name) { if (!product_dir_name) {
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) #if BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING)
product_dir_name = "Google/Chrome for Testing";
#elif BUILDFLAG(GOOGLE_CHROME_BRANDING)
product_dir_name = "Google/Chrome"; product_dir_name = "Google/Chrome";
#else #else
product_dir_name = "Thorium"; product_dir_name = "Thorium";
@ -109,7 +111,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* result) {
} }
bool GetUserDocumentsDirectory(base::FilePath* result) { bool GetUserDocumentsDirectory(base::FilePath* result) {
return base::mac::GetUserDirectory(NSDocumentDirectory, result); return base::apple::GetUserDirectory(NSDocumentDirectory, result);
} }
void GetUserCacheDirectory(const base::FilePath& profile_dir, void GetUserCacheDirectory(const base::FilePath& profile_dir,
@ -136,19 +138,19 @@ void GetUserCacheDirectory(const base::FilePath& profile_dir,
} }
bool GetUserDownloadsDirectory(base::FilePath* result) { bool GetUserDownloadsDirectory(base::FilePath* result) {
return base::mac::GetUserDirectory(NSDownloadsDirectory, result); return base::apple::GetUserDirectory(NSDownloadsDirectory, result);
} }
bool GetUserMusicDirectory(base::FilePath* result) { bool GetUserMusicDirectory(base::FilePath* result) {
return base::mac::GetUserDirectory(NSMusicDirectory, result); return base::apple::GetUserDirectory(NSMusicDirectory, result);
} }
bool GetUserPicturesDirectory(base::FilePath* result) { bool GetUserPicturesDirectory(base::FilePath* result) {
return base::mac::GetUserDirectory(NSPicturesDirectory, result); return base::apple::GetUserDirectory(NSPicturesDirectory, result);
} }
bool GetUserVideosDirectory(base::FilePath* result) { bool GetUserVideosDirectory(base::FilePath* result) {
return base::mac::GetUserDirectory(NSMoviesDirectory, result); return base::apple::GetUserDirectory(NSMoviesDirectory, result);
} }
base::FilePath GetFrameworkBundlePath() { base::FilePath GetFrameworkBundlePath() {
@ -170,7 +172,7 @@ base::FilePath GetFrameworkBundlePath() {
path = path.DirName().DirName(); path = path.DirName().DirName();
DCHECK_EQ(path.BaseName().value(), "Contents"); DCHECK_EQ(path.BaseName().value(), "Contents");
if (base::mac::IsBackgroundOnlyProcess()) { if (base::apple::IsBackgroundOnlyProcess()) {
// |path| is Chromium.app/Contents/Frameworks/Chromium Framework.framework/ // |path| is Chromium.app/Contents/Frameworks/Chromium Framework.framework/
// Versions/X/Helpers/Chromium Helper.app/Contents. Go up three times to // Versions/X/Helpers/Chromium Helper.app/Contents. Go up three times to
// the versioned framework directory. // the versioned framework directory.
@ -200,11 +202,11 @@ base::FilePath GetFrameworkBundlePath() {
} }
bool GetLocalLibraryDirectory(base::FilePath* result) { bool GetLocalLibraryDirectory(base::FilePath* result) {
return base::mac::GetLocalDirectory(NSLibraryDirectory, result); return base::apple::GetLocalDirectory(NSLibraryDirectory, result);
} }
bool GetGlobalApplicationSupportDirectory(base::FilePath* result) { bool GetGlobalApplicationSupportDirectory(base::FilePath* result) {
return base::mac::GetLocalDirectory(NSApplicationSupportDirectory, result); return base::apple::GetLocalDirectory(NSApplicationSupportDirectory, result);
} }
NSBundle* OuterAppBundle() { NSBundle* OuterAppBundle() {

View file

@ -7,7 +7,6 @@
#include "base/ranges/algorithm.h" #include "base/ranges/algorithm.h"
#include "base/test/test_reg_util_win.h" #include "base/test/test_reg_util_win.h"
#include "build/branding_buildflags.h" #include "build/branding_buildflags.h"
#include "chrome/browser/chrome_for_testing/buildflags.h"
#include "chrome/chrome_elf/nt_registry/nt_registry.h" #include "chrome/chrome_elf/nt_registry/nt_registry.h"
#include "chrome/install_static/install_details.h" #include "chrome/install_static/install_details.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"

View file

@ -313,6 +313,14 @@
Open in Google Search Open in Google Search
</message> </message>
<!-- Editor Menu -->
<message name="IDS_EDITOR_MENU_PROMO_CARD_VIEW_DISMISS_BUTTON" desc="Label on the dismiss button in the dialog that is shown to introduce the Editor Menu feature.">
Dismiss
</message>
<message name="IDS_EDITOR_MENU_PROMO_CARD_VIEW_TELL_ME_MORE_BUTTON" desc="Label on the tell me more button in the dialog that is shown to introduce the Editor Menu feature.">
Tell me more
</message>
<!-- Multitask Menu --> <!-- Multitask Menu -->
<message name="IDS_MULTITASK_MENU_HALF_BUTTON_NAME" desc="Title of the half button on the multitask menu." meaning="Splits the associated window into half snapped state."> <message name="IDS_MULTITASK_MENU_HALF_BUTTON_NAME" desc="Title of the half button on the multitask menu." meaning="Splits the associated window into half snapped state.">
Split Split
@ -359,6 +367,13 @@
<message name="IDS_TABLET_MULTITASK_MENU_NUDGE_TEXT" desc="Text that is shown when the tablet multitask menu nudge is displayed."> <message name="IDS_TABLET_MULTITASK_MENU_NUDGE_TEXT" desc="Text that is shown when the tablet multitask menu nudge is displayed.">
Swipe down for more layout options Swipe down for more layout options
</message> </message>
<!-- ARC SDK Version Labels-->
<message name="IDS_ARC_SDK_VERSION_LABEL" desc="Label for Android SDK Version bundled with ARC">
SDK Version:
</message>
<message name="IDS_ARC_SDK_VERSION_UNKNOWN" desc="Message displayed when the Android SDK Version can not be found">
Unknown
</message>
<if expr="chromeos_ash"> <if expr="chromeos_ash">
<!-- The following strings are located here for accessibility from both //ash and //chrome --> <!-- The following strings are located here for accessibility from both //ash and //chrome -->
<message name="IDS_ENABLE_BLUETOOTH" desc="The message to display in the network list when Tether is enabled but Bluetooth is disabled."> <message name="IDS_ENABLE_BLUETOOTH" desc="The message to display in the network list when Tether is enabled but Bluetooth is disabled.">
@ -453,7 +468,7 @@
<message name="IDS_ASH_SHELF_SIGNIN_BUTTON" desc="Text shown on sign in button on enrollment screen."> <message name="IDS_ASH_SHELF_SIGNIN_BUTTON" desc="Text shown on sign in button on enrollment screen.">
Use as a personal device Use as a personal device
</message> </message>
<message name="IDS_ASH_SHELF_OS_INSTALL_BUTTON" desc="Text shown on install ThoriumOS Flex button on login screen."> <message name="IDS_ASH_SHELF_OS_INSTALL_BUTTON" desc="Text shown on install ThoriumOS button on login screen.">
Install ThoriumOS Install ThoriumOS
</message> </message>
<message name="IDS_ASH_SHELF_APP_LIST_LAUNCHER_TITLE" desc="The title used for the Ash Launcher in the Shelf (not mentioning 'Apps' since this is a general launcher)."> <message name="IDS_ASH_SHELF_APP_LIST_LAUNCHER_TITLE" desc="The title used for the Ash Launcher in the Shelf (not mentioning 'Apps' since this is a general launcher).">
@ -598,6 +613,9 @@
<message name="IDS_PRINT_MANAGEMENT_CLEAR_ALL_HISTORY_CONFIRMATION_TEXT" desc="A confirmation text that ask users for confirmation that they want to delete their print jobs. Also notifies users that their ongoing jobs will not be deleted."> <message name="IDS_PRINT_MANAGEMENT_CLEAR_ALL_HISTORY_CONFIRMATION_TEXT" desc="A confirmation text that ask users for confirmation that they want to delete their print jobs. Also notifies users that their ongoing jobs will not be deleted.">
Are you sure you want to clear all print history? Your ongoing print jobs will not be cleared. Are you sure you want to clear all print history? Your ongoing print jobs will not be cleared.
</message> </message>
<message name="IDS_PRINT_MANAGEMENT_CLEAR_ALL_HISTORY_DIALOG_TITLE" desc="Title displayed on dialog that asks user for confirmation that they want to delete all their print jobs.">
Clear all print history
</message>
<message name="IDS_PRINT_MANAGEMENT_CANCEL_BUTTON_LABEL" desc="The label for the button that closes the clear print history dialog."> <message name="IDS_PRINT_MANAGEMENT_CANCEL_BUTTON_LABEL" desc="The label for the button that closes the clear print history dialog.">
Cancel Cancel
</message> </message>
@ -1905,21 +1923,18 @@
<message name="IDS_ONC_TETHER_SIGNAL_STRENGTH" desc="Settings > Internet > Title of section which displays the cellular signal strength of another device which provides a tether hotspot for the current device to connect to. The signal strength is displayed as a string (e.g., Strong)"> <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH" desc="Settings > Internet > Title of section which displays the cellular signal strength of another device which provides a tether hotspot for the current device to connect to. The signal strength is displayed as a string (e.g., Strong)">
Signal strength Signal strength
</message> </message>
<message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_WEAK" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is weak. The strength value is 1 on a scale from 1 (min) to 5 (max)."> <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_NONE" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when there's no signal. The strength value is 1 on a scale from 1 (min) to 4 (max).">
Weak None
</message> </message>
<message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_OKAY" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is okay. The strength value is 2 on a scale from 1 (min) to 5 (max)."> <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_LOW" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is low. The strength value is 2 on a scale from 1 (min) to 4 (max).">
Okay Low
</message> </message>
<message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_GOOD" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is good. The strength value is 3 on a scale from 1 (min) to 5 (max)."> <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_MEDIUM" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is medium. The strength value is 3 on a scale from 1 (min) to 4 (max).">
Fine Medium
</message> </message>
<message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_STRONG" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is strong. The strength value is 4 on a scale from 1 (min) to 5 (max)."> <message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_STRONG" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is strong. The strength value is 4 on a scale from 1 (min) to 4 (max).">
Strong Strong
</message> </message>
<message name="IDS_ONC_TETHER_SIGNAL_STRENGTH_VERY_STRONG" desc="Settings > Internet > Label used to describe the signal strength of a device's cellular connection when the signal is very strong. The strength value is 5 on a scale from 1 (min) to 5 (max).">
Very strong
</message>
<message name="IDS_ONC_TETHER_CARRIER" desc="Settings > Internet > Title of section which displays the name of the cellular provider (e.g., Verizon) of another device which provides a tether hotspot for the current device to connect to. To be clear, the current device does not have cellular service; instead, another device has it and can provide data to the current device via a Wi-Fi hotspot."> <message name="IDS_ONC_TETHER_CARRIER" desc="Settings > Internet > Title of section which displays the name of the cellular provider (e.g., Verizon) of another device which provides a tether hotspot for the current device to connect to. To be clear, the current device does not have cellular service; instead, another device has it and can provide data to the current device via a Wi-Fi hotspot.">
Cellular provider Cellular provider
</message> </message>
@ -2711,7 +2726,7 @@
Earth Flow Earth Flow
</message> </message>
<message name="IDS_PERSONALIZATION_APP_TIME_OF_DAY_VIDEO_ALBUM_DESCRIPTION" desc="Common description all videos in the ambient section of the hub."> <message name="IDS_PERSONALIZATION_APP_TIME_OF_DAY_VIDEO_ALBUM_DESCRIPTION" desc="Common description all videos in the ambient section of the hub.">
<ph name="PRODUCT_NAME">$1<ex>Thoriumbook</ex></ph> exclusive Exclusive to <ph name="PRODUCT_NAME">$1<ex>Thoriumbook</ex></ph>
</message> </message>
<message name="IDS_PERSONALIZATION_APP_TIME_OF_DAY_BANNER_TITLE" desc="Title for the Time of Day promo banner."> <message name="IDS_PERSONALIZATION_APP_TIME_OF_DAY_BANNER_TITLE" desc="Title for the Time of Day promo banner.">
Exclusive <ph name="PRODUCT_NAME">$1<ex>Thoriumbook</ex></ph> assets now available Exclusive <ph name="PRODUCT_NAME">$1<ex>Thoriumbook</ex></ph> assets now available
@ -3217,6 +3232,12 @@
<message name="IDS_SHIMLESS_RMA_DONE_BUTTON" translateable="false" desc="Default text for Done button when action is completed for closing a dialog."> <message name="IDS_SHIMLESS_RMA_DONE_BUTTON" translateable="false" desc="Default text for Done button when action is completed for closing a dialog.">
Done Done
</message> </message>
<message name="IDS_SHIMLESS_RMA_INSTALL_BUTTON" translateable="false" desc="Default text for button to install things.">
Install
</message>
<message name="IDS_SHIMLESS_RMA_ACCEPT_BUTTON" translateable="false" desc="Default text for button to accept a request.">
Accept
</message>
<!-- Exit dialog --> <!-- Exit dialog -->
<message name="IDS_SHIMLESS_RMA_EXIT_DIALOG_TITLE" translateable="false" desc="Title for the exit dialog."> <message name="IDS_SHIMLESS_RMA_EXIT_DIALOG_TITLE" translateable="false" desc="Title for the exit dialog.">
Exit repair? Exit repair?
@ -3740,6 +3761,34 @@
<message name="IDS_SHIMLESS_RMA_UPDATE_OS_ALT_TEXT" translateable="false" desc="Alt text for illustration showing an hourglass representing updating the OS."> <message name="IDS_SHIMLESS_RMA_UPDATE_OS_ALT_TEXT" translateable="false" desc="Alt text for illustration showing an hourglass representing updating the OS.">
Update OS Update OS
</message> </message>
<!-- 3p diagnostics -->
<message name="IDS_SHIMLESS_RMA_3P_FIND_INSTALLABLE_DIALOG_TITLE" translateable="false" desc="Dialog title for asking whether users want to install manufacturer diagnostics app.">
Install <ph name="OEM_NAME">$1<ex>Google</ex></ph> diagnostics app?
</message>
<message name="IDS_SHIMLESS_RMA_3P_FIND_INSTALLABLE_DIALOG_MESSAGE" translateable="false" desc="Dialog message for asking whether users want to install manufacturer diagnostics app.">
There is an installable app at <ph name="APP_PATH">$1<ex>/usr/local/diag.swbn</ex></ph>
</message>
<message name="IDS_SHIMLESS_RMA_3P_REVIEW_PERMISSION_DIALOG_TITLE" translateable="false" desc="Dialog title for users to review the permission of the manufacturer diagnostics app before install.">
Review <ph name="APP_NAME">$1<ex>Google's diagnostic reference app</ex></ph> permissions
</message>
<message name="IDS_SHIMLESS_RMA_3P_REVIEW_PERMISSION_DIALOG_MESSAGE_PREFIX" translateable="false" desc="Dialog message prefix for users to review the permission of the manufacturer diagnostics app before install.">
It can:
</message>
<message name="IDS_SHIMLESS_RMA_3P_FAILED_TO_INSTALL_DIALOG_TITLE" translateable="false" desc="Dialog title for telling users that manufacturer diagnostics app couldn't be installed.">
Couldn't install <ph name="OEM_NAME">$1<ex>Google</ex></ph> diagnostics app
</message>
<message name="IDS_SHIMLESS_RMA_3P_CHECK_WITH_OEM_DIALOG_MESSAGE" translateable="false" desc="Dialog message for telling users to check with the device manufacturer for errors related to manufacturer diagnostics app.">
Check with the device manufacturer
</message>
<message name="IDS_SHIMLESS_RMA_3P_NOT_INSTALLED_DIALOG_TITLE" translateable="false" desc="Dialog title for telling users that manufacturer diagnostics app isn't installed.">
<ph name="OEM_NAME">$1<ex>Google</ex></ph> diagnostics app is not installed
</message>
<message name="IDS_SHIMLESS_RMA_3P_FAILED_TO_LOAD_DIALOG_TITLE" translateable="false" desc="Dialog title for telling users that installed manufacturer diagnostics app couldn't be loaded.">
Couldn't load <ph name="OEM_NAME">$1<ex>Google</ex></ph> diagnostics app
</message>
<message name="IDS_SHIMLESS_RMA_3P_FAILED_TO_LOAD_DIALOG_MESSAGE" translateable="false" desc="Dialog message for telling users that installed manufacturer diagnostics app couldn't be loaded.">
Try installing the app again
</message>
<!-- Peripheral Firmware Update --> <!-- Peripheral Firmware Update -->
<message name="IDS_FIRMWARE_TITLE_TEXT" desc="The title of the Firmware update app."> <message name="IDS_FIRMWARE_TITLE_TEXT" desc="The title of the Firmware update app.">
@ -3814,15 +3863,6 @@
<message name="IDS_FIRMWARE_PROCEED_UPDATE_CONFIRMATION" desc="Information text to users that to proceed with the firmware update that they need to click on the Next button."> <message name="IDS_FIRMWARE_PROCEED_UPDATE_CONFIRMATION" desc="Information text to users that to proceed with the firmware update that they need to click on the Next button.">
To proceed with the update, click Next. To proceed with the update, click Next.
</message> </message>
<!-- ARC SDK Version Labels-->
<message name="IDS_ARC_SDK_VERSION_LABEL" desc="Label for Android SDK Version bundled with ARC">
SDK Version:
</message>
<message name="IDS_ARC_SDK_VERSION_UNKNOWN" desc="Message displayed when the Android SDK Version can not be found">
Unknown
</message>
<!-- Feedback Tool-->
<!-- Search Page --> <!-- Search Page -->
<message name="IDS_FEEDBACK_TOOL_CONTINUE_BUTTON_LABEL" desc="Label of the continue button."> <message name="IDS_FEEDBACK_TOOL_CONTINUE_BUTTON_LABEL" desc="Label of the continue button.">
Continue Continue
@ -3923,6 +3963,9 @@
<message name="IDS_FEEDBACK_TOOL_PRIVACY_NOTE" desc="Text for the privacy note included in the feedback app"> <message name="IDS_FEEDBACK_TOOL_PRIVACY_NOTE" desc="Text for the privacy note included in the feedback app">
Go to the <ph name="BEGIN_LINK1">&lt;a id="legalHelpPageUrl"&gt;</ph>Legal Help page<ph name="END_LINK1">&lt;/a&gt;</ph> to request content changes for legal reasons. Some account and system information may be sent to Google. We will use the information you give us to help address technical issues and to improve our services, subject to our <ph name="BEGIN_LINK2">&lt;a id="privacyPolicyUrl"&gt;</ph>Privacy Policy<ph name="END_LINK2">&lt;/a&gt;</ph> and <ph name="BEGIN_LINK3">&lt;a id="termsOfServiceUrl"&gt;</ph>Terms of Service<ph name="END_LINK3">&lt;/a&gt;</ph>. Go to the <ph name="BEGIN_LINK1">&lt;a id="legalHelpPageUrl"&gt;</ph>Legal Help page<ph name="END_LINK1">&lt;/a&gt;</ph> to request content changes for legal reasons. Some account and system information may be sent to Google. We will use the information you give us to help address technical issues and to improve our services, subject to our <ph name="BEGIN_LINK2">&lt;a id="privacyPolicyUrl"&gt;</ph>Privacy Policy<ph name="END_LINK2">&lt;/a&gt;</ph> and <ph name="BEGIN_LINK3">&lt;a id="termsOfServiceUrl"&gt;</ph>Terms of Service<ph name="END_LINK3">&lt;/a&gt;</ph>.
</message> </message>
<message name="IDS_FEEDBACK_TOOL_PRIVACY_NOTE_LOGGED_OUT" desc="Text for the privacy note included in the feedback app when users are logged out">
Some account and system information may be sent to Google. We use this information to help address technical issues and improve our services, subject to our Privacy Policy (<ph name="privacyPolicyUrl">$1<ex>https://policies.google.com/privacy</ex></ph>) and Terms of Service (<ph name="termsOfServiceUrl">$2<ex>https://policies.google.com/terms</ex></ph>). To request content changes, go to Legal Help (<ph name="legalHelpPageUrl">$3<ex>https://support.google.com/legal/answer/3110420</ex></ph>).
</message>
<message name="IDS_FEEDBACK_TOOL_MAY_BE_SHARED_NOTE" desc="Text to inform all users that their feedback may be shared"> <message name="IDS_FEEDBACK_TOOL_MAY_BE_SHARED_NOTE" desc="Text to inform all users that their feedback may be shared">
We may share feedback submitted via this form with our partners to troubleshoot bugs and other issues that you report to us. Dont include sensitive information such as passwords. We may share feedback submitted via this form with our partners to troubleshoot bugs and other issues that you report to us. Dont include sensitive information such as passwords.
</message> </message>
@ -4023,8 +4066,12 @@
<message name="IDS_SHORTCUT_CUSTOMIZATION_CANCEL" desc="Used to cancel action in various modals"> <message name="IDS_SHORTCUT_CUSTOMIZATION_CANCEL" desc="Used to cancel action in various modals">
Cancel Cancel
</message> </message>
<!-- TODO(b/286268215): Translate this string -->
<message name="IDS_SHORTCUT_CUSTOMIZATION_EDIT" desc="Used to edit action in various modals" translateable="false">
Edit
</message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_EDIT_VIEW_STATUS_MESSAGE" desc="Instructions to user when they're inputting a new shortcut"> <message name="IDS_SHORTCUT_CUSTOMIZATION_EDIT_VIEW_STATUS_MESSAGE" desc="Instructions to user when they're inputting a new shortcut">
Press 1-4 modifiers and 1 other key on your keyboard Press 1-4 modifiers and 1 other key on your keyboard. To exit editing mode, press alt + esc.
</message> </message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_RESTORE_DEFAULT_ERROR_MESSAGE" desc="Description text shown to users that their default shortcut is used by another shortcut action"> <message name="IDS_SHORTCUT_CUSTOMIZATION_RESTORE_DEFAULT_ERROR_MESSAGE" desc="Description text shown to users that their default shortcut is used by another shortcut action">
Shortcut is being used for "<ph name="CONFLICT_ACCEL_NAME">$1<ex>BRIGHTNESS_UP</ex></ph>". Edit or remove to resolve the conflict. Shortcut is being used for "<ph name="CONFLICT_ACCEL_NAME">$1<ex>BRIGHTNESS_UP</ex></ph>". Edit or remove to resolve the conflict.
@ -4047,6 +4094,12 @@
<message name="IDS_SHORTCUT_CUSTOMIZATION_MAX_ACCELERATORS_REACHED_HINT" desc="The hint message that displays when there are five accelerators in the dialog"> <message name="IDS_SHORTCUT_CUSTOMIZATION_MAX_ACCELERATORS_REACHED_HINT" desc="The hint message that displays when there are five accelerators in the dialog">
You can only customize 5 shortcuts. Delete a shortcut to add a new one. You can only customize 5 shortcuts. Delete a shortcut to add a new one.
</message> </message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_ONE_OF_TWO_CHOICES" desc="Add a separator or in bwtween two shortcuts">
<ph name="shorctcut1">$1<ex>Ctrl A</ex></ph> or <ph name="shorctcut2">$2<ex>Ctrl B</ex></ph>
</message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_ARIA_LABEL_FOR_A_KEY" desc="The aria lable to annouce a key">
the <ph name="key">$1<ex>ctrl</ex></ph> key
</message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_SHIFT_ONLY_NOT_ALLOWED_STATUS_MESSAGE" <message name="IDS_SHORTCUT_CUSTOMIZATION_SHIFT_ONLY_NOT_ALLOWED_STATUS_MESSAGE"
desc="The status message that displays when user press a key combination desc="The status message that displays when user press a key combination
that use only 'shift' as modifier"> that use only 'shift' as modifier">
@ -4062,6 +4115,16 @@
that includes a top row key but does not include the search key"> that includes a top row key but does not include the search key">
Shortcut with top row keys need to include the search key. Shortcut with top row keys need to include the search key.
</message> </message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_SEACH_WITH_FUNCTION_KEY_NOT_ALLOWED_STATUS_MESSAGE"
desc="The status message that displays when user press a key combination
that includes the search key with a function key."
translateable="false">
Shortcut with function keys and search are not allowed. Press a new shortcut.
</message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_NON_SEARCH_SHORTCUT_WARNING"
desc="The status (warning) message that displays when user attempts to input a shortcut that does not include the search/meta key.">
Shortcut without search key might conflict with some app's shortcut. Press this shortcut again to continue using it, or press a new shortcut using the search key.
</message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_SEARCH_NO_RESULTS" desc="Text description of a search that has no results."> <message name="IDS_SHORTCUT_CUSTOMIZATION_SEARCH_NO_RESULTS" desc="Text description of a search that has no results.">
No search results found No search results found
</message> </message>
@ -4071,9 +4134,12 @@
<message name="IDS_SHORTCUT_CUSTOMIZATION_SEARCH_PLACEHOLDER_LABEL" desc="Placeholder text shown in search input field before user has typed anything."> <message name="IDS_SHORTCUT_CUSTOMIZATION_SEARCH_PLACEHOLDER_LABEL" desc="Placeholder text shown in search input field before user has typed anything.">
Search shortcuts Search shortcuts
</message> </message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_SEARCH_ACCELERATOR_TEXT_DIVIDER" desc="The text shown between multiple shortcut keys in search results."> <message name="IDS_SHORTCUT_CUSTOMIZATION_ACCELERATOR_TEXT_DIVIDER" desc="The text shown between multiple shortcut keys.">
or or
</message> </message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_ACCELERATOR_ROW_A11Y" desc="Accessibility text for the selected accelerator row.">
<ph name="DESCRIPTION">$1<ex>Open notifications</ex></ph>, <ph name="ACCELERATOR_INFO">$2<ex>ctrl T</ex></ph>.
</message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_SEARCH_RESULT_ROW_A11Y_RESULT_SELECTED" desc="ThoriumVox alert to indicate the position number of a selected result in a list of search results and the selected result text itself, and that the user can press enter to navigate to section described by the search result."> <message name="IDS_SHORTCUT_CUSTOMIZATION_SEARCH_RESULT_ROW_A11Y_RESULT_SELECTED" desc="ThoriumVox alert to indicate the position number of a selected result in a list of search results and the selected result text itself, and that the user can press enter to navigate to section described by the search result.">
Search result <ph name="LIST_POSITION">$1<ex>1</ex></ph> of <ph name="LIST_SIZE">$2<ex>2</ex></ph>: <ph name="SEARCH_RESULT_TEXT">$3<ex>Open new tab, ctrl T</ex></ph>. Press Enter to navigate to shortcut. Search result <ph name="LIST_POSITION">$1<ex>1</ex></ph> of <ph name="LIST_SIZE">$2<ex>2</ex></ph>: <ph name="SEARCH_RESULT_TEXT">$3<ex>Open new tab, ctrl T</ex></ph>. Press Enter to navigate to shortcut.
</message> </message>
@ -4241,7 +4307,19 @@
previous track previous track
</message> </message>
<!-- TODO(b/286268215): Translate this string --> <!-- TODO(b/286268215): Translate this string -->
<message name="IDS_SHORTCUT_CUSTOMIZATION_ICON_LABEL_MENU" desc="The text read aloud by the screen reader describing the keyboard icon 'menu." translateable="false"> <message name="IDS_SHORTCUT_CUSTOMIZATION_ICON_LABEL_BROWSER_HOME" desc="The text read aloud by the screen reader describing the keyboard icon 'browser home'." translateable="false">
browser home
</message>
<!-- TODO(b/286268215): Translate this string -->
<message name="IDS_SHORTCUT_CUSTOMIZATION_ICON_LABEL_LAUNCH_MAIL" desc="The text read aloud by the screen reader describing the keyboard icon 'launch mail'." translateable="false">
launch mail
</message>
<!-- TODO(b/286268215): Translate this string -->
<message name="IDS_SHORTCUT_CUSTOMIZATION_ICON_LABEL_STAND_BY" desc="The text read aloud by the screen reader describing the keyboard icon 'lock'." translateable="false">
lock
</message>
<!-- TODO(b/286268215): Translate this string -->
<message name="IDS_SHORTCUT_CUSTOMIZATION_ICON_LABEL_CONTEXT_MENU" desc="The text read aloud by the screen reader describing the keyboard icon 'context menu." translateable="false">
menu menu
</message> </message>
<message name="IDS_SHORTCUT_CUSTOMIZATION_ICON_LABEL_MICROPHONE_MUTE_TOGGLE" desc="The text read aloud by the screen reader describing the keyboard icon 'toggle microphone mute'."> <message name="IDS_SHORTCUT_CUSTOMIZATION_ICON_LABEL_MICROPHONE_MUTE_TOGGLE" desc="The text read aloud by the screen reader describing the keyboard icon 'toggle microphone mute'.">
@ -4391,6 +4469,9 @@
<message name="IDS_SETTINGS_APN_WARNING_PROMPT_FOR_DISABLE_REMOVE" desc="Warning Prompt describing why the APN can't be disabled or removed."> <message name="IDS_SETTINGS_APN_WARNING_PROMPT_FOR_DISABLE_REMOVE" desc="Warning Prompt describing why the APN can't be disabled or removed.">
Can't disable or remove this APN. Make sure enabled attach APNs are disabled or removed. Can't disable or remove this APN. Make sure enabled attach APNs are disabled or removed.
</message> </message>
<message name="IDS_SETTINGS_APN_WARNING_PROMPT_FOR_ENABLE" desc="Warning Prompt describing why the APN can't be enabled.">
Cant enable this APN. Make sure a default APN is added.
</message>
<message name="IDS_SETTINGS_APN_DIALOG_ADD" desc="Text used for adding a new APN."> <message name="IDS_SETTINGS_APN_DIALOG_ADD" desc="Text used for adding a new APN.">
Add Add
</message> </message>

View file

@ -43,6 +43,10 @@
</if> </if>
</if> </if>
<message name="IDS_AUTOFILL_GOOGLE_PAY_LOGO_ACCESSIBLE_NAME" desc="The accessible name for the Google Pay logo.">
Google Pay logo
</message>
<!-- Autofill Credit Card Assisted Filling Infobar --> <!-- Autofill Credit Card Assisted Filling Infobar -->
<if expr="is_android"> <if expr="is_android">
<message name="IDS_AUTOFILL_CREDIT_CARD_FILLING_INFOBAR_TITLE" desc="Title text for the Autofill Credit Card Assisted Filling Infobar"> <message name="IDS_AUTOFILL_CREDIT_CARD_FILLING_INFOBAR_TITLE" desc="Title text for the Autofill Credit Card Assisted Filling Infobar">
@ -112,9 +116,15 @@
</message> </message>
</else> </else>
</if> </if>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_LOCAL" desc="Title text for the Autofill save card prompt when the card is to be saved locally. The prompt can be either a bubble or an infobar."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_LOCAL" desc="Title text for the Autofill save card prompt to save a card locally. It is shown when a new card is used during checkout, and sync is not enabled. This prompt title is shown on both the Desktop bubble and the Android infobar.">
Save card? Save card?
</message> </message>
<message name="IDS_AUTOFILL_SAVE_CARD_ONLY_PROMPT_EXPLANATION_LOCAL" desc="Explanation text for the Autofill save card prompt to save a card locally. It is shown when a new card is used during checkout, and sync is not enabled. This prompt description is shown on both the Desktop bubble and the Android infobar.">
To pay faster next time, save your card to your device
</message>
<message name="IDS_AUTOFILL_SAVE_CARD_WITH_CVC_PROMPT_EXPLANATION_LOCAL" desc="Explanation text for the Autofill save card prompt to save a card with CVC locally. It is shown when a new card is used during checkout, and sync is not enabled. This prompt description is shown on both the Desktop bubble and the Android infobar.">
To pay faster next time, save your card, and security code to your device
</message>
<message name="IDS_AUTOFILL_SAVE_CVC_PROMPT_TITLE_LOCAL" desc="Title text for the Autofill save CVC prompt that offers to save CVC for existing local cards. This prompt is shown if a CVC is detected for an existing local card on form submission."> <message name="IDS_AUTOFILL_SAVE_CVC_PROMPT_TITLE_LOCAL" desc="Title text for the Autofill save CVC prompt that offers to save CVC for existing local cards. This prompt is shown if a CVC is detected for an existing local card on form submission.">
Save security code? Save security code?
</message> </message>
@ -126,13 +136,13 @@
</message> </message>
<if expr="is_linux"> <if expr="is_linux">
<then> <then>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt is a bubble.">
Do you want to save this card to your Google Account? Do you want to save this card in your Google Account?
</message> </message>
</then> </then>
<else> <else>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble, a bottom sheet, or an infobar.">
Do you want to save this card to your Google Account and on this device? Do you want to save this card in your Google Account and on this device?
</message> </message>
</else> </else>
</if> </if>
@ -151,6 +161,26 @@
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD_V5" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, based on the results for the Save Card UI experiment. The prompt can be either a bubble or an infobar."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD_V5" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, based on the results for the Save Card UI experiment. The prompt can be either a bubble or an infobar.">
Save card? Save card?
</message> </message>
<message name="IDS_AUTOFILL_SAVE_CVC_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill CVC upload prompt that offers to upload CVC to the Sync server for existing server cards. This prompt is shown if a CVC is detected for an existing server card on form submission.">
Save security code?
</message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_CARD_DESCRIPTION" desc="Accessibility description for the credit card chip containing the network icon and card labels on the Autofill save card prompt when the card is to be saved (either locally or by uploading it to Google Payments).">
<ph name="CARD_NETWORK_NAME">$1<ex>Visa</ex></ph>, <ph name="CARD_LAST_FOUR_DIGITS">$2<ex>4444</ex></ph>, expires <ph name="CARD_EXPIRATION">$3<ex>01/2025</ex></ph>
</message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_CARD_DESCRIPTION_WITH_NICKNAME" desc="Accessibility description for the credit card chip containing the network icon and card labels on the Autofill save card prompt when the card is to be saved (either locally or by uploading it to Google Payments) when the card has a nickname set by the user.">
<ph name="CARD_NICKNAME">$1<ex>Groceries</ex></ph>, <ph name="CARD_NETWORK_NAME">$2<ex>Visa</ex></ph>, <ph name="CARD_LAST_FOUR_DIGITS">$3<ex>4444</ex></ph>, expires <ph name="CARD_EXPIRATION">$4<ex>01/2025</ex></ph>
</message>
<if expr="is_android">
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_BOTTOM_SHEET_CONTENT_DESCRIPTION" desc="The description of the Autofill save card prompt bottom sheet. 'Swipe down to close.' will automatically by appended." formatter_data="android_java">
Save card
</message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_BOTTOM_SHEET_FULL_HEIGHT" desc="The announcement when the Autofill save card prompt bottom sheet is opened." formatter_data="android_java">
Save card opened at full height.
</message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_BOTTOM_SHEET_CLOSED" desc="The announcement when the Autofill save card prompt bottom sheet is closed." formatter_data="android_java">
Save card closed.
</message>
</if>
<message name="IDS_AUTOFILL_CARD_SAVED" desc="Title text for the Autofill save card manager bubble when the card has been saved either locally or to Google Payments. Also label for icon animation."> <message name="IDS_AUTOFILL_CARD_SAVED" desc="Title text for the Autofill save card manager bubble when the card has been saved either locally or to Google Payments. Also label for icon animation.">
Card saved Card saved
</message> </message>
@ -169,8 +199,8 @@
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar.">
Pay quickly on sites and apps across devices using cards you have saved with Google. Pay quickly on sites and apps across devices using cards you have saved with Google.
</message> </message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V3" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, according to April 2018 UI guidelines. The prompt will be shown in a bubble below the omnibox."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V3" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, according to April 2018 UI guidelines, and minorly updated again in September 2023. The prompt will be shown either in a bubble below the omnibox, or in a bottom sheet, or in an infobar.">
To pay faster next time, save your card and billing address to your Google Account. To pay faster next time, save your card and billing address in your Google Account
</message> </message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_EXPERIMENT_ENCRYPTED_AND_SECURE" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments. The prompt will be shown in a bubble below the omnibox. This is an experiment text and may change in the future."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_EXPERIMENT_ENCRYPTED_AND_SECURE" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments. The prompt will be shown in a bubble below the omnibox. This is an experiment text and may change in the future.">
Itll be encrypted, saved securely and the CVC is never stored. Itll be encrypted, saved securely and the CVC is never stored.
@ -178,12 +208,21 @@
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_EXPERIMENT_FASTER_AND_PROTECTED" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments. The prompt will be shown in a bubble below the omnibox. This is an experiment text and may change in the future."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_EXPERIMENT_FASTER_AND_PROTECTED" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments. The prompt will be shown in a bubble below the omnibox. This is an experiment text and may change in the future.">
Pay faster next time and protect your card with Googles industry-leading security. Pay faster next time and protect your card with Googles industry-leading security.
</message> </message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V3_WITH_NAME" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, according to April 2018 UI guidelines. The prompt will be shown in a bubble below the omnibox."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V3_WITH_NAME" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, according to April 2018 UI guidelines, and minorly updated again in September 2023. The prompt will be shown either in a bubble below the omnibox, or in a bottom sheet, or in an infobar.">
To pay faster next time, save your card, name, and billing address to your Google Account. To pay faster next time, save your card, name, and billing address in your Google Account
</message> </message>
<message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V4" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, based on the results for the Save Card UI experiment. The prompt will be shown in a bubble below the omnibox."> <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_UPLOAD_EXPLANATION_V4" desc="Explanation of the effect of the Autofill save card prompt when the card is to be saved by uploading it to Google Payments, based on the results for the Save Card UI experiment. The prompt will be shown in a bubble below the omnibox.">
Pay faster next time and protect your card with Googles industry-leading security. Pay faster next time and protect your card with Googles industry-leading security.
</message> </message>
<message name="IDS_AUTOFILL_SAVE_CVC_PROMPT_EXPLANATION_UPLOAD" desc="Explanation text for the Autofill save CVC prompt that offers to upload CVC to the Sync server for existing server cards. This prompt is shown if a CVC is detected for an existing server card on form submission.">
For faster checkout, save the CVC for this card in your Google Account
</message>
<if expr="is_android">
<message name="IDS_AUTOFILL_SAVE_CARD_WITH_CVC_PROMPT_EXPLANATION_UPLOAD" desc="Explanation for the effect of the Autofill save card prompt when the card is to be saved along with the CVC by uploading it to Google Payments. The prompt will be shown in a bottom sheet on Android devices.">
To pay faster next time, save your card, security code, and billing address in your Google Account
</message>
</if>
<if expr="is_ios"> <if expr="is_ios">
<then> <then>
@ -223,9 +262,6 @@
<!-- Autofill Local card migration bubble or dialog --> <!-- Autofill Local card migration bubble or dialog -->
<if expr="not is_ios and not is_android"> <if expr="not is_ios and not is_android">
<message name="IDS_AUTOFILL_GOOGLE_PAY_LOGO_ACCESSIBLE_NAME" desc="The accessible name for the Google Pay logo in the local card migration bubble or dialog.">
Google Pay logo
</message>
<message name="IDS_AUTOFILL_LOCAL_CARD_MIGRATION_ANIMATION_LABEL" desc="The text displayed in the migration pending animation in the omnibox. The animation will be triggered after the user consented to the migration offer."> <message name="IDS_AUTOFILL_LOCAL_CARD_MIGRATION_ANIMATION_LABEL" desc="The text displayed in the migration pending animation in the omnibox. The animation will be triggered after the user consented to the migration offer.">
Saving cards... Saving cards...
</message> </message>
@ -294,6 +330,32 @@
</message> </message>
</if> </if>
<!-- Autofill error dialog related strings -->
<message name="IDS_AUTOFILL_MASKED_SERVER_CARD_RISK_BASED_UNMASKING_ERROR_TITLE" desc="Text to be displayed as the title of the error dialog during credit card risk-based unmasking.">
Something went wrong
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_TEMPORARY_ERROR_TITLE" desc="Text to be displayed as the title of the error dialog for virtual card temporary error.">
Something went wrong
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_PERMANENT_ERROR_TITLE" desc="Text to be displayed as the title of the error dialog for virtual card permanent error.">
Virtual card not available
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_TEMPORARY_ERROR_DESCRIPTION" desc="Text to be displayed as the description of the error dialog for virtual card temporary error.">
Virtual card is not available right now, please try again later
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_PERMANENT_ERROR_DESCRIPTION" desc="Text to be displayed as the description of the error dialog for virtual card permanent error.">
Virtual card is not available right now, please contact your bank
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_NOT_ELIGIBLE_ERROR_TITLE" desc="Text to be displayed as the title of the error dialog for virtual card permanent error">
Not eligible for virtual card
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_NOT_ELIGIBLE_ERROR_DESCRIPTION" desc="Text to be displayed as the description of the error dialog for virtual card permanent error">
This card is not eligible for virtual card number.
</message>
<message name="IDS_AUTOFILL_ERROR_DIALOG_NEGATIVE_BUTTON_LABEL" desc="Label for the negative button for the error dialog.">
Close
</message>
<!-- Autofill credit card unmask prompt --> <!-- Autofill credit card unmask prompt -->
<message name="IDS_AUTOFILL_CARD_UNMASK_PROMPT_ERROR_TRY_AGAIN_CVC" desc="Error message that encourages the user to try to re-enter their credit card CVC after a previous failed attempt." formatter_data="android_java"> <message name="IDS_AUTOFILL_CARD_UNMASK_PROMPT_ERROR_TRY_AGAIN_CVC" desc="Error message that encourages the user to try to re-enter their credit card CVC after a previous failed attempt." formatter_data="android_java">
Check your CVC and try again Check your CVC and try again
@ -347,7 +409,10 @@
Enter your security code for <ph name="CREDIT_CARD">$1<ex>Visa - 5679</ex></ph> Enter your security code for <ph name="CREDIT_CARD">$1<ex>Visa - 5679</ex></ph>
</message> </message>
<message name="IDS_AUTOFILL_CARD_UNMASK_PROGRESS_DIALOG_TITLE" desc="Title for the progress dialog that occurs during specific card unmasking flows, for example VCN unmasking. It is shown after the user selects a card, and will be dismissed once we receive a server response that denotes we can continue to the next step. The main purpose of the dialog is to inform the user that something is happening in the background, but that task is not done yet."> <message name="IDS_AUTOFILL_CARD_UNMASK_PROGRESS_DIALOG_TITLE" desc="Title for the progress dialog that occurs during specific card unmasking flows, for example VCN unmasking. It is shown after the user selects a card, and will be dismissed once we receive a server response that denotes we can continue to the next step. The main purpose of the dialog is to inform the user that something is happening in the background, but that task is not done yet.">
Verifying... Verifying payment method
</message>
<message name="IDS_AUTOFILL_CARD_UNMASK_CONFIRMATION_DIALOG_TITLE" desc="Title for the confirmation dialog that occurs upon a successful card unmask.">
Payment method verified
</message> </message>
<message name="IDS_AUTOFILL_CARD_UNMASK_VERIFICATION_TITLE" desc="Title for the credit card unmasking progress dialog, also used as the title of challenge option selection dialog when only one challenge option available." formatter_data="android_java"> <message name="IDS_AUTOFILL_CARD_UNMASK_VERIFICATION_TITLE" desc="Title for the credit card unmasking progress dialog, also used as the title of challenge option selection dialog when only one challenge option available." formatter_data="android_java">
Verify it's you Verify it's you
@ -456,11 +521,14 @@
<message name="IDS_AUTOFILL_CARD_UNMASK_PROGRESS_BAR_MESSAGE" desc="Message displayed after tapping a Virtual Card, and before any other verification steps."> <message name="IDS_AUTOFILL_CARD_UNMASK_PROGRESS_BAR_MESSAGE" desc="Message displayed after tapping a Virtual Card, and before any other verification steps.">
Contacting your bank... Contacting your bank...
</message> </message>
<message name="IDS_AUTOFILL_CARD_UNMASK_CANCEL_BUTTON_LABEL" desc="Button that allows the user to cancel the Virtual Card unmasking process."> <message name="IDS_AUTOFILL_MASKED_SERVER_CARD_RISK_BASED_UNMASK_PROGRESS_BAR_MESSAGE" desc="Loading message displayed after selecting/tapping a credit card entry in Autofill, before possibly showing the user any other verification steps.">
Securely checking your payment details
</message>
<message name="IDS_AUTOFILL_CARD_UNMASK_CANCEL_BUTTON_LABEL" desc="Button that allows the user to cancel the card unmasking process.">
Cancel Cancel
</message> </message>
<message name="IDS_AUTOFILL_CARD_UNMASK_CONFIRMATION_MESSAGE" desc="Message displayed after tapping a Virtual Card, and the response from the bank indicates that no further verification is required."> <message name="IDS_AUTOFILL_CARD_UNMASK_CONFIRMATION_MESSAGE" desc="Message displayed after tapping a card, and the response from the bank indicates that no further verification is required.">
Your card is confirmed Verified
</message> </message>
<message name="IDS_AUTOFILL_FIDO_AUTHENTICATION_PROMPT_TITLE" desc="Title for FIDO authentication progress dialog"> <message name="IDS_AUTOFILL_FIDO_AUTHENTICATION_PROMPT_TITLE" desc="Title for FIDO authentication progress dialog">
Verifying... Verifying...
@ -468,13 +536,13 @@
<!-- DeviceAuthentication titles--> <!-- DeviceAuthentication titles-->
<if expr="is_macosx"> <if expr="is_macosx">
<message name="IDS_PAYMENTS_AUTOFILL_FILLING_MANDATORY_REAUTH" desc="Text that appears in the payments autofill mandatory re-authentication popup, asking the user to authenticate using biometric or device unlock before filling. Please note that on macOS the string 'Thorium is trying to' will always come before this string."> <message name="IDS_PAYMENTS_AUTOFILL_FILLING_MANDATORY_REAUTH" desc="Text that appears in the payments autofill mandatory re-authentication popup, asking the user to authenticate using biometric or device unlock before filling. Please note that on macOS the string 'Google Thorium is trying to' will always come before this string.">
verify it's you so it can fill in your payment info. verify it's you so it can fill in your payment info.
</message> </message>
</if> </if>
<if expr="is_win"> <if expr="is_win">
<message name="IDS_PAYMENTS_AUTOFILL_FILLING_MANDATORY_REAUTH" desc="Text that appears in the payments autofill mandatory re-authentication popup, asking the user to authenticate using biometric or device unlock before filling."> <message name="IDS_PAYMENTS_AUTOFILL_FILLING_MANDATORY_REAUTH" desc="Text that appears in the payments autofill mandatory re-authentication popup, asking the user to authenticate using biometric or device unlock before filling.">
Thorium is trying to verify it's you so it can fill in your payment info. Google Thorium is trying to verify it's you so it can fill in your payment info.
</message> </message>
</if> </if>
@ -617,16 +685,15 @@
</if> </if>
<!-- virtual cards related strings - start --> <!-- virtual cards related strings - start -->
<if expr="not is_ios and not is_android"> <if expr="not is_ios">
<message name="IDS_AUTOFILL_CLOUD_TOKEN_DROPDOWN_OPTION_LABEL" desc="Text shown in the button in the Autofill dropdown menu when a credit card form field is queried, to offer the option to use a virtual card.">
Use a virtual card number...
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_ENROLLMENT_FALLBACK_ICON_TOOLTIP" desc="The tooltip message for the omnibox icon for the virtual card enroll bubble on Desktop. This bubble prompts users if they would like to enroll in a virtual card.">
Add virtual card
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_ENTRY_PREFIX" desc="Notifies users that the type of card they are enrolling in is a virtual card."> <message name="IDS_AUTOFILL_VIRTUAL_CARD_ENTRY_PREFIX" desc="Notifies users that the type of card they are enrolling in is a virtual card.">
Virtual card Virtual card
</message> </message>
</if>
<if expr="not is_ios and not is_android">
<message name="IDS_AUTOFILL_VIRTUAL_CARD_ENROLLMENT_FALLBACK_ICON_TOOLTIP" desc="The tooltip message for the omnibox icon for the virtual card enroll bubble on Desktop. This bubble prompts users if they would like to enroll in a virtual card.">
Add virtual card
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_SELECTION_DIALOG_CONTENT_TITLE" desc="The title shown in the Autofill virtual card selection dialog. This dialog offers available virtual credit cards for users to choose to fill the form with. [ICU Syntax]"> <message name="IDS_AUTOFILL_VIRTUAL_CARD_SELECTION_DIALOG_CONTENT_TITLE" desc="The title shown in the Autofill virtual card selection dialog. This dialog offers available virtual credit cards for users to choose to fill the form with. [ICU Syntax]">
{NUM_CARDS, plural, {NUM_CARDS, plural,
=1 {Use a virtual number for this card} =1 {Use a virtual number for this card}
@ -704,31 +771,22 @@
<message name="IDS_AUTOFILL_VIRTUAL_CARD_SUGGESTION_OPTION_VALUE" desc="The text shown in the virtual card option in the credit card suggestion list. It is shown as the value of the suggestion."> <message name="IDS_AUTOFILL_VIRTUAL_CARD_SUGGESTION_OPTION_VALUE" desc="The text shown in the virtual card option in the credit card suggestion list. It is shown as the value of the suggestion.">
Virtual card Virtual card
</message> </message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_TEMPORARY_ERROR_TITLE" desc="Text to be displayed as the title of the error dialog for virtual card temporary error.">
Something went wrong
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_PERMANENT_ERROR_TITLE" desc="Text to be displayed as the title of the error dialog for virtual card permanent error.">
Virtual card not available
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_TEMPORARY_ERROR_DESCRIPTION" desc="Text to be displayed as the description of the error dialog for virtual card temporary error.">
Virtual card is not available right now, please try again later
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_PERMANENT_ERROR_DESCRIPTION" desc="Text to be displayed as the description of the error dialog for virtual card permanent error.">
Virtual card is not available right now, please contact your bank
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_NOT_ELIGIBLE_ERROR_TITLE" desc="Text to be displayed as the title of the error dialog for virtual card permanent error">
Not eligible for virtual card
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_NOT_ELIGIBLE_ERROR_DESCRIPTION" desc="Text to be displayed as the description of the error dialog for virtual card permanent error">
This card is not eligible for virtual card number.
</message>
<message name="IDS_AUTOFILL_ERROR_DIALOG_NEGATIVE_BUTTON_LABEL" desc="Label for the negative button for the error dialog.">
Close
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_NUMBER_SWITCH_LABEL" desc="The text shown as the label for virtual card enrollment switch in the server card edit page." formatter_data="android_java"> <message name="IDS_AUTOFILL_VIRTUAL_CARD_NUMBER_SWITCH_LABEL" desc="The text shown as the label for virtual card enrollment switch in the server card edit page." formatter_data="android_java">
Virtual card Virtual card
</message> </message>
<if expr="is_android"> <if expr="is_android">
<message name="IDS_AUTOFILL_VIRTUAL_CARD_CONTAINER_ACCESSIBILITY_DESCRIPTION" desc="The accessibility description for a UI element that contains the credit card icon, the card name and last four digits (in placeholder), and the text 'Virtual card'. This UI element is in the dialog that lets users enroll their credit card into the virtual card number feature.">
<ph name="IDS_AUTOFILL_VIRTUAL_CARD_NAME_AND_LAST_FOUR_DIGITS">$1<ex>Visa **** 1234</ex></ph>, virtual card
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_ENROLL_CONTENT_DESCRIPTION" desc="The description of the virtual card enrollment dialog for the accessbility screen reader." formatter_data="android_java">
Virtual card enrollment
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_ENROLL_FULL_HEIGHT_CONTENT_DESCRIPTION" desc="The description of the full height virtual card enrollment dialog for the accessbility screen reader." formatter_data="android_java">
Virtual card enrollment opened at full height
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_ENROLL_CLOSED_DESCRIPTION" desc="The description of the virtual card enrollment dialog closing for the accessbility screen reader." formatter_data="android_java">
Virtual card enrollment closed
</message>
<message name="IDS_AUTOFILL_VIRTUAL_CARD_NUMBER_SNACKBAR_MESSAGE_TEXT" desc="Text to be displayed in the snackbar shown after a virtual card number id autofilled."> <message name="IDS_AUTOFILL_VIRTUAL_CARD_NUMBER_SNACKBAR_MESSAGE_TEXT" desc="Text to be displayed in the snackbar shown after a virtual card number id autofilled.">
Virtual card number not filled in? Virtual card number not filled in?
</message> </message>
@ -801,16 +859,6 @@
Enter correct code Enter correct code
</message> </message>
<message name="IDS_AUTOFILL_SAVE_UPI_PROMPT_TITLE" desc="Title text for the prompt to save a UPI ID locally, which the user used in a page. UPI is an online payment method. A UPI ID is an email-like string.">
Remember your UPI ID?
</message>
<message name="IDS_AUTOFILL_SAVE_UPI_PROMPT_ACCEPT" desc="Text for the button to accept saving a UPI ID locally, after the user used it in a page. A UPI ID is an email-like string.">
Save
</message>
<message name="IDS_AUTOFILL_SAVE_UPI_PROMPT_REJECT" desc="Text for the button to reject saving a UPI ID locally, after the user used it in a page. A UPI ID is an email-like string.">
No thanks
</message>
<!-- Credit card and promo code offers and rewards-related strings --> <!-- Credit card and promo code offers and rewards-related strings -->
<message name="IDS_AUTOFILL_OFFERS_CASHBACK" desc="Displays that a cashback offer will be rewarded if credit card is used on current page. Part of Autofill suggestions popup."> <message name="IDS_AUTOFILL_OFFERS_CASHBACK" desc="Displays that a cashback offer will be rewarded if credit card is used on current page. Part of Autofill suggestions popup.">
Cashback linked Cashback linked
@ -864,6 +912,9 @@
<message name="IDS_AUTOFILL_GPAY_PROMO_CODE_OFFERS_REMINDER_VALUE_PROP_TEXT" desc="The first line of the GPay promo code notification bubble, consisting of the value prop text and a see details link"> <message name="IDS_AUTOFILL_GPAY_PROMO_CODE_OFFERS_REMINDER_VALUE_PROP_TEXT" desc="The first line of the GPay promo code notification bubble, consisting of the value prop text and a see details link">
<ph name="VALUE_PROP">$1<ex>5% off on shoes. Up to $50.</ex></ph> <ph name="DETAILS">$2<ex>See Details</ex></ph> <ph name="VALUE_PROP">$1<ex>5% off on shoes. Up to $50.</ex></ph> <ph name="DETAILS">$2<ex>See Details</ex></ph>
</message> </message>
<message name="IDS_AUTOFILL_PROMO_CODE_OFFERS_USE_THIS_CODE_TEXT" desc="Text used in the promo code notification bubble to inform the user they can use the displayed promo code during checkout.">
Use this code at checkout
</message>
</if> </if>
<!-- Autofill Payments OTP verification dialog --> <!-- Autofill Payments OTP verification dialog -->
@ -912,6 +963,9 @@
<message name="IDS_AUTOFILL_CREDIT_CARD_BOTTOM_SHEET_CLOSED" desc="Accessibility string read when the bottom sheet showing a list of the user's payment methods is closed." formatter_data="android_java"> <message name="IDS_AUTOFILL_CREDIT_CARD_BOTTOM_SHEET_CLOSED" desc="Accessibility string read when the bottom sheet showing a list of the user's payment methods is closed." formatter_data="android_java">
List of payment methods is closed. List of payment methods is closed.
</message> </message>
<message name="IDS_AUTOFILL_CREDIT_CARD_A11Y_ITEM_COLLECTION_INFO" desc="A template message for a fillable item content description, provides its position in the list info (e.g. 'Item label, 2 of 4')." formatter_data="android_java">
<ph name="ITEM_LABEL">%1$s<ex>Card info</ex></ph>, <ph name="ITEM_POSITION">%2$s<ex>2</ex></ph> of <ph name="ITEMS_TOTAL">%3$s<ex>8</ex></ph>.
</message>
</if> </if>
<!-- Mandatory Reauth related strings --> <!-- Mandatory Reauth related strings -->
@ -931,13 +985,13 @@
</if> </if>
<!-- CVC Storage related strings --> <!-- CVC Storage related strings -->
<message name="IDS_AUTOFILL_SETTINGS_PAGE_ENABLE_CVC_STORAGE_LABEL" desc="Label for the payments settings page toggle that enables the user to store and use CVC for payments autofill." formatter_data="android_java">
Save security codes
</message>
<message name="IDS_AUTOFILL_SETTINGS_PAGE_ENABLE_CVC_STORAGE_SUBLABEL" desc="Sublabel for the payments settings page toggle that enables the user to store and use CVC for payments autofill." formatter_data="android_java">
Checkout faster when your CVCs are saved
</message>
<if expr="not is_android"> <if expr="not is_android">
<message name="IDS_AUTOFILL_SETTINGS_PAGE_ENABLE_CVC_STORAGE_LABEL" desc="Label for the payments settings page toggle that enables the user to store and use CVC for payments autofill.">
Save security codes
</message>
<message name="IDS_AUTOFILL_SETTINGS_PAGE_ENABLE_CVC_STORAGE_SUBLABEL" desc="Sublabel for the payments settings page toggle that enables the user to store and use CVC for payments autofill.">
Checkout faster when your CVCs are saved
</message>
<!-- This sublabel has hyperlink encoding present in it. This is to trigger the modal popup which would bulk delete all the CVCs. --> <!-- This sublabel has hyperlink encoding present in it. This is to trigger the modal popup which would bulk delete all the CVCs. -->
<message name="IDS_AUTOFILL_SETTINGS_PAGE_ENABLE_CVC_STORAGE_WITH_DELETE_LINK_SUBLABEL" desc="Sublabel for the payments settings page that would bulk delete all the CVCs when clicked on it. that enables the user to store and use CVC for payments autofill. There is also a hyperlinked text which bulk deletes all the CVC data. This sublabel is used when we have CVC data present on the local DB."> <message name="IDS_AUTOFILL_SETTINGS_PAGE_ENABLE_CVC_STORAGE_WITH_DELETE_LINK_SUBLABEL" desc="Sublabel for the payments settings page that would bulk delete all the CVCs when clicked on it. that enables the user to store and use CVC for payments autofill. There is also a hyperlinked text which bulk deletes all the CVC data. This sublabel is used when we have CVC data present on the local DB.">
Checkout faster when your CVCs are saved. <ph name="LINK_BEGIN">&lt;a href="#"&gt;</ph>Delete saved security codes<ph name="LINK_END">&lt;/a&gt;</ph> Checkout faster when your CVCs are saved. <ph name="LINK_BEGIN">&lt;a href="#"&gt;</ph>Delete saved security codes<ph name="LINK_END">&lt;/a&gt;</ph>
@ -949,4 +1003,12 @@
All security codes saved on your device and in Google Account will be deleted All security codes saved on your device and in Google Account will be deleted
</message> </message>
</if> </if>
<if expr="is_android">
<message name="IDS_AUTOFILL_SETTINGS_PAGE_BULK_REMOVE_CVC_LABEL" desc="Label for the payments settings page button that allows the user to bulk delete all the CVCs stored locally and on Google servers." formatter_data="android_java">
Delete saved security codes
</message>
</if>
<message name="IDS_AUTOFILL_CVC_SUGGESTION_MAIN_TEXT" desc="The main text shown in the credit card suggestion list when the CVC field is focused. It will be the main text which is on the first line of suggestion. If the user hovers over the suggestion, the credit card will be previewed. If the user clicks on the suggestion, credit card will be filled.">
CVC
</message>
</grit-part> </grit-part>

View file

@ -24,8 +24,8 @@
</if> </if>
<if expr="is_android or is_ios"> <if expr="is_android or is_ios">
<message name="IDS_AUTOFILL_CLEAR_LOCAL_COPY_BUTTON" desc="The label of the button that clears the local copy of a Wallet Credit Card." formatter_data="android_java"> <message name="IDS_AUTOFILL_REMOVE_LOCAL_COPY_BUTTON" desc="The label of the button that removes the local copy of a Wallet Credit Card." formatter_data="android_java">
Clear copy Remove copy
</message> </message>
</if> </if>
@ -60,6 +60,9 @@
<message name="IDS_AUTOFILL_DELETE_AUTOCOMPLETE_SUGGESTION_TOOLTIP" desc="Tooltip shown when hovering over a small button with a trash-can logo next to an Autocomplete entry in the Autofill popup."> <message name="IDS_AUTOFILL_DELETE_AUTOCOMPLETE_SUGGESTION_TOOLTIP" desc="Tooltip shown when hovering over a small button with a trash-can logo next to an Autocomplete entry in the Autofill popup.">
Delete entry Delete entry
</message> </message>
<message name="IDS_AUTOFILL_AUTOCOMPLETE_ENTRY_DELETED_A11Y_HINT" desc="Voice over text that is read out when the delete button next to an Autocomplete entry is selected.">
Entry <ph name="ENTRY_VOICEOVER">$1<ex>Jane Doe</ex></ph> has been deleted
</message>
<message name="IDS_AUTOFILL_DELETE_AUTOCOMPLETE_SUGGESTION_A11Y_HINT" desc="Voice over text that is read out when the delete button next to an Autocomplete entry is selected."> <message name="IDS_AUTOFILL_DELETE_AUTOCOMPLETE_SUGGESTION_A11Y_HINT" desc="Voice over text that is read out when the delete button next to an Autocomplete entry is selected.">
Delete entry <ph name="ENTRY_VOICEOVER">$1<ex>Jane Doe</ex></ph> Delete entry <ph name="ENTRY_VOICEOVER">$1<ex>Jane Doe</ex></ph>
</message> </message>
@ -109,7 +112,11 @@
<message name="IDS_AUTOFILL_A11Y_ANNOUNCE_FILLED_FORM" desc="Screen reader announcement indicating that current form was autofilled."> <message name="IDS_AUTOFILL_A11Y_ANNOUNCE_FILLED_FORM" desc="Screen reader announcement indicating that current form was autofilled.">
The form was filled in The form was filled in
</message> </message>
<!--TODO(crbug.com/1459990): Align with writers about this string and remove translateable=false--> <!--TODO(crbug.com/1459990): Align with writers about related strings and remove translateable=false-->
<message name="IDS_AUTOFILL_A11Y_ANNOUNCE_EDIT_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="Screen reader announcement indicating that edit autofill profile option was selected." translateable="false">
The edit address option was selected
</message>
<message name="IDS_AUTOFILL_A11Y_ANNOUNCE_DELETE_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="Screen reader announcement indicating that delete autofill profile option was selected." translateable="false"> <message name="IDS_AUTOFILL_A11Y_ANNOUNCE_DELETE_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="Screen reader announcement indicating that delete autofill profile option was selected." translateable="false">
The delete address option was selected The delete address option was selected
</message> </message>
@ -118,7 +125,6 @@
The autofilled info was cleared from the form The autofilled info was cleared from the form
</message> </message>
<!--TODO(crbug.com/1459990): Align with writers about this string and remove translateable=false-->
<message name="IDS_AUTOFILL_A11Y_ANNOUNCE_FILL_ADDRESS_GROUP_POPUP_OPTION_SELECTED" desc="Screen reader announcement indicating that filling address fields option was selected." translateable="false"> <message name="IDS_AUTOFILL_A11Y_ANNOUNCE_FILL_ADDRESS_GROUP_POPUP_OPTION_SELECTED" desc="Screen reader announcement indicating that filling address fields option was selected." translateable="false">
The fill address fields option was selected The fill address fields option was selected
</message> </message>
@ -135,7 +141,6 @@
Fill full name Fill full name
</message> </message>
<!--TODO(crbug.com/1459990): Align with writers about this string and remove translateable=false-->
<message name="IDS_AUTOFILL_A11Y_ANNOUNCE_FILL_EVERYTHING_FROM_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="Screen reader announcement indicating that the fill everything option was selected." translateable="false"> <message name="IDS_AUTOFILL_A11Y_ANNOUNCE_FILL_EVERYTHING_FROM_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="Screen reader announcement indicating that the fill everything option was selected." translateable="false">
The fill everything option was selected The fill everything option was selected
</message> </message>
@ -148,10 +153,30 @@
Manage... Manage...
</message> </message>
<message name="IDS_AUTOFILL_EDIT_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="The text displayed at the bottom of the Autofill sub meny to open the edit address profile dialog." meaning="Entry point to address profile deletion." translateable="false">
Edit address
</message>
<message name="IDS_AUTOFILL_DELETE_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="The text displayed at the bottom of the Autofill sub menu to open the delete address profile dialog." meaning="Entry point to address profile deletion." translateable="false"> <message name="IDS_AUTOFILL_DELETE_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="The text displayed at the bottom of the Autofill sub menu to open the delete address profile dialog." meaning="Entry point to address profile deletion." translateable="false">
Delete address Delete address
</message> </message>
<message name="IDS_AUTOFILL_HOUSE_NUMBER_SUGGESTION_SECONDARY_TEXT_OPTION_SELECTED" desc="The secondary text displayed on a house number suggestion was selected." meaning="The label for the house number field type store by autofill has been selected in the subpopup." translateable="false">
Building number option selected
</message>
<message name="IDS_AUTOFILL_STREET_NAME_SUGGESTION_SECONDARY_TEXT_OPTION_SELECTED" desc="The secondary text displayed on a street name suggestion was selected." meaning="The label for the street namefield type store by autofill has been selected in the subpopup." translateable="false">
Street option selected
</message>
<message name="IDS_AUTOFILL_HOUSE_NUMBER_SUGGESTION_SECONDARY_TEXT" desc="The secondary text displayed on a house number suggestion." meaning="The label for the house number field type store by autofill." translateable="false">
Building number
</message>
<message name="IDS_AUTOFILL_STREET_NAME_SUGGESTION_SECONDARY_TEXT" desc="The secondary text displayed on a street name suggestion." meaning="The label for the street namefield type store by autofill." translateable="false">
Street
</message>
<message name="IDS_AUTOFILL_FILL_EVERYTHING_FROM_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="The text displayed at the footer of the Autofill sub menu to fill everything from the address profile." meaning="Fill every available information from the address profile." translateable="false"> <message name="IDS_AUTOFILL_FILL_EVERYTHING_FROM_ADDRESS_PROFILE_POPUP_OPTION_SELECTED" desc="The text displayed at the footer of the Autofill sub menu to fill everything from the address profile." meaning="Fill every available information from the address profile." translateable="false">
Fill everything Fill everything
</message> </message>
@ -553,5 +578,20 @@
<message name="IDS_AUTOFILL_EDIT_ADDRESS_DIALOG_CANCEL_BUTTON_LABEL" desc="Label of the Cancel button in the dialog that edits an address before saving it."> <message name="IDS_AUTOFILL_EDIT_ADDRESS_DIALOG_CANCEL_BUTTON_LABEL" desc="Label of the Cancel button in the dialog that edits an address before saving it.">
Cancel Cancel
</message> </message>
<message name="IDS_AUTOFILL_EXPANDABLE_SUGGESTION_CONTROLL_A11Y_NAME" desc="Autofill desktop popup: the a11y name for the expandable suggestion controll." translateable="false">
Expand suggestion
</message>
<message name="IDS_AUTOFILL_EXPANDABLE_SUGGESTION_FULL_ADDRESS_A11Y_ADDON" desc="Autofill desktop popup: additional screen reader info to distinguish the address top level suggestions from others.">
Fill address
</message>
<message name="IDS_AUTOFILL_EXPANDABLE_SUGGESTION_EXPAND_SHORTCUT" desc="Autofill desktop popup: the shortcut used to focus the expanding control and effectively open the sub-menu, used in IDS_AUTOFILL_EXPANDABLE_SUGGESTION_SUBMENU_HINT.">
right key
</message>
<message name="IDS_AUTOFILL_EXPANDABLE_SUGGESTION_EXPAND_SHORTCUT_RTL" desc="Autofill desktop popup: the shortcut used to focus the expanding control and effectively open the sub-menu, used in IDS_AUTOFILL_EXPANDABLE_SUGGESTION_SUBMENU_HINT, for RTL languages.">
left key
</message>
<message name="IDS_AUTOFILL_EXPANDABLE_SUGGESTION_SUBMENU_HINT" desc="Autofill desktop popup: additional screen reader info to let the user know that the suggestion can be expanded into a sub-menu.">
Submenu available, use <ph name="SHORTCUT">$1<ex>right key</ex></ph> to navigate to additional options.
</message>
</if> </if>
</grit-part> </grit-part>

View file

@ -3,7 +3,7 @@
<grit latest_public_release="0" current_release="1" <grit latest_public_release="0" current_release="1"
output_all_resource_defines="false" source_lang_id="en" enc_check="möl"> output_all_resource_defines="false" source_lang_id="en" enc_check="möl">
<outputs> <outputs>
<output filename="grit/components_chromium_strings.h" type="rc_header"> <output filename="grit/components_branded_strings.h" type="rc_header">
<emit emit_type='prepend'></emit> <emit emit_type='prepend'></emit>
</output> </output>
<output filename="components_chromium_strings_af.pak" type="data_package" lang="af" /> <output filename="components_chromium_strings_af.pak" type="data_package" lang="af" />
@ -298,7 +298,7 @@
</message> </message>
<if expr="chromeos_ash"> <if expr="chromeos_ash">
<message name="IDS_VERSION_UI_LICENSE_CHROMIUM" desc="The label below the copyright message, containing the link to the Chromium project."> <message name="IDS_VERSION_UI_LICENSE_CHROMIUM" desc="The label below the copyright message, containing the link to the Thorium project.">
Thorium is made possible by the <ph name="BEGIN_LINK_CHROMIUM">&lt;a target="_blank" href="$1"&gt;</ph>Chromium<ph name="END_LINK_CHROMIUM">&lt;/a&gt;</ph> open source project. Thorium is made possible by the <ph name="BEGIN_LINK_CHROMIUM">&lt;a target="_blank" href="$1"&gt;</ph>Chromium<ph name="END_LINK_CHROMIUM">&lt;/a&gt;</ph> open source project.
</message> </message>

View file

@ -54,7 +54,6 @@
</message> </message>
<message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION_BODY" desc="When a page fails to load, sometimes we suggest checking the network connections. This contains details below the suggestion."> <message name="IDS_ERRORPAGES_SUGGESTION_CHECK_CONNECTION_BODY" desc="When a page fails to load, sometimes we suggest checking the network connections. This contains details below the suggestion.">
Check any cables and reboot any routers, modems, or other network Check any cables and reboot any routers, modems, or other network
devices you may be using. Also check that any proxy server currently in use is reachable and configured correctly.
devices you may be using. devices you may be using.
</message> </message>
<if expr="not is_ios"> <if expr="not is_ios">
@ -319,8 +318,8 @@
<message name="IDS_ERRORPAGES_SUGGESTION_LEARNMORE_SUMMARY_STANDALONE" desc="When a webpage fails to load, we provide a link to the help center to learn more about the failure."> <message name="IDS_ERRORPAGES_SUGGESTION_LEARNMORE_SUMMARY_STANDALONE" desc="When a webpage fails to load, we provide a link to the help center to learn more about the failure.">
<ph name="BEGIN_LINK">&lt;a jsvalues="href:learnMoreUrl"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about this problem. <ph name="BEGIN_LINK">&lt;a jsvalues="href:learnMoreUrl"&gt;</ph>Learn more<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> about this problem.
</message> </message>
<message name="IDS_ERRORPAGES_SUGGESTION_CLEAR_COOKIES_SUMMARY" desc="The message displayed following a network error suggesting the user could try clearing their cookies. We also provide a link to the help center to learn more about the failure."> <message name="IDS_ERRORPAGES_SUGGESTION_DELETE_COOKIES_SUMMARY" desc="The message displayed following a network error suggesting the user could try deleting their cookies. We also provide a link to the help center to learn more about the failure.">
<ph name="BEGIN_LINK">&lt;a jsvalues="href:learnMoreUrl"&gt;</ph>Try clearing your cookies<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex>.</ph> <ph name="BEGIN_LINK">&lt;a jsvalues="href:learnMoreUrl"&gt;</ph>Try deleting your cookies<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex>.</ph>
</message> </message>
<if expr="is_ios or is_android"> <if expr="is_ios or is_android">
<message name="IDS_ERRORPAGES_SUGGESTION_TURN_OFF_AIRPLANE_SUMMARY" desc="When a page fails to load and the device is offline, we provide a suggestion that the user try turning off airplane mode. The suggestions list is prefixed with 'Try:'."> <message name="IDS_ERRORPAGES_SUGGESTION_TURN_OFF_AIRPLANE_SUMMARY" desc="When a page fails to load and the device is offline, we provide a suggestion that the user try turning off airplane mode. The suggestions list is prefixed with 'Try:'.">
@ -381,7 +380,7 @@
</if> </if>
<if expr="is_android or is_ios"> <if expr="is_android or is_ios">
<message name="IDS_ERRORPAGES_GAME_INSTRUCTIONS" desc="Mobile: Instructions on how to start playing the offline game. 'dino' is an acceptable English nickname that refers to 'dinosaur'"> <message name="IDS_ERRORPAGES_GAME_INSTRUCTIONS" desc="Mobile: Instructions on how to start playing the offline game. 'dino' is an acceptable English nickname that refers to 'dinosaur'">
Tap the Dino to play Tap the dino to play
</message> </message>
<message name="IDS_ERRORPAGE_DINO_GAME_DESCRIPTION" desc="Message to be spoken by a screen reader to give the user context and instructions for playing the net error dino game. Tapping the screen activates the game and causes the dinosaur to jump. Mobile platforms only."> <message name="IDS_ERRORPAGE_DINO_GAME_DESCRIPTION" desc="Message to be spoken by a screen reader to give the user context and instructions for playing the net error dino game. Tapping the screen activates the game and causes the dinosaur to jump. Mobile platforms only.">
Dino game. A pixelated dinosaur dodges cacti and pterodactyls as it runs across a desolate landscape. When you hear an audio cue, tap to jump over obstacles. Dino game. A pixelated dinosaur dodges cacti and pterodactyls as it runs across a desolate landscape. When you hear an audio cue, tap to jump over obstacles.
@ -389,7 +388,7 @@
</if> </if>
<if expr="not is_android and not is_ios"> <if expr="not is_android and not is_ios">
<message name="IDS_ERRORPAGES_GAME_INSTRUCTIONS" desc="Instructions on how to start playing the offline game."> <message name="IDS_ERRORPAGES_GAME_INSTRUCTIONS" desc="Instructions on how to start playing the offline game.">
Press Space or the Up Arrow to Play Press space to play
</message> </message>
<message name="IDS_ERRORPAGE_DINO_GAME_DESCRIPTION" desc="Message to be spoken by a screen reader to give the user context and instructions for playing the net error dino game. Pressing space activates the game and causes the dinosaur to jump. Desktop platforms only."> <message name="IDS_ERRORPAGE_DINO_GAME_DESCRIPTION" desc="Message to be spoken by a screen reader to give the user context and instructions for playing the net error dino game. Pressing space activates the game and causes the dinosaur to jump. Desktop platforms only.">
Dino game. A pixelated dinosaur dodges cacti and pterodactyls as it runs across a desolate landscape. When you hear an audio cue, press space to jump over obstacles. Dino game. A pixelated dinosaur dodges cacti and pterodactyls as it runs across a desolate landscape. When you hear an audio cue, press space to jump over obstacles.
@ -411,6 +410,6 @@
Jump! Jump!
</message> </message>
<message name="IDS_ERRORPAGE_DINO_SLOW_SPEED_TOGGLE" desc="Label for a toggle which allows a user to select a slower speed for the dino game."> <message name="IDS_ERRORPAGE_DINO_SLOW_SPEED_TOGGLE" desc="Label for a toggle which allows a user to select a slower speed for the dino game.">
Start slower&#63; Start slower
</message> </message>
</grit-part> </grit-part>

View file

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2023 Alex313031. -->
<grit-part> <grit-part>
<!-- about:flags <!-- about:flags
Not translated. See discussion at: https://crbug.com/587272 Not translated. See discussion at: https://crbug.com/587272
@ -17,7 +16,7 @@
Reset all Reset all
</message> </message>
<message name="IDS_FLAGS_UI_PAGE_WARNING" translateable="false" desc="A warning stating that the features of the page are experimental."> <message name="IDS_FLAGS_UI_PAGE_WARNING" translateable="false" desc="A warning stating that the features of the page are experimental.">
Warning: Experimental Thorium features ahead! Warning: Experimental features ahead!
</message> </message>
<message name="IDS_FLAGS_UI_PAGE_WARNING_EXPLANATION" translateable="false" desc="A warning stating what the user gets exposed to by enabling one the features."> <message name="IDS_FLAGS_UI_PAGE_WARNING_EXPLANATION" translateable="false" desc="A warning stating what the user gets exposed to by enabling one the features.">
By enabling these features, you could lose browser data or By enabling these features, you could lose browser data or
@ -160,7 +159,7 @@
Unsupported features Unsupported features
</message> </message>
<message name="IDS_DEPRECATED_FEATURES_PAGE_WARNING_EXPLANATION" desc="Warning to users that features are deprecated. Shown prominently at the top of the page."> <message name="IDS_DEPRECATED_FEATURES_PAGE_WARNING_EXPLANATION" desc="Warning to users that features are deprecated. Shown prominently at the top of the page.">
These features are disabled by default. They will not be available in future versions of Thorium. These flags prevent or revert a breaking change and will only be available for a limited time.
</message> </message>
<message name="IDS_DEPRECATED_FEATURES_NO_RESULTS" desc="Message shown when searching and no results were found."> <message name="IDS_DEPRECATED_FEATURES_NO_RESULTS" desc="Message shown when searching and no results were found.">
No matching features No matching features

View file

@ -171,7 +171,7 @@
Device access actions such as logins (including failed login reasons), logouts, locks, and unlocks Device access actions such as logins (including failed login reasons), logouts, locks, and unlocks
</message> </message>
<message name="IDS_MANAGEMENT_REPORT_CRD_SESSIONS" desc="Message stating that administrators can see Thorium Remote Desktop events."> <message name="IDS_MANAGEMENT_REPORT_CRD_SESSIONS" desc="Message stating that administrators can see Thorium Remote Desktop events.">
Chrome Remote Desktop history, including timestamps, hosts and client session ids Thorium Remote Desktop history, including timestamps, hosts and client session ids
</message> </message>
<message name="IDS_MANAGEMENT_CROSTINI" desc="Message stating that administrators can see Crostini usage"> <message name="IDS_MANAGEMENT_CROSTINI" desc="Message stating that administrators can see Crostini usage">
Linux apps installed and when they were last used Linux apps installed and when they were last used
@ -275,6 +275,9 @@
<message name="IDS_MANAGEMENT_EXTENSION_REPORT_PERF_CRASH" desc="Message explaining that an extension currently reports the user's performance data and crash report"> <message name="IDS_MANAGEMENT_EXTENSION_REPORT_PERF_CRASH" desc="Message explaining that an extension currently reports the user's performance data and crash report">
Performance data and crash reports Performance data and crash reports
</message> </message>
<message name="IDS_MANAGEMENT_LEGACY_TECH_REPORT" desc="Message explaining that browser will upload a report when a legacy technology is used for a webpage">
A limited list of URLs of pages you visit where <ph name="BEGIN_LINK">&lt;a target="_blank" href="https://chromestatus.com/features#browsers.chrome.status%3A%22Deprecated%22" &gt;</ph>legacy technology events<ph name="END_LINK">&lt;/a&gt;</ph> are occuring.
</message>
<!-- Strings related to Thorium Enterprise Connectors --> <!-- Strings related to Thorium Enterprise Connectors -->
<message name="IDS_MANAGEMENT_THREAT_PROTECTION" desc="Title of the Thorium Enterprise Connectors section of the page"> <message name="IDS_MANAGEMENT_THREAT_PROTECTION" desc="Title of the Thorium Enterprise Connectors section of the page">

View file

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2023 Alex313031. -->
<grit-part> <grit-part>
<message name="IDS_DEFAULT_TAB_TITLE" desc="The default title in a tab."> <message name="IDS_DEFAULT_TAB_TITLE" desc="The default title in a tab.">
@ -31,44 +30,44 @@
</message> </message>
</if> </if>
<if expr="is_win"> <if expr="is_win">
<message name="IDS_SAD_TAB_OOM_TITLE" desc="The title of the web page displayed if content in Chrome browser does not load due to the browser being out of memory, and a reload failed to fix the issue."> <message name="IDS_SAD_TAB_OOM_TITLE" desc="The title of the web page displayed if content in Thorium browser does not load due to the browser being out of memory, and a reload failed to fix the issue.">
Not enough memory to open this page Not enough memory to open this page
</message> </message>
</if> </if>
<message name="IDS_SAD_TAB_RELOAD_TITLE" desc="The title of the web page displayed if content in Chrome browser does not load for an unknown reason, and a reload failed to fix the issue." formatter_data="android_java"> <message name="IDS_SAD_TAB_RELOAD_TITLE" desc="The title of the web page displayed if content in Thorium browser does not load for an unknown reason, and a reload failed to fix the issue." formatter_data="android_java">
Can't open this page Can't open this page
</message> </message>
<message name="IDS_SAD_TAB_OOM_MESSAGE_TABS" desc="The message displayed on the web page if content in Chrome browser does not load due to the browser being out of memory, a reload failed to fix the issue and other tabs are open."> <message name="IDS_SAD_TAB_OOM_MESSAGE_TABS" desc="The message displayed on the web page if content in Thorium browser does not load due to the browser being out of memory, a reload failed to fix the issue and other tabs are open.">
Try closing other tabs or programs to free up memory. Try closing other tabs or programs to free up memory.
</message> </message>
<message name="IDS_SAD_TAB_OOM_MESSAGE_NOTABS" desc="The message displayed on the web page if content in Chrome browser does not load due to the browser being out of memory, a reload failed to fix the issue and no other tabs are open."> <message name="IDS_SAD_TAB_OOM_MESSAGE_NOTABS" desc="The message displayed on the web page if content in Thorium browser does not load due to the browser being out of memory, a reload failed to fix the issue and no other tabs are open.">
Try exiting other programs to free up memory. Try exiting other programs to free up memory.
</message> </message>
<message name="IDS_SAD_TAB_RELOAD_TRY" desc="The message displayed on the web page if content in Chrome browser does not load and a reload failed to fix the issue. Introduces a bulleted list of solutions/tips for the user to try." formatter_data="android_java"> <message name="IDS_SAD_TAB_RELOAD_TRY" desc="The message displayed on the web page if content in Thorium browser does not load and a reload failed to fix the issue. Introduces a bulleted list of solutions/tips for the user to try." formatter_data="android_java">
Try the following tips: Try the following tips:
</message> </message>
<if expr="is_macosx"> <if expr="is_macosx">
<message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode."> <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Thorium's Incognito mode.">
Open page in a new Incognito window (⇧⌘N) Open page in a new Incognito window (⇧⌘N)
</message> </message>
</if> </if>
<if expr="not is_macosx and toolkit_views"> <if expr="not is_macosx and toolkit_views">
<message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode."> <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Thorium's Incognito mode.">
Open page in a new Incognito window (Ctrl-Shift-N) Open page in a new Incognito window (Ctrl-Shift-N)
</message> </message>
</if> </if>
<if expr="is_android or is_ios"> <if expr="is_android or is_ios">
<message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode." formatter_data="android_java"> <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Thorium's Incognito mode." formatter_data="android_java">
Open page in a new Incognito tab Open page in a new Incognito tab
</message> </message>
</if> </if>
<if expr="is_macosx or is_chromeos"> <if expr="is_macosx or is_chromeos">
<message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or apps running on their computer (Mac, ChromeOS)."> <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Thorium tabs or apps running on their computer (Mac, ThoriumOS).">
Close other tabs or apps Close other tabs or apps
</message> </message>
</if> </if>
<if expr="is_linux"> <if expr="is_linux">
<message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or programs running on their computer."> <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Thorium tabs or programs running on their computer.">
Close other tabs or programs Close other tabs or programs
</message> </message>
</if> </if>
@ -83,12 +82,12 @@
</message> </message>
</if> </if>
<if expr="_google_chrome"> <if expr="_google_chrome">
<message name="IDS_SAD_TAB_RELOAD_RESTART_BROWSER" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart Chrome." formatter_data="android_java"> <message name="IDS_SAD_TAB_RELOAD_RESTART_BROWSER" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart Thorium." formatter_data="android_java">
Restart Chrome Restart Thorium
</message> </message>
</if> </if>
<if expr="not _google_chrome"> <if expr="not _google_chrome">
<message name="IDS_SAD_TAB_RELOAD_RESTART_BROWSER" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart Chromium." formatter_data="android_java"> <message name="IDS_SAD_TAB_RELOAD_RESTART_BROWSER" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart Thorium." formatter_data="android_java">
Restart Thorium Restart Thorium
</message> </message>
</if> </if>
@ -163,7 +162,7 @@
</message> </message>
<if expr="_google_chrome"> <if expr="_google_chrome">
<message name="IDS_NEW_TAB_OTR_NOT_SAVED" desc="Bullet points listing data that are not saved in the Incognito mode. 'Browsing history' means a history of visited websites. 'Cookies and site data' refers to data saved by websites on the user's device (e.g. sign-in state, preferences, etc.). 'Information entered in forms' refers to names, addresses, passwords etc. that users enter into forms on the web." formatter_data="android_java"> <message name="IDS_NEW_TAB_OTR_NOT_SAVED" desc="Bullet points listing data that are not saved in the Incognito mode. 'Browsing history' means a history of visited websites. 'Cookies and site data' refers to data saved by websites on the user's device (e.g. sign-in state, preferences, etc.). 'Information entered in forms' refers to names, addresses, passwords etc. that users enter into forms on the web." formatter_data="android_java">
Chrome <ph name="BEGIN_EMPHASIS">&lt;em&gt;</ph>wont save<ph name="END_EMPHASIS">&lt;/em&gt;</ph> the following information: Thorium <ph name="BEGIN_EMPHASIS">&lt;em&gt;</ph>wont save<ph name="END_EMPHASIS">&lt;/em&gt;</ph> the following information:
<ph name="BEGIN_LIST">&lt;ul&gt;</ph> <ph name="BEGIN_LIST">&lt;ul&gt;</ph>
<ph name="LIST_ITEM">&lt;li&gt;</ph>Your browsing history <ph name="LIST_ITEM">&lt;li&gt;</ph>Your browsing history
<ph name="LIST_ITEM">&lt;li&gt;</ph>Cookies and site data <ph name="LIST_ITEM">&lt;li&gt;</ph>Cookies and site data
@ -201,11 +200,22 @@
When on, sites can't use cookies that track you across the web. Features on some sites may break. When on, sites can't use cookies that track you across the web. Features on some sites may break.
</message> </message>
<!-- 3P Cookie Depreciation -->
<if expr="not is_android">
<message name="IDS_NEW_TAB_OTR_THIRD_PARTY_BLOCKED_COOKIE" desc="Text informing users that 3rd-party cookies are blocked." formatter_data="android_java" translateable="false">
Third-party cookies are blocked
</message>
<message name="IDS_NEW_TAB_OTR_THIRD_PARTY_BLOCKED_COOKIE_SUBLABEL" desc="Sub-text explaining 3rd-party cookie blocking with a help center link to re-enabling 3rd-party cookies for specific sites." formatter_data="android_java" translateable="false">
Thorium blocks sites from using third-party cookies to track you as you browse.
If site features arent working <ph name="START_LINK">&lt;a target="_blank" href="$1"&gt;</ph>try temporarily allowing third-party cookies<ph name="END_LINK">&lt;/a&gt;</ph>.
</message>
</if>
<!-- Revamped Incognito New Tab Page strings --> <!-- Revamped Incognito New Tab Page strings -->
<if expr="_google_chrome"> <if expr="_google_chrome">
<message name="IDS_REVAMPED_INCOGNITO_NTP_TITLE" desc="Title of the Incognito new tab page." formatter_data="android_java"> <message name="IDS_REVAMPED_INCOGNITO_NTP_TITLE" desc="Title of the Incognito new tab page." formatter_data="android_java">
Incognito in Chrome Incognito in Thorium
</message> </message>
</if> </if>
<if expr="not _google_chrome"> <if expr="not _google_chrome">
@ -249,7 +259,7 @@
</message> </message>
<if expr="_google_chrome"> <if expr="_google_chrome">
<message name="IDS_REVAMPED_INCOGNITO_NTP_LEARN_MORE" desc="The link text displayed on the Incognito new tab page pointing users to the Incognito learn more page." formatter_data="android_java"> <message name="IDS_REVAMPED_INCOGNITO_NTP_LEARN_MORE" desc="The link text displayed on the Incognito new tab page pointing users to the Incognito learn more page." formatter_data="android_java">
<ph name="BEGIN_LINK">&lt;a&gt;</ph>Learn more about Incognito in Chrome<ph name="END_LINK">&lt;/a&gt;</ph> <ph name="BEGIN_LINK">&lt;a&gt;</ph>Learn more about Incognito in Thorium<ph name="END_LINK">&lt;/a&gt;</ph>
</message> </message>
</if> </if>
<if expr="not _google_chrome"> <if expr="not _google_chrome">

View file

@ -19,12 +19,21 @@
<message name="IDS_PAGE_INFO_MALWARE_SUMMARY" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as containing malware."> <message name="IDS_PAGE_INFO_MALWARE_SUMMARY" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as containing malware.">
This site contains malware This site contains malware
</message> </message>
<message name="IDS_PAGE_INFO_MALWARE_SUMMARY_NEW" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as containing malware.">
Dangerous site
</message>
<message name="IDS_PAGE_INFO_SOCIAL_ENGINEERING_SUMMARY" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as social engineering."> <message name="IDS_PAGE_INFO_SOCIAL_ENGINEERING_SUMMARY" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as social engineering.">
This site is deceptive This site is deceptive
</message> </message>
<message name="IDS_PAGE_INFO_SOCIAL_ENGINEERING_SUMMARY_NEW" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as social engineering.">
Dangerous site
</message>
<message name="IDS_PAGE_INFO_UNWANTED_SOFTWARE_SUMMARY" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as containing unwanted software."> <message name="IDS_PAGE_INFO_UNWANTED_SOFTWARE_SUMMARY" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as containing unwanted software.">
This site contains harmful programs This site contains harmful programs
</message> </message>
<message name="IDS_PAGE_INFO_UNWANTED_SOFTWARE_SUMMARY_NEW" desc="A one-line summary at the top of the Page Info bubble (which shows when you click the security indicator) if the current website has been flagged as containing unwanted software.">
Dangerous site
</message>
<!-- Internal page summary strings --> <!-- Internal page summary strings -->
<!-- Note: IDS_PAGE_INFO_INTERNAL_PAGE would be here, but it is in components_{chromium,google_chrome}_strings.grd because it uses the browser name. --> <!-- Note: IDS_PAGE_INFO_INTERNAL_PAGE would be here, but it is in components_{chromium,google_chrome}_strings.grd because it uses the browser name. -->
@ -82,12 +91,21 @@
<message name="IDS_PAGE_INFO_MALWARE_DETAILS" desc="A short paragraph explaining to the user that the current website has been flagged as containing malware."> <message name="IDS_PAGE_INFO_MALWARE_DETAILS" desc="A short paragraph explaining to the user that the current website has been flagged as containing malware.">
Attackers on this site might attempt to install dangerous programs on your computer that steal or delete your information (for example, photos, passwords, messages, and credit cards). Attackers on this site might attempt to install dangerous programs on your computer that steal or delete your information (for example, photos, passwords, messages, and credit cards).
</message> </message>
<message name="IDS_PAGE_INFO_MALWARE_DETAILS_NEW" desc="A short paragraph explaining to the user that the current website has been flagged as containing malware.">
Attackers on the site you're trying to visit might install harmful software that steals or deletes things like your password, photos, messages, or credit card number.
</message>
<message name="IDS_PAGE_INFO_SOCIAL_ENGINEERING_DETAILS" desc="A short paragraph explaining to the user that the current website has been flagged as social engineering."> <message name="IDS_PAGE_INFO_SOCIAL_ENGINEERING_DETAILS" desc="A short paragraph explaining to the user that the current website has been flagged as social engineering.">
Attackers on this site may trick you into doing something dangerous like installing software or revealing your personal information (for example, passwords, phone numbers, or credit cards). Attackers on this site may trick you into doing something dangerous like installing software or revealing your personal information (for example, passwords, phone numbers, or credit cards).
</message> </message>
<message name="IDS_PAGE_INFO_SOCIAL_ENGINEERING_DETAILS_NEW" desc="A short paragraph explaining to the user that the current website has been flagged as social engineering.">
Attackers on the site you're trying to visit might trick you into installing software or revealing things like your password, phone, or credit card number.
</message>
<message name="IDS_PAGE_INFO_UNWANTED_SOFTWARE_DETAILS" desc="A short paragraph explaining to the user that the current website has been flagged as containing unwanted software."> <message name="IDS_PAGE_INFO_UNWANTED_SOFTWARE_DETAILS" desc="A short paragraph explaining to the user that the current website has been flagged as containing unwanted software.">
Attackers on this site might try to trick you into installing programs that harm your browsing experience (for example, by changing your homepage or showing extra ads on sites you visit). Attackers on this site might try to trick you into installing programs that harm your browsing experience (for example, by changing your homepage or showing extra ads on sites you visit).
</message> </message>
<message name="IDS_PAGE_INFO_UNWANTED_SOFTWARE_DETAILS_NEW" desc="A short paragraph explaining to the user that the current website has been flagged as containing unwanted software.">
Attackers on the site you're trying to visit might trick you into installing harmful software that affects the way you browse — for example, by changing your homepage or showing you extra ads on sites you visit.
</message>
<!-- Identity detail strings shared with iOS --> <!-- Identity detail strings shared with iOS -->
<message name="IDS_PAGE_INFO_SECURITY_TAB_INSECURE_IDENTITY" desc="The text of the identity section when the page is not secure."> <message name="IDS_PAGE_INFO_SECURITY_TAB_INSECURE_IDENTITY" desc="The text of the identity section when the page is not secure.">
@ -362,11 +380,17 @@
<message name="IDS_PAGE_INFO_SELECTOR_TOOLTIP" desc="The text of the tooltip on the page info selector."> <message name="IDS_PAGE_INFO_SELECTOR_TOOLTIP" desc="The text of the tooltip on the page info selector.">
Select permission for <ph name="PERMISSION_NAME">$1<ex>Location</ex></ph> Select permission for <ph name="PERMISSION_NAME">$1<ex>Location</ex></ph>
</message> </message>
<message name="IDS_PAGE_INFO_SELECTOR_STORAGE_ACCESS_TOOLTIP" desc="The text of the tooltip on the page info selector for the storage access permission.">
Allow <ph name="SITE">$1<ex>example.com</ex></ph> to use info they've saved about you
</message>
<!-- Permission ask strings --> <!-- Permission ask strings -->
<message name="IDS_PAGE_INFO_STATE_TEXT_AR_ASK" desc="The Page Info permission subpage and the main page info page contain a label which shows the state of the site permission. This is the text shown if the AR permission is in the ask state and the site can prompt the user to ask if they want to allow the site to track their camera position."> <message name="IDS_PAGE_INFO_STATE_TEXT_AR_ASK" desc="The Page Info permission subpage and the main page info page contain a label which shows the state of the site permission. This is the text shown if the AR permission is in the ask state and the site can prompt the user to ask if they want to allow the site to track their camera position.">
Can ask to track your camera position Can ask to track your camera position
</message> </message>
<message name="IDS_PAGE_INFO_STATE_TEXT_AUTO_PICTURE_IN_PICTURE_ASK" desc="The Page Info permission subpage and the main page info page contain a label which shows the state of the site permission. This is the text shown if the auto picture-in-picture permission is in the ask state and the site can prompt the user to ask if they want to allow the site to automatically open picture-in-picture windows..">
Can ask to enter picture-in-picture
</message>
<message name="IDS_PAGE_INFO_STATE_TEXT_AUTOMATIC_DOWNLOADS_ASK" desc="The Page Info permission subpage and the main page info page contain a label which shows the state of the site permission. This is the text shown if the automatic download permission is in the ask state and the site can prompt the user to ask if they allow the site to automatically download multiple files."> <message name="IDS_PAGE_INFO_STATE_TEXT_AUTOMATIC_DOWNLOADS_ASK" desc="The Page Info permission subpage and the main page info page contain a label which shows the state of the site permission. This is the text shown if the automatic download permission is in the ask state and the site can prompt the user to ask if they allow the site to automatically download multiple files.">
Can ask to automatically download multiple files Can ask to automatically download multiple files
</message> </message>
@ -628,13 +652,13 @@
Expires On Expires On
</message> </message>
<message name="IDS_CERT_INFO_FINGERPRINTS_GROUP" desc="The label of the group showing the certificate fingerprints in the general page of the certificate info dialog"> <message name="IDS_CERT_INFO_FINGERPRINTS_GROUP" desc="The label of the group showing the certificate fingerprints in the general page of the certificate info dialog">
Fingerprints SHA-256 Fingerprints
</message> </message>
<message name="IDS_CERT_INFO_SHA256_FINGERPRINT_LABEL" desc="The label of the SHA-256 Fingerprint field in the general page of the certificate info dialog"> <message name="IDS_CERT_INFO_SHA256_FINGERPRINT_LABEL" desc="The label of the SHA-256 Certificate Fingerprint field in the general page of the certificate info dialog">
SHA-256 Fingerprint Certificate
</message> </message>
<message name="IDS_CERT_INFO_SHA1_FINGERPRINT_LABEL" desc="The label of the SHA-1 Fingerprint field in the general page of the certificate info dialog"> <message name="IDS_CERT_INFO_SHA256_SPKI_FINGERPRINT_LABEL" desc="The label of the SHA-256 SPKI Fingerprint field in the general page of the certificate info dialog">
SHA-1 Fingerprint Public Key
</message> </message>
<message name="IDS_CERT_DETAILS_EXTENSIONS" desc="The label of the Extensions element in the details page of the certificate info dialog."> <message name="IDS_CERT_DETAILS_EXTENSIONS" desc="The label of the Extensions element in the details page of the certificate info dialog.">
@ -691,14 +715,29 @@
<!-- Cookies subpage --> <!-- Cookies subpage -->
<message name="IDS_PAGE_INFO_COOKIES_HEADER" desc="The header label of cookies subpage in Page Info bubble."> <message name="IDS_PAGE_INFO_COOKIES_HEADER" desc="The header label of cookies subpage in Page Info bubble.">
Cookies and site data Cookies and site data
</message> </message>
<message name="IDS_PAGE_INFO_COOKIES_DESCRIPTION" desc="The descritpion of cookies in Cookies Subpage with placeholder for link to settings."> <message name="IDS_PAGE_INFO_TRACKING_PROTECTION_SITE_INFO_BUTTON_NAME" desc="A button in the Page Info bubble (which shows when you click the lock icon) that expands to another bubble detailing the user's Tracking protection settings.">
Tracking Protection
</message>
<message name="IDS_PAGE_INFO_SUB_PAGE_VIEW_TRACKING_PROTECTION_HEADER" desc="The header label of Tracking Protection subview page.">
Tracking Protection
</message>
<message name="IDS_PAGE_INFO_COOKIES_DESCRIPTION" desc="The description of cookies in Cookies Subpage with placeholder for link to settings.">
Cookies and other site data are used to remember you, for example to sign you in or to personalize ads. To manage cookies for all sites, see <ph name="SETTINGS">$1<ex>Settings</ex></ph>. Cookies and other site data are used to remember you, for example to sign you in or to personalize ads. To manage cookies for all sites, see <ph name="SETTINGS">$1<ex>Settings</ex></ph>.
</message> </message>
<message name="IDS_PAGE_INFO_TRACKING_PROTECTION_DESCRIPTION" desc="Description text for the Tracking Protection subpage in the page info bubble. Contains a link to the Tracking Protection settings page.">
Thorium limits most sites from using third-party cookies to track you as you browse. Visit settings to <ph name="LINK">$1<ex>manage your tracking protections</ex></ph>.
</message>
<message name="IDS_PAGE_INFO_TRACKING_PROTECTION_BLOCKED_COOKIES_DESCRIPTION" desc="Description text for the Tracking Protection subpage in the page info bubble if all cookies are blocked. Contains a link to the Tracking Protection settings page.">
You blocked sites from using third-party cookies to track you as you browse. Visit settings to <ph name="LINK">$1<ex>manage your tracking protections</ex></ph>.
</message>
<message name="IDS_PAGE_INFO_COOKIES_SETTINGS_LINK" desc="The text of the link to cookies settings."> <message name="IDS_PAGE_INFO_COOKIES_SETTINGS_LINK" desc="The text of the link to cookies settings.">
Settings Settings
</message> </message>
<message name="IDS_PAGE_INFO_TRACKING_PROTECTION_SETTINGS_LINK" desc="The text of the link to the tracking protection settings used within the tracking protection description.">
manage your tracking protections
</message>
<message name="IDS_PAGE_INFO_BLOCK_THIRD_PARTY_COOKIES_TITLE" desc="The title on the blocking third-party cookies toggle in cookies subpage."> <message name="IDS_PAGE_INFO_BLOCK_THIRD_PARTY_COOKIES_TITLE" desc="The title on the blocking third-party cookies toggle in cookies subpage.">
Block third-party cookies Block third-party cookies
</message> </message>
@ -805,6 +844,9 @@
<message name="IDS_PAGE_INFO_COOKIES_SITE_NOT_WORKING_DESCRIPTION_TEMPORARY" desc="Descriptive text in the page info bubble explaining the trade-off of temporarily allowing third-party cookies for this site, a change that will automatically expire in the future."> <message name="IDS_PAGE_INFO_COOKIES_SITE_NOT_WORKING_DESCRIPTION_TEMPORARY" desc="Descriptive text in the page info bubble explaining the trade-off of temporarily allowing third-party cookies for this site, a change that will automatically expire in the future.">
Try temporarily allowing third-party cookies, which means less protection but site features are more likely to work Try temporarily allowing third-party cookies, which means less protection but site features are more likely to work
</message> </message>
<message name="IDS_PAGE_INFO_TRACKING_PROTECTION_SITE_NOT_WORKING_DESCRIPTION_TEMPORARY" desc="Descriptive text in the page info bubble explaining the trade-off of temporarily allowing third-party cookies for this site, a change that will automatically expire in the future.">
Try temporarily allowing third-party cookies, which means less browsing protection but site features are more likely to work as expected.
</message>
<message name="IDS_PAGE_INFO_COOKIES_SITE_NOT_WORKING_DESCRIPTION_PERMANENT" desc="Descriptive text in the page info bubble explaining the trade-off of allowing third-party cookies for this site, a change that will not automatically expire in the future."> <message name="IDS_PAGE_INFO_COOKIES_SITE_NOT_WORKING_DESCRIPTION_PERMANENT" desc="Descriptive text in the page info bubble explaining the trade-off of allowing third-party cookies for this site, a change that will not automatically expire in the future.">
Try allowing third-party cookies, which means less protection but site features are more likely to work Try allowing third-party cookies, which means less protection but site features are more likely to work
</message> </message>
@ -817,9 +859,24 @@
=1 {Thorium will block cookies again tomorrow} =1 {Thorium will block cookies again tomorrow}
other {# days until Thorium blocks cookies again}} other {# days until Thorium blocks cookies again}}
</message> </message>
<message name="IDS_PAGE_INFO_TRACKING_PROTECTION_COOKIES_LIMITING_RESTART_TITLE" desc="Subtitle shown on the page info bubble indicating how long until cookies are limited again.">
{COUNT, plural,
=0 {Thorium will limit cookies again today}
=1 {Thorium will limit cookies again tomorrow}
other {# days until Thorium limits cookies again}}
</message>
<message name="IDS_PAGE_INFO_TRACKING_PROTECTION_COOKIES_3PC_BLOCKED_RESTART_TITLE" desc="Subtitle shown on the page info bubble indicating how long until cookies are blocked again.">
{COUNT, plural,
=0 {Cookies will be blocked again today}
=1 {Cookies will be blocked again tomorrow}
other {# days until cookies are blocked again}}
</message>
<message name="IDS_PAGE_INFO_COOKIES_BLOCKING_RESTART_DESCRIPTION_TODAY" desc="Descriptive text in the page info bubble after the user has allowed third-party cookies on a site explaining the trade-off of their decision."> <message name="IDS_PAGE_INFO_COOKIES_BLOCKING_RESTART_DESCRIPTION_TODAY" desc="Descriptive text in the page info bubble after the user has allowed third-party cookies on a site explaining the trade-off of their decision.">
You allowed this site to use third-party cookies. This means that most site features should work, but you have less protection. You allowed this site to use third-party cookies. This means that most site features should work, but you have less protection.
</message> </message>
<message name="IDS_PAGE_INFO_COOKIES_TRACKING_PROTECTION_COOKIES_RESTART_DESCRIPTION" desc="Descriptive text in the page info bubble after the user has temporarily allowed third-party cookies on a site explaining the browsing protection trade-off of their decision.">
You temporarily allowed this site to use third-party cookies, which means less browsing protection but site features are more likely to work as expected.
</message>
<message name="IDS_PAGE_INFO_COOKIES_PERMANENT_ALLOWED_TITLE" desc="A subtitle in the page info bubble if cookies were allowed by the user and they won't be automatically blocked again the future."> <message name="IDS_PAGE_INFO_COOKIES_PERMANENT_ALLOWED_TITLE" desc="A subtitle in the page info bubble if cookies were allowed by the user and they won't be automatically blocked again the future.">
You allowed third-party cookies for this site You allowed third-party cookies for this site
</message> </message>

View file

@ -240,6 +240,9 @@
<message name="IDS_SAFEBROWSING_OVERRIDABLE_SAFETY_BUTTON" desc="The text for the button that takes the user back to the previous page."> <message name="IDS_SAFEBROWSING_OVERRIDABLE_SAFETY_BUTTON" desc="The text for the button that takes the user back to the previous page.">
Back to safety Back to safety
</message> </message>
<message name="IDS_HEADING_NEW" desc="The large heading at the top of the interstitial.">
Dangerous site
</message>
<!-- Malware interstitial --> <!-- Malware interstitial -->
<if expr="is_android"> <if expr="is_android">
@ -277,12 +280,27 @@
<message name="IDS_MALWARE_V3_PROCEED_PARAGRAPH" desc="The paragraph that lets the user skip the warning."> <message name="IDS_MALWARE_V3_PROCEED_PARAGRAPH" desc="The paragraph that lets the user skip the warning.">
If you understand the risks to your security, you may <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> before the dangerous programs have been removed. If you understand the risks to your security, you may <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> before the dangerous programs have been removed.
</message> </message>
<message name="IDS_MALWARE_V3_PRIMARY_PARAGRAPH_NEW" desc="Mac: The primary explanatory paragraph for the malware interstitial.">
Attackers on the site you're trying to visit might install harmful software that steals or deletes things like your password, photos, messages, or credit card number. Thorium strongly recommends going back to safety. <ph name="BEGIN_LEARN_MORE_LINK">&lt;a href="#" id="learn-more-link"&gt;</ph>Learn more<ph name="END_LEARN_MORE_LINK">&lt;/a&gt;</ph>
</message>
<message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_NEW" desc="The explanation of why Safe Browsing has blocked the page.">
Thorium has built-in safety features to protect you while you browse — like Google Safe Browsing, which <ph name="BEGIN_LINK">&lt;a href="#" id="diagnostic-link"&gt;</ph>recently found malware<ph name="END_LINK">&lt;/a&gt;</ph> on the site you're trying to visit.
</message>
<message name="IDS_MALWARE_V3_EXPLANATION_PARAGRAPH_SUBRESOURCE_NEW" desc="The explanation of why Safe Browsing has blocked the page.">
Thorium has built-in safety features to protect you while you browse, like Google Safe Browsing. Safe Browsing <ph name="BEGIN_LINK">&lt;a href="#" id="diagnostic-link"&gt;</ph>recently found malware on <ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_LINK">&lt;/a&gt;</ph>, which is embedded in the site you're trying to visit.
</message>
<message name="IDS_MALWARE_V3_PROCEED_PARAGRAPH_NEW" desc="The paragraph that lets the user skip the warning.">
Even sites that are normally safe are sometimes compromised by attackers. Only visit <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> if you're sure you understand the risks.
</message>
<message name="IDS_SAFE_BROWSING_SCOUT_REPORTING_AGREE" desc="SafeBrowsing Scout label next to checkbox"> <message name="IDS_SAFE_BROWSING_SCOUT_REPORTING_AGREE" desc="SafeBrowsing Scout label next to checkbox">
Help improve security on the web for everyone by sending <ph name="BEGIN_WHITEPAPER_LINK">&lt;a href="#" id="whitepaper-link"&gt;</ph>URLs of some pages you visit, limited system information, and some page content<ph name="END_WHITEPAPER_LINK">&lt;/a&gt;</ph> to Google. <ph name="BEGIN_PRIVACY_PAGE_LINK">&lt;a id="privacy-link" href="#"&gt;</ph>Privacy policy<ph name="END_PRIVACY_PAGE_LINK">&lt;/a&gt;</ph> Help improve security on the web for everyone by sending <ph name="BEGIN_WHITEPAPER_LINK">&lt;a href="#" id="whitepaper-link"&gt;</ph>URLs of some pages you visit, limited system information, and some page content<ph name="END_WHITEPAPER_LINK">&lt;/a&gt;</ph> to Google. <ph name="BEGIN_PRIVACY_PAGE_LINK">&lt;a id="privacy-link" href="#"&gt;</ph>Privacy policy<ph name="END_PRIVACY_PAGE_LINK">&lt;/a&gt;</ph>
</message> </message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_MESSAGE" desc="SafeBrowsing enhanced protection promo message"> <message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_MESSAGE" desc="SafeBrowsing enhanced protection promo message">
To get Thoriums highest level of security, <ph name="BEGIN_ENHANCED_PROTECTION_LINK">&lt;a href="#" id="enhanced-protection-link"&gt;</ph>turn on enhanced protection<ph name="END_ENHANCED_PROTECTION_LINK">&lt;/a&gt;</ph> To get Thoriums highest level of security, <ph name="BEGIN_ENHANCED_PROTECTION_LINK">&lt;a href="#" id="enhanced-protection-link"&gt;</ph>turn on enhanced protection<ph name="END_ENHANCED_PROTECTION_LINK">&lt;/a&gt;</ph>
</message> </message>
<message name="IDS_SAFE_BROWSING_ENHANCED_PROTECTION_MESSAGE_NEW" desc="SafeBrowsing enhanced protection promo message">
<ph name="BEGIN_ENHANCED_PROTECTION_LINK">&lt;a href="#" id="enhanced-protection-link"&gt;</ph>Turn on enhanced protection<ph name="END_ENHANCED_PROTECTION_LINK">&lt;/a&gt;</ph> to get Thorium's highest level of security
</message>
<!-- Harmful download interstitial --> <!-- Harmful download interstitial -->
<if expr="is_android"> <if expr="is_android">
@ -320,6 +338,22 @@
</message> </message>
</if> </if>
<message name="IDS_HARMFUL_V3_PRIMARY_PARAGRAPH_NEW" desc="The primary explanatory paragraph for the unwanted software interstitial.">
Attackers on the site you're trying to visit might trick you into installing harmful software that affects the way you browse — for example, by changing your homepage or showing you extra ads on sites you visit. Thorium strongly recommends going back to safety to avoid harm. <ph name="BEGIN_LEARN_MORE_LINK">&lt;a href="#" id="learn-more-link"&gt;</ph>Learn more<ph name="END_LEARN_MORE_LINK">&lt;/a&gt;</ph>
</message>
<message name="IDS_HARMFUL_V3_EXPLANATION_PARAGRAPH_NEW" desc="The explanation of why Safe Browsing has blocked the page.">
Thorium has built-in safety features to protect you while you browse — like Google Safe Browsing, which recently <ph name="BEGIN_LINK">&lt;a href="#" id="diagnostic-link"&gt;</ph>found harmful software<ph name="END_LINK">&lt;/a&gt;</ph> on the site you're trying to visit.
</message>
<message name="IDS_HARMFUL_V3_EXPLANATION_PARAGRAPH_SUBRESOURCE_NEW" desc="The explanation of why Safe Browsing has blocked the page.">
Thorium has built-in safety features to protect you while you browse, like Google Safe Browsing. Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="diagnostic-link"&gt;</ph>found harmful software on <ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_LINK">&lt;/a&gt;</ph>, which is embedded in the site if you're trying to visit.
</message>
<message name="IDS_HARMFUL_V3_PROCEED_PARAGRAPH_NEW" desc="The paragraph that lets the user skip the warning.">
Even sites that are normally safe are sometimes compromised by attackers. Only visit <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> if you're sure you understand the risks.
</message>
<!-- Phishing interstitial --> <!-- Phishing interstitial -->
<message name="IDS_PHISHING_V4_HEADING" desc="The large heading at the top of the phishing interstitial."> <message name="IDS_PHISHING_V4_HEADING" desc="The large heading at the top of the phishing interstitial.">
Deceptive site ahead Deceptive site ahead
@ -333,6 +367,18 @@
<message name="IDS_PHISHING_V4_PROCEED_AND_REPORT_PARAGRAPH" desc="The paragraph that lets the user skip the warning."> <message name="IDS_PHISHING_V4_PROCEED_AND_REPORT_PARAGRAPH" desc="The paragraph that lets the user skip the warning.">
You can <ph name="BEGIN_ERROR_LINK">&lt;a href="#" id="report-error-link"&gt;</ph>report a detection problem<ph name="END_ERROR_LINK">&lt;/a&gt;</ph> or, if you understand the risks to your security, <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph>. You can <ph name="BEGIN_ERROR_LINK">&lt;a href="#" id="report-error-link"&gt;</ph>report a detection problem<ph name="END_ERROR_LINK">&lt;/a&gt;</ph> or, if you understand the risks to your security, <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>visit this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph>.
</message> </message>
<message name="IDS_PHISHING_V4_PRIMARY_PARAGRAPH_NEW" desc="The primary explanatory paragraph for the phishing interstitial.">
Attackers on the site you're trying to visit might trick you into installing software or revealing things like your password, phone, or credit card number. Thorium strongly recommends going back to safety. <ph name="BEGIN_LEARN_MORE_LINK">&lt;a href="#" id="learn-more-link"&gt;</ph>Learn more<ph name="END_LEARN_MORE_LINK">&lt;/a&gt;</ph>
</message>
<message name="IDS_PHISHING_V4_EXPLANATION_PARAGRAPH_NEW" desc="The explanation of why Safe Browsing has blocked the page.">
Thorium has built-in safety features to protect you while you browse — like Google Safe Browsing, which <ph name="BEGIN_LINK">&lt;a href="#" id="diagnostic-link"&gt;</ph>recently found phishing<ph name="END_LINK">&lt;/a&gt;</ph> on the site you're trying to visit. Phishing sites pretend to be other sites to trick you.<ph name="NEW_LINE">&lt;br/&gt;&lt;br/&gt;</ph>Even sites that are normally safe are sometimes compromised by attackers. <ph name="BEGIN_ERROR_LINK">&lt;a href="#" id="report-error-link"&gt;</ph>Let us know<ph name="END_ERROR_LINK">&lt;/a&gt;</ph> if you think there's been a mistake and that this site doesn't pose a danger.
</message>
<message name="IDS_PHISHING_V4_EXPLANATION_PARAGRAPH_SUBRESOURCE_NEW" desc="The explanation of why Safe Browsing has blocked the page.">
Thorium has built-in safety features to protect you while you browse, like Google Safe Browsing. Safe Browsing recently <ph name="BEGIN_LINK">&lt;a href="#" id="diagnostic-link"&gt;</ph>found phishing on <ph name="SITE">$1<ex>example.com</ex></ph><ph name="END_LINK">&lt;/a&gt;</ph>, which is embedded in the site you're trying to visit.<ph name="NEW_LINE">&lt;br/&gt;&lt;br/&gt;</ph>Even sites that are normally safe are sometimes compromised by attackers. <ph name="BEGIN_ERROR_LINK">&lt;a href="#" id="report-error-link"&gt;</ph>Let us know<ph name="END_ERROR_LINK">&lt;/a&gt;</ph> if you think there's been a mistake and that this site doesn't pose a danger.
</message>
<message name="IDS_PHISHING_V4_PROCEED_PARAGRAPH_NEW" desc="The paragraph that lets the user skip the warning.">
Only visit <ph name="BEGIN_LINK">&lt;a href="#" id="proceed-link"&gt;</ph>this unsafe site<ph name="END_LINK">&lt;/a&gt;</ph> if you're sure you understand the risks.
</message>
<!-- WebView Safe Browsing quiet interstitials medium sized --> <!-- WebView Safe Browsing quiet interstitials medium sized -->
<message name="IDS_MALWARE_WEBVIEW_HEADING" desc="The heading of the malware interstitial on medium sized Webview."> <message name="IDS_MALWARE_WEBVIEW_HEADING" desc="The heading of the malware interstitial on medium sized Webview.">

View file

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2023 Alex313031. -->
<grit-part> <grit-part>
<message name="IDS_VERSION_UI_TITLE" desc="Title on the about:version page"> <message name="IDS_VERSION_UI_TITLE" desc="Title on the about:version page">
About Thorium Version About Thorium Version
@ -54,7 +53,7 @@
<message name="IDS_VERSION_UI_COMMAND_LINE" desc="label for the command line on the about:version page"> <message name="IDS_VERSION_UI_COMMAND_LINE" desc="label for the command line on the about:version page">
Command Line Command Line
</message> </message>
<if expr="chromeos_ash"> <if expr="is_chromeos">
<message name="IDS_VERSION_UI_BUILD_DATE" desc="label for build date on the about:version page"> <message name="IDS_VERSION_UI_BUILD_DATE" desc="label for build date on the about:version page">
Build Date Build Date
</message> </message>
@ -68,6 +67,9 @@
<message name="IDS_VERSION_UI_COPY_LABEL" desc="label for the button to copy the version string"> <message name="IDS_VERSION_UI_COPY_LABEL" desc="label for the button to copy the version string">
Copy version string Copy version string
</message> </message>
<message name="IDS_VERSION_UI_COPY_NOTICE" desc="text to be read by a screenreader when the version string is done being copied">
Copied version string to clipboard
</message>
<message name="IDS_VERSION_UI_EXECUTABLE_PATH" desc="label for the executable path on the about:version page"> <message name="IDS_VERSION_UI_EXECUTABLE_PATH" desc="label for the executable path on the about:version page">
Executable Path Executable Path
</message> </message>
@ -98,8 +100,8 @@
<message name="IDS_VERSION_UI_OS_TEXT2_LABEL" desc="End label text on the os://version page from ThoriumOS which directs a user to a dialog showing Thorium browser specific version - enclosing url link."> <message name="IDS_VERSION_UI_OS_TEXT2_LABEL" desc="End label text on the os://version page from ThoriumOS which directs a user to a dialog showing Thorium browser specific version - enclosing url link.">
. .
</message> </message>
<message name="IDS_VERSION_UI_OS_LINK" translateable="false" desc="Label for a button on the os://version page from ThoriumOS that will call a new window which allows to change Thorium browser version."> <message name="IDS_VERSION_UI_OS_LINK" translateable="false" desc="Anchor tag on the os://version page from ThoriumOS that will open a new browser tab which shows Thorium browser version.">
chrome://version <ph name="BEGIN_LINK">&lt;a href="#" id="os-link-href" aria-describedby="os-link-desc"&gt;</ph>chrome://version<ph name="END_LINK">&lt;/a&gt;</ph>
</message> </message>
</if> </if>
<if expr="chromeos_lacros"> <if expr="chromeos_lacros">
@ -109,8 +111,8 @@
<message name="IDS_VERSION_UI_OS_TEXT2_LABEL" desc="End label text on the chrome://version page from ThoriumOS which directs a user to a dialog showing OS specific version - enclosing url link."> <message name="IDS_VERSION_UI_OS_TEXT2_LABEL" desc="End label text on the chrome://version page from ThoriumOS which directs a user to a dialog showing OS specific version - enclosing url link.">
. .
</message> </message>
<message name="IDS_VERSION_UI_OS_LINK" translateable="false" desc="Label for button on the chrome://version page from ThoriumOS that will call a new window which allows to change system version."> <message name="IDS_VERSION_UI_OS_LINK" translateable="false" desc="Anchor tag on the chrome://version page in Lacros that will open a new window which shows the os version.">
os://version <ph name="BEGIN_LINK">&lt;a href="os://version" id="os-link-href" aria-describedby="os-link-desc"&gt;</ph>os://version<ph name="END_LINK">&lt;/a&gt;</ph>
</message> </message>
</if> </if>
</grit-part> </grit-part>

View file

@ -39,6 +39,14 @@ BASE_FEATURE(kAdAuctionReportingWithMacroApi,
"AdAuctionReportingWithMacroApi", "AdAuctionReportingWithMacroApi",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// Controls the capturing of the Ad-Auction-Signals header, and the maximum
// allowed Ad-Auction-Signals header value.
BASE_FEATURE(kAdAuctionSignals,
"AdAuctionSignals",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::FeatureParam<int> kAdAuctionSignalsMaxSizeBytes{
&kAdAuctionSignals, "ad-auction-signals-max-size-bytes", 10000};
// See https://github.com/WICG/turtledove/blob/main/FLEDGE.md // See https://github.com/WICG/turtledove/blob/main/FLEDGE.md
// Changes default Permissions Policy for features join-ad-interest-group and // Changes default Permissions Policy for features join-ad-interest-group and
// run-ad-auction to a more restricted EnableForSelf. // run-ad-auction to a more restricted EnableForSelf.
@ -141,6 +149,12 @@ BASE_FEATURE(kAutofillSendUnidentifiedKeyAfterFill,
"AutofillSendUnidentifiedKeyAfterFill", "AutofillSendUnidentifiedKeyAfterFill",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
// When enabled, Autofill will start identifying web elements using DOMNodeIds
// instead of static counters.
BASE_FEATURE(kAutofillUseDomNodeIdForRendererId,
"AutofillUseDomNodeIdForRendererId",
base::FEATURE_DISABLED_BY_DEFAULT);
// Apply lazy-loading to ad frames which have embeds likely impacting Core Web // Apply lazy-loading to ad frames which have embeds likely impacting Core Web
// Vitals. // Vitals.
BASE_FEATURE(kAutomaticLazyFrameLoadingToAds, BASE_FEATURE(kAutomaticLazyFrameLoadingToAds,
@ -277,7 +291,7 @@ BASE_FEATURE(kBlockingDownloadsInAdFrameWithoutUserActivation,
// crbug.com/1431169 // crbug.com/1431169
BASE_FEATURE(kBoostImagePriority, BASE_FEATURE(kBoostImagePriority,
"BoostImagePriority", "BoostImagePriority",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// The number of images to bopost the priority of before returning // The number of images to bopost the priority of before returning
// to the default (low) priority. // to the default (low) priority.
const base::FeatureParam<int> kBoostImagePriorityImageCount{ const base::FeatureParam<int> kBoostImagePriorityImageCount{
@ -289,7 +303,7 @@ const base::FeatureParam<int> kBoostImagePriorityImageSize{&kBoostImagePriority,
// Number of medium-priority requests to allow in tight-mode independent of the // Number of medium-priority requests to allow in tight-mode independent of the
// total number of outstanding requests. // total number of outstanding requests.
const base::FeatureParam<int> kBoostImagePriorityTightMediumLimit{ const base::FeatureParam<int> kBoostImagePriorityTightMediumLimit{
&kBoostImagePriority, "tight_medium_limit", 1}; &kBoostImagePriority, "tight_medium_limit", 2};
// https://github.com/patcg-individual-drafts/topics // https://github.com/patcg-individual-drafts/topics
// Kill switch for the Topics API. // Kill switch for the Topics API.
@ -339,9 +353,9 @@ const base::FeatureParam<int> kBrowsingTopicsUseRandomTopicProbabilityPercent{
// using that new epoch's topics. The time chosen is a per-site random point in // using that new epoch's topics. The time chosen is a per-site random point in
// time between [calculation time, calculation time + max duration). // time between [calculation time, calculation time + max duration).
const base::FeatureParam<base::TimeDelta> const base::FeatureParam<base::TimeDelta>
kBrowsingTopicsMaxEpochIntroductionDelay{ kBrowsingTopicsMaxEpochIntroductionDelay{&kBrowsingTopicsParameters,
&kBrowsingTopicsParameters, "max_epoch_introduction_delay",
"browsing_topics_max_epoch_introduction_delay", base::Days(2)}; base::Days(2)};
// How many epochs (weeks) of API usage data (i.e. topics observations) will be // How many epochs (weeks) of API usage data (i.e. topics observations) will be
// based off for the filtering of topics for a calling context. // based off for the filtering of topics for a calling context.
const base::FeatureParam<int> const base::FeatureParam<int>
@ -379,7 +393,12 @@ const base::FeatureParam<int> kBrowsingTopicsTaxonomyVersion{
// Comma separated Topic IDs to be blocked. Descendant topics of each blocked // Comma separated Topic IDs to be blocked. Descendant topics of each blocked
// topic will be blocked as well. // topic will be blocked as well.
const base::FeatureParam<std::string> kBrowsingTopicsDisabledTopicsList{ const base::FeatureParam<std::string> kBrowsingTopicsDisabledTopicsList{
&kBrowsingTopicsParameters, "browsing_topics_disabled_topics_list", ""}; &kBrowsingTopicsParameters, "disabled_topics_list", ""};
// Comma separated list of Topic IDs. Prioritize these topics and their
// descendants during top topic selection.
const base::FeatureParam<std::string> kBrowsingTopicsPrioritizedTopicsList{
&kBrowsingTopicsParameters, "prioritized_topics_list", ""};
// Enables the deprecatedBrowsingTopics XHR attribute. For this feature to take // Enables the deprecatedBrowsingTopics XHR attribute. For this feature to take
// effect, the main Topics feature has to be enabled first (i.e. // effect, the main Topics feature has to be enabled first (i.e.
@ -399,12 +418,12 @@ BASE_FEATURE(kCORSErrorsIssueOnly,
// (https://crbug.com/1260908). // (https://crbug.com/1260908).
BASE_FEATURE(kCacheCodeOnIdle, BASE_FEATURE(kCacheCodeOnIdle,
"CacheCodeOnIdle", "CacheCodeOnIdle",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
const base::FeatureParam<int> kCacheCodeOnIdleDelayParam{&kCacheCodeOnIdle, const base::FeatureParam<int> kCacheCodeOnIdleDelayParam{&kCacheCodeOnIdle,
"delay-in-ms", 0}; "delay-in-ms", 1};
// Apply CacheCodeOnIdle only for service workers (https://crbug.com/1410082). // Apply CacheCodeOnIdle only for service workers (https://crbug.com/1410082).
const base::FeatureParam<bool> kCacheCodeOnIdleDelayServiceWorkerOnlyParam{ const base::FeatureParam<bool> kCacheCodeOnIdleDelayServiceWorkerOnlyParam{
&kCacheCodeOnIdle, "service-worker-only", false}; &kCacheCodeOnIdle, "service-worker-only", true};
// When enabled allows the header name used in the blink // When enabled allows the header name used in the blink
// CacheStorageCodeCacheHint runtime feature to be modified. This runtime // CacheStorageCodeCacheHint runtime feature to be modified. This runtime
@ -417,12 +436,6 @@ BASE_FEATURE(kCacheStorageCodeCacheHintHeader,
const base::FeatureParam<std::string> kCacheStorageCodeCacheHintHeaderName{ const base::FeatureParam<std::string> kCacheStorageCodeCacheHintHeaderName{
&kCacheStorageCodeCacheHintHeader, "name", "x-CacheStorageCodeCacheHint"}; &kCacheStorageCodeCacheHintHeader, "name", "x-CacheStorageCodeCacheHint"};
// Modifies the logic in `blink::CanChangeToUrlForHistoryApi()` to be more
// spec-compliant.
BASE_FEATURE(kCanChangeToUrlForHistoryApiUpdate,
"CanChangeToUrlForHistoryApiUpdate",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE( BASE_FEATURE(
kCanvas2DHibernation, kCanvas2DHibernation,
"Canvas2DHibernation", "Canvas2DHibernation",
@ -449,21 +462,6 @@ BASE_FEATURE(kCheckHTMLParserBudgetLessOften,
"CheckHTMLParserBudgetLessOften", "CheckHTMLParserBudgetLessOften",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
// Dispatches a fake fetch event to a service worker to check the offline
// capability of the site before promoting installation.
// See https://crbug.com/965802 for more details.
BASE_FEATURE(kCheckOfflineCapability,
"CheckOfflineCapability",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<CheckOfflineCapabilityMode>::Option
check_offline_capability_types[] = {
{CheckOfflineCapabilityMode::kWarnOnly, "warn_only"},
{CheckOfflineCapabilityMode::kEnforce, "enforce"}};
const base::FeatureParam<CheckOfflineCapabilityMode>
kCheckOfflineCapabilityParam{&kCheckOfflineCapability, "check_mode",
CheckOfflineCapabilityMode::kWarnOnly,
&check_offline_capability_types};
// Enable `sec-ch-dpr` client hint. // Enable `sec-ch-dpr` client hint.
BASE_FEATURE(kClientHintsDPR, BASE_FEATURE(kClientHintsDPR,
"ClientHintsDPR", "ClientHintsDPR",
@ -489,6 +487,11 @@ BASE_FEATURE(kClientHintsFormFactor,
"ClientHintsFormFactor", "ClientHintsFormFactor",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
// Enable `sec-ch-prefers-reduced-transparency` client hint.
BASE_FEATURE(kClientHintsPrefersReducedTransparency,
"ClientHintsPrefersReducedTransparency",
base::FEATURE_ENABLED_BY_DEFAULT);
// Enable `sec-ch-width` client hint. // Enable `sec-ch-width` client hint.
BASE_FEATURE(kClientHintsResourceWidth, BASE_FEATURE(kClientHintsResourceWidth,
"ClientHintsResourceWidth", "ClientHintsResourceWidth",
@ -541,11 +544,6 @@ BASE_FEATURE(kContentCaptureConstantStreaming,
"ContentCaptureConstantStreaming", "ContentCaptureConstantStreaming",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// Controls whether the Conversion Measurement API infrastructure is enabled.
BASE_FEATURE(kConversionMeasurement,
"ConversionMeasurement",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kCorrectFloatExtensionTestForWebGL, BASE_FEATURE(kCorrectFloatExtensionTestForWebGL,
"CorrectFloatExtensionTestForWebGL", "CorrectFloatExtensionTestForWebGL",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
@ -557,12 +555,6 @@ BASE_FEATURE(kCreateImageBitmapOrientationNone,
"CreateImageBitmapOrientationNone", "CreateImageBitmapOrientationNone",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
// TODO(https://crbug.com/1453572): Remove this if this behavior does not need
// to be rolled back on stable.
BASE_FEATURE(kCrossOriginAccessOnDetachedWindowDoesNotThrow,
"CrossOriginAccessOnDetachedWindowDoesNotThrow",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDOMContentLoadedWaitForAsyncScript, BASE_FEATURE(kDOMContentLoadedWaitForAsyncScript,
"DOMContentLoadedWaitForAsyncScript", "DOMContentLoadedWaitForAsyncScript",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
@ -571,19 +563,6 @@ BASE_FEATURE(kDecodeScriptSourceOffThread,
"DecodeScriptSourceOffThread", "DecodeScriptSourceOffThread",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// Decodes jpeg 4:2:0 formatted images to YUV instead of RGBX and stores in this
// format in the image decode cache. See crbug.com/919627 for details on the
// feature.
BASE_FEATURE(kDecodeJpeg420ImagesToYUV,
"DecodeJpeg420ImagesToYUV",
base::FEATURE_ENABLED_BY_DEFAULT);
// Decodes lossy WebP images to YUV instead of RGBX and stores in this format
// in the image decode cache. See crbug.com/900264 for details on the feature.
BASE_FEATURE(kDecodeLossyWebPImagesToYUV,
"DecodeLossyWebPImagesToYUV",
base::FEATURE_ENABLED_BY_DEFAULT);
// When enabled, pages that don't specify a layout width will default to the // When enabled, pages that don't specify a layout width will default to the
// window width rather than the traditional mobile fallback width of 980px. // window width rather than the traditional mobile fallback width of 980px.
// Has no effect unless viewport handling is enabled. // Has no effect unless viewport handling is enabled.
@ -662,12 +641,6 @@ const base::FeatureParam<double> kCostReductionOfMultiplexedRequests{
&kDelayLowPriorityRequestsAccordingToNetworkState, &kDelayLowPriorityRequestsAccordingToNetworkState,
"CostReductionOfMultiplexedRequests", 0.5}; "CostReductionOfMultiplexedRequests", 0.5};
// Allows web apps to customize their tab strip. See explainer for more detail:
// https://github.com/WICG/manifest-incubations/blob/gh-pages/tabbed-mode-explainer.md
BASE_FEATURE(kDesktopPWAsTabStripCustomizations,
"DesktopPWAsTabStripCustomizations",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDirectCompositorThreadIpc, BASE_FEATURE(kDirectCompositorThreadIpc,
"DirectCompositorThreadIpc", "DirectCompositorThreadIpc",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
@ -676,6 +649,10 @@ BASE_FEATURE(kDisableArrayBufferSizeLimitsForTesting,
"DisableArrayBufferSizeLimitsForTesting", "DisableArrayBufferSizeLimitsForTesting",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDiscardInputEventsToRecentlyMovedFrames,
"DiscardInputEventsToRecentlyMovedFrames",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kDisableThirdPartyStoragePartitioningDeprecationTrial, BASE_FEATURE(kDisableThirdPartyStoragePartitioningDeprecationTrial,
"DisableThirdPartyStoragePartitioningDeprecationTrial", "DisableThirdPartyStoragePartitioningDeprecationTrial",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
@ -717,10 +694,6 @@ BASE_FEATURE(kEarlyExitOnNoopClassOrStyleChange,
"EarlyExitOnNoopClassOrStyleChange", "EarlyExitOnNoopClassOrStyleChange",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kEnableMachineLearningNeuralNetworkService,
"MachineLearningNeuralNetworkService",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEstablishGpuChannelAsync, BASE_FEATURE(kEstablishGpuChannelAsync,
"EstablishGpuChannelAsync", "EstablishGpuChannelAsync",
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
@ -748,18 +721,19 @@ BASE_FEATURE(kEventTimingReportAllEarlyEntriesOnPaintedPresentation,
BASE_FEATURE(kDeprecateUnload, BASE_FEATURE(kDeprecateUnload,
"DeprecateUnload", "DeprecateUnload",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
// If enabled, each user experiences the deprecation on a certain % of origins. // If < 100, each user experiences the deprecation on this % of origins.
// Which origins varies per user. This has no effect with DeprecateUnload. // Which origins varies per user.
BASE_FEATURE(kDeprecateUnloadByUserAndOrigin, const base::FeatureParam<int> kDeprecateUnloadPercent{&kDeprecateUnload,
"DeprecateUnloadByUserAndOrigin", "rollout_percent", 100};
base::FEATURE_DISABLED_BY_DEFAULT);
// This controls what % of origins have the deprecation for this user.
const base::FeatureParam<int> kDeprecateUnloadPercent{
&kDeprecateUnloadByUserAndOrigin, "rollout_percent", 0};
// This buckets users, with users in each bucket having a consistent experience // This buckets users, with users in each bucket having a consistent experience
// of the unload deprecation rollout. // of the unload deprecation rollout.
const base::FeatureParam<int> kDeprecateUnloadBucket{ const base::FeatureParam<int> kDeprecateUnloadBucket{&kDeprecateUnload,
&kDeprecateUnloadByUserAndOrigin, "rollout_bucket", 0}; "rollout_bucket", 0};
// A list of hosts for which deprecation of unload is allowed. If it's empty
// the all hosts are allowed.
const base::FeatureParam<std::string> kDeprecateUnloadAllowlist{
&kDeprecateUnload, "allowlist", ""};
// Controls whether LCP calculations should exclude low-entropy images. If // Controls whether LCP calculations should exclude low-entropy images. If
// enabled, then the associated parameter sets the cutoff, expressed as the // enabled, then the associated parameter sets the cutoff, expressed as the
@ -773,16 +747,26 @@ BASE_FEATURE(kExcludeLowEntropyImagesFromLCP,
const base::FeatureParam<double> kMinimumEntropyForLCP{ const base::FeatureParam<double> kMinimumEntropyForLCP{
&kExcludeLowEntropyImagesFromLCP, "min_bpp", 0.05}; &kExcludeLowEntropyImagesFromLCP, "min_bpp", 0.05};
BASE_FEATURE(kExtendScriptResourceLifetime,
"ExtendScriptResourceLifetime",
base::FEATURE_DISABLED_BY_DEFAULT);
// Enable the <fencedframe> element; see crbug.com/1123606. Note that enabling // Enable the <fencedframe> element; see crbug.com/1123606. Note that enabling
// this feature does not automatically expose this element to the web, it only // this feature does not automatically expose this element to the web, it only
// allows the element to be enabled by the runtime enabled feature, for origin // allows the element to be enabled by the runtime enabled feature, for origin
// trials. // trials.
BASE_FEATURE(kFencedFrames, "FencedFrames", base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kFencedFrames, "FencedFrames", base::FEATURE_DISABLED_BY_DEFAULT);
// Enable the new fenced frame-related features in M119. (These are
// conditionally dependent on other fenced frame-related feature flags being
// enabled.)
// * Extra format for ad size macro substitution:
// ${AD_WIDTH} and ${AD_HEIGHT}, on top of the previous
// {%AD_WIDTH%} and {%AD_HEIGHT%}.
// * Input validation (no disallowed URI component characters) in
// registerAdMacro keys and values.
// * Send automatic beacons to all registered destinations without requiring
// event data to be in place.
BASE_FEATURE(kFencedFramesM119Features,
"FencedFramesM119Features",
base::FEATURE_DISABLED_BY_DEFAULT);
// File handling icons. https://crbug.com/1218213 // File handling icons. https://crbug.com/1218213
BASE_FEATURE(kFileHandlingIcons, BASE_FEATURE(kFileHandlingIcons,
"FileHandlingIcons", "FileHandlingIcons",
@ -807,6 +791,10 @@ BASE_FEATURE(kFilteringScrollPrediction,
#endif #endif
); );
BASE_FEATURE(kFixGestureScrollQueuingBug,
"FixGestureScrollQueuingBug",
base::FEATURE_DISABLED_BY_DEFAULT);
// See https://github.com/WICG/turtledove/blob/main/FLEDGE.md // See https://github.com/WICG/turtledove/blob/main/FLEDGE.md
// Enables FLEDGE implementation. See https://crbug.com/1186444. // Enables FLEDGE implementation. See https://crbug.com/1186444.
BASE_FEATURE(kFledge, "Fledge", base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kFledge, "Fledge", base::FEATURE_DISABLED_BY_DEFAULT);
@ -989,6 +977,8 @@ const base::FeatureParam<int> kInterestGroupStorageMaxStoragePerOwner{
&kInterestGroupStorage, "max_storage_per_owner", 10 * 1024 * 1024}; &kInterestGroupStorage, "max_storage_per_owner", 10 * 1024 * 1024};
const base::FeatureParam<int> kInterestGroupStorageMaxGroupsPerOwner{ const base::FeatureParam<int> kInterestGroupStorageMaxGroupsPerOwner{
&kInterestGroupStorage, "max_groups_per_owner", 1000}; &kInterestGroupStorage, "max_groups_per_owner", 1000};
const base::FeatureParam<int> kInterestGroupStorageMaxNegativeGroupsPerOwner{
&kInterestGroupStorage, "max_negative_groups_per_owner", 20000};
const base::FeatureParam<int> kInterestGroupStorageMaxOpsBeforeMaintenance{ const base::FeatureParam<int> kInterestGroupStorageMaxOpsBeforeMaintenance{
&kInterestGroupStorage, "max_ops_before_maintenance", 1000}; &kInterestGroupStorage, "max_ops_before_maintenance", 1000};
@ -1026,7 +1016,7 @@ BASE_FEATURE(kKeepAliveInBrowserMigration,
// painted. // painted.
BASE_FEATURE(kLCPAnimatedImagesReporting, BASE_FEATURE(kLCPAnimatedImagesReporting,
"LCPAnimatedImagesReporting", "LCPAnimatedImagesReporting",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kLCPCriticalPathPredictor, BASE_FEATURE(kLCPCriticalPathPredictor,
"LCPCriticalPathPredictor", "LCPCriticalPathPredictor",
@ -1038,25 +1028,52 @@ const base::FeatureParam<bool> kLCPCriticalPathPredictorDryRun{
const base::FeatureParam<int> kLCPCriticalPathPredictorMaxElementLocatorLength{ const base::FeatureParam<int> kLCPCriticalPathPredictorMaxElementLocatorLength{
&kLCPCriticalPathPredictor, "lcpp_max_element_locator_length", 1024}; &kLCPCriticalPathPredictor, "lcpp_max_element_locator_length", 1024};
const base::FeatureParam<LcppImageLoadPriority>::Option const base::FeatureParam<LcppResourceLoadPriority>::Option
lcpp_image_load_priorities[] = { lcpp_resource_load_priorities[] = {
{LcppImageLoadPriority::kMedium, "medium"}, {LcppResourceLoadPriority::kMedium, "medium"},
{LcppImageLoadPriority::kHigh, "high"}, {LcppResourceLoadPriority::kHigh, "high"},
{LcppImageLoadPriority::kVeryHigh, "very_high"}, {LcppResourceLoadPriority::kVeryHigh, "very_high"},
}; };
const base::FeatureParam<LcppImageLoadPriority> const base::FeatureParam<LcppResourceLoadPriority>
kLCPCriticalPathPredictorImageLoadPriority{ kLCPCriticalPathPredictorImageLoadPriority{
&kLCPCriticalPathPredictor, "lcpp_image_load_priority", &kLCPCriticalPathPredictor, "lcpp_image_load_priority",
LcppImageLoadPriority::kVeryHigh, &lcpp_image_load_priorities}; LcppResourceLoadPriority::kVeryHigh, &lcpp_resource_load_priorities};
const base::FeatureParam<LcppResourceLoadPriority>
kLCPCriticalPathPredictorInfluencerScriptLoadPriority{
&kLCPCriticalPathPredictor, "lcpp_script_load_priority",
LcppResourceLoadPriority::kVeryHigh, &lcpp_resource_load_priorities};
BASE_FEATURE(kLCPScriptObserver, BASE_FEATURE(kLCPScriptObserver,
"LCPScriptObserver", "LCPScriptObserver",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<int> kLCPScriptObserverMaxUrlLength{
&kLCPScriptObserver, "lcpp_max_url_length", 1024};
const base::FeatureParam<int> kLCPScriptObserverMaxUrlCountPerOrigin{
&kLCPScriptObserver, "lcpp_max_url_count_per_origin", 5};
BASE_FEATURE(kLCPPFontURLPredictor,
"LCPPFontURLPredictor",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<int> kLCPPFontURLPredictorMaxUrlLength{
&kLCPPFontURLPredictor, "lcpp_max_font_url_length", 1024};
const base::FeatureParam<int> kLCPPFontURLPredictorMaxUrlCountPerOrigin{
&kLCPPFontURLPredictor, "lcpp_max_font_url_count_per_origin", 10};
const base::FeatureParam<double> kLCPPFontURLPredictorFrequencyThreshold{
&kLCPPFontURLPredictor, "lcpp_font_url_frequency_threshold", 0.5};
const base::FeatureParam<int> kLCPPFontURLPredictorMaxPreloadCount{
&kLCPPFontURLPredictor, "lcpp_max_font_url_to_preload", 5};
// Enables reporting as LCP of the time the first frame of a video was painted. // Enables reporting as LCP of the time the first frame of a video was painted.
BASE_FEATURE(kLCPVideoFirstFrame, BASE_FEATURE(kLCPVideoFirstFrame,
"LCPVideoFirstFrame", "LCPVideoFirstFrame",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// A feature to reduce the set of resources fetched by No-State Prefetch. // A feature to reduce the set of resources fetched by No-State Prefetch.
BASE_FEATURE(kLightweightNoStatePrefetch, BASE_FEATURE(kLightweightNoStatePrefetch,
@ -1070,6 +1087,12 @@ BASE_FEATURE(kLightweightNoStatePrefetch,
BASE_FEATURE(kLinkPreview, "LinkPreview", base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kLinkPreview, "LinkPreview", base::FEATURE_DISABLED_BY_DEFAULT);
// A feature to control whether the loading phase should be extended beyond
// First Meaningful Paint by a configurable buffer.
BASE_FEATURE(kLoadingPhaseBufferTimeAfterFirstMeaningfulPaint,
"LoadingPhaseBufferTimeAfterFirstMeaningfulPaint",
base::FEATURE_DISABLED_BY_DEFAULT);
// Makes network loading tasks unfreezable so that they can be processed while // Makes network loading tasks unfreezable so that they can be processed while
// the page is frozen. // the page is frozen.
BASE_FEATURE(kLoadingTasksUnfreezable, BASE_FEATURE(kLoadingTasksUnfreezable,
@ -1119,6 +1142,13 @@ const base::FeatureParam<bool>
&kLowPriorityAsyncScriptExecution, "low_pri_async_exec_main_frame_only", &kLowPriorityAsyncScriptExecution, "low_pri_async_exec_main_frame_only",
false}; false};
// kLowPriorityAsyncScriptExecution will exclude scripts that influence LCP
// element.
const base::FeatureParam<bool>
kLowPriorityAsyncScriptExecutionExcludeLcpInfluencersParam{
&kLowPriorityAsyncScriptExecution,
"low_pri_async_exec_exclude_lcp_influencers", false};
BASE_FEATURE(kLowPriorityScriptLoading, BASE_FEATURE(kLowPriorityScriptLoading,
"LowPriorityScriptLoading", "LowPriorityScriptLoading",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
@ -1135,7 +1165,7 @@ const base::FeatureParam<bool> kLowPriorityScriptLoadingMainFrameOnlyParam{
BASE_FEATURE(kMainThreadHighPriorityImageLoading, BASE_FEATURE(kMainThreadHighPriorityImageLoading,
"MainThreadHighPriorityImageLoading", "MainThreadHighPriorityImageLoading",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, the setTimeout(..., 0) will clamp to 4ms after a custom `nesting` // If enabled, the setTimeout(..., 0) will clamp to 4ms after a custom `nesting`
// level. // level.
@ -1157,9 +1187,21 @@ BASE_FEATURE(kMemoryCacheStrongReferenceFilterScripts,
"MemoryCacheStrongReferenceFilterScripts", "MemoryCacheStrongReferenceFilterScripts",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kMemoryCacheStrongReferenceFilterCrossOriginScripts,
"MemoryCacheStrongReferenceFilterCrossOriginScripts",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kMemoryCacheStrongReference, BASE_FEATURE(kMemoryCacheStrongReference,
"MemoryCacheStrongReference", "MemoryCacheStrongReference",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<int>
kMemoryCacheStrongReferenceTotalSizeThresholdParam{
&kMemoryCacheStrongReference,
"memory_cache_strong_ref_total_size_threshold", 10 * 1024 * 1024};
const base::FeatureParam<int>
kMemoryCacheStrongReferenceResourceSizeThresholdParam{
&kMemoryCacheStrongReference,
"memory_cache_strong_ref_resource_size_threshold", 3 * 1024 * 1024};
BASE_FEATURE(kMemoryCacheStrongReferenceSingleUnload, BASE_FEATURE(kMemoryCacheStrongReferenceSingleUnload,
"MemoryCacheStrongReferenceSingleUnload", "MemoryCacheStrongReferenceSingleUnload",
@ -1180,7 +1222,7 @@ BASE_FEATURE(kNavigationPredictor,
BASE_FEATURE(kNewBaseUrlInheritanceBehavior, BASE_FEATURE(kNewBaseUrlInheritanceBehavior,
"NewBaseUrlInheritanceBehavior", "NewBaseUrlInheritanceBehavior",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kNoForcedFrameUpdatesForWebTests, BASE_FEATURE(kNoForcedFrameUpdatesForWebTests,
"NoForcedFrameUpdatesForWebTests", "NoForcedFrameUpdatesForWebTests",
@ -1188,7 +1230,7 @@ BASE_FEATURE(kNoForcedFrameUpdatesForWebTests,
BASE_FEATURE(kOriginAgentClusterDefaultEnabled, BASE_FEATURE(kOriginAgentClusterDefaultEnabled,
"OriginAgentClusterDefaultEnable", "OriginAgentClusterDefaultEnable",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kOriginAgentClusterDefaultWarning, BASE_FEATURE(kOriginAgentClusterDefaultWarning,
"OriginAgentClusterDefaultWarning", "OriginAgentClusterDefaultWarning",
@ -1311,6 +1353,10 @@ BASE_FEATURE(kPrefetchPrivacyChanges,
"PrefetchPrivacyChanges", "PrefetchPrivacyChanges",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPreloadingHeuristicsMLModel,
"PreloadingHeuristicsMLModel",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kPrerender2InNewTab, BASE_FEATURE(kPrerender2InNewTab,
"Prerender2InNewTab", "Prerender2InNewTab",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
@ -1381,6 +1427,13 @@ constexpr base::FeatureParam<bool>
&kPrivateAggregationApi, "fledge_extensions_enabled", &kPrivateAggregationApi, "fledge_extensions_enabled",
/*default_value=*/true}; /*default_value=*/true};
// Selectively allows the debug mode to be disabled while leaving the rest of
// the API in place. If disabled, any `enableDebugMode()` calls will essentially
// have no effect.
constexpr base::FeatureParam<bool> kPrivateAggregationApiDebugModeEnabledAtAll{
&kPrivateAggregationApi, "debug_mode_enabled_at_all",
/*default_value=*/true};
BASE_FEATURE(kProcessHtmlDataImmediately, BASE_FEATURE(kProcessHtmlDataImmediately,
"ProcessHtmlDataImmediately", "ProcessHtmlDataImmediately",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
@ -1397,13 +1450,26 @@ const base::FeatureParam<bool> kProcessHtmlDataImmediatelyMainFrame{
const base::FeatureParam<bool> kProcessHtmlDataImmediatelySubsequentChunks{ const base::FeatureParam<bool> kProcessHtmlDataImmediatelySubsequentChunks{
&kProcessHtmlDataImmediately, "rest", false}; &kProcessHtmlDataImmediately, "rest", false};
BASE_FEATURE(kProduceCompileHints, BASE_FEATURE(kProduceCompileHints2,
"ProduceCompileHints", "ProduceCompileHints2",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
const base::FeatureParam<int> kProduceCompileHintsOnIdleDelayParam{ const base::FeatureParam<int> kProduceCompileHintsOnIdleDelayParam{
&kProduceCompileHints, "delay-in-ms", 10000}; &kProduceCompileHints2, "delay-in-ms", 10000};
const base::FeatureParam<double> kProduceCompileHintsNoiseLevel{ const base::FeatureParam<double> kProduceCompileHintsNoiseLevel{
&kProduceCompileHints, "noise probability", 0.5}; &kProduceCompileHints2, "noise-probability", 0.5};
const base::FeatureParam<double> kProduceCompileHintsDataProductionLevel{
&kProduceCompileHints2, "data-production-probability", 0.005};
BASE_FEATURE(kForceProduceCompileHints,
"ForceProduceCompileHints",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kConsumeCompileHints,
"ConsumeCompileHints",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kQueueBlockingGestureScrolls,
"QueueBlockingGestureScrolls",
base::FEATURE_DISABLED_BY_DEFAULT);
// Enables the JPEG XL Image File Format (JXL). // Enables the JPEG XL Image File Format (JXL).
BASE_FEATURE(kJXL, "JXL", base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kJXL, "JXL", base::FEATURE_ENABLED_BY_DEFAULT);
@ -1453,6 +1519,10 @@ BASE_FEATURE(kRemoteResourceCache,
"RemoteResourceCache", "RemoteResourceCache",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kRemoveAuthroizationOnCrossOriginRedirect,
"RemoveAutorizationOnCrossOriginRedirect",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kRenderBlockingFonts, BASE_FEATURE(kRenderBlockingFonts,
"RenderBlockingFonts", "RenderBlockingFonts",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
@ -1487,8 +1557,8 @@ BASE_FEATURE(kRunTextInputUpdatePostLifecycle,
"RunTextInputUpdatePostLifecycle", "RunTextInputUpdatePostLifecycle",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kRuntimeFeatureStateControllerApplyFeatureDiff, BASE_FEATURE(kOriginTrialStateHostApplyFeatureDiff,
"RuntimeFeatureStateControllerApplyFeatureDiff", "OriginTrialStateHostApplyFeatureDiff",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme // https://html.spec.whatwg.org/multipage/system-state.html#safelisted-scheme
@ -1521,6 +1591,10 @@ BASE_FEATURE(kScopeMemoryCachePerContext,
"ScopeMemoryCachePerContext", "ScopeMemoryCachePerContext",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kPausePagesPerBrowsingContextGroup,
"PausePagesPerBrowsingContextGroup",
base::FEATURE_DISABLED_BY_DEFAULT);
// Controls script streaming. // Controls script streaming.
BASE_FEATURE(kScriptStreaming, BASE_FEATURE(kScriptStreaming,
"ScriptStreaming", "ScriptStreaming",
@ -1544,7 +1618,7 @@ BASE_FEATURE(kSendCnameAliasesToSubresourceFilterFromRenderer,
BASE_FEATURE(kSerializeAccessibilityPostLifecycle, BASE_FEATURE(kSerializeAccessibilityPostLifecycle,
"SerializeAccessibilityPostLifecycle", "SerializeAccessibilityPostLifecycle",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// Experiment of the delay from navigation to starting an update of a service // Experiment of the delay from navigation to starting an update of a service
// worker's script. // worker's script.
@ -1612,13 +1686,13 @@ const base::FeatureParam<int> kSharedStorageSelectURLBitBudgetPerPageLoad = {
&kSharedStorageSelectURLLimit, "SharedStorageSelectURLBitBudgetPerPageLoad", &kSharedStorageSelectURLLimit, "SharedStorageSelectURLBitBudgetPerPageLoad",
12}; 12};
const base::FeatureParam<int> const base::FeatureParam<int>
kSharedStorageSelectURLBitBudgetPerOriginPerPageLoad = { kSharedStorageSelectURLBitBudgetPerSitePerPageLoad = {
&kSharedStorageSelectURLLimit, &kSharedStorageSelectURLLimit,
"SharedStorageSelectURLBitBudgetPerOriginPerPageLoad", 6}; "SharedStorageSelectURLBitBudgetPerSitePerPageLoad", 6};
BASE_FEATURE(kSharedStorageAPIM118, BASE_FEATURE(kSharedStorageAPIM118,
"SharedStorageAPIM118", "SharedStorageAPIM118",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kSimulateClickOnAXFocus, BASE_FEATURE(kSimulateClickOnAXFocus,
"SimulateClickOnAXFocus", "SimulateClickOnAXFocus",
@ -1775,11 +1849,11 @@ const base::FeatureParam<base::TimeDelta>
BASE_FEATURE(kStylusPointerAdjustment, BASE_FEATURE(kStylusPointerAdjustment,
"StylusPointerAdjustment", "StylusPointerAdjustment",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kStylusRichGestures, BASE_FEATURE(kStylusRichGestures,
"StylusRichGestures", "StylusRichGestures",
base::FEATURE_DISABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// TODO(mahesh.ma): Enable for supported Android versions once feature is ready. // TODO(mahesh.ma): Enable for supported Android versions once feature is ready.
BASE_FEATURE(kStylusWritingToInput, BASE_FEATURE(kStylusWritingToInput,
@ -1924,7 +1998,14 @@ BASE_FEATURE(kWebAudioSinkSelection,
"kWebAudioSinkSelection", "kWebAudioSinkSelection",
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
// Enables cache-aware WebFonts loading. See https://crbug.com/570205. // Enabling this flag bypasses additional buffering when using the Web Audio
// API, which may reduce audio output latency but may also increase the
// probability of an audio glitch.
BASE_FEATURE(kWebAudioBypassOutputBuffering,
"WebAudioBypassOutputBuffering",
base::FEATURE_DISABLED_BY_DEFAULT);
/// Enables cache-aware WebFonts loading. See https://crbug.com/570205.
// The feature is disabled on Android for WebView API issue discussed at // The feature is disabled on Android for WebView API issue discussed at
// https://crbug.com/942440. // https://crbug.com/942440.
BASE_FEATURE(kWebFontsCacheAwareTimeoutAdaption, BASE_FEATURE(kWebFontsCacheAwareTimeoutAdaption,
@ -1953,10 +2034,6 @@ BASE_FEATURE(kWebRtcH264WithOpenH264FFmpeg,
base::FEATURE_ENABLED_BY_DEFAULT); base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS) #endif // BUILDFLAG(RTC_USE_H264) && BUILDFLAG(ENABLE_FFMPEG_VIDEO_DECODERS)
BASE_FEATURE(kWebRtcEncoderAsyncEncode,
"WebRtcEncoderAsyncEncode",
base::FEATURE_ENABLED_BY_DEFAULT);
// Exposes non-standard stats in the WebRTC getStats() API. // Exposes non-standard stats in the WebRTC getStats() API.
BASE_FEATURE(kWebRtcExposeNonStandardStats, BASE_FEATURE(kWebRtcExposeNonStandardStats,
"WebRtc-ExposeNonStandardStats", "WebRtc-ExposeNonStandardStats",
@ -2009,7 +2086,7 @@ BASE_FEATURE(kWebRtcUseMinMaxVEADimensions,
); );
// Allow access to WebSQL APIs. // Allow access to WebSQL APIs.
BASE_FEATURE(kWebSQLAccess, "kWebSQLAccess", base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kWebSQLAccess, "kWebSQLAccess", base::FEATURE_DISABLED_BY_DEFAULT);
// Enables small accelerated canvases for webview (crbug.com/1004304) // Enables small accelerated canvases for webview (crbug.com/1004304)
BASE_FEATURE(kWebviewAccelerateSmallCanvases, BASE_FEATURE(kWebviewAccelerateSmallCanvases,
@ -2089,5 +2166,10 @@ bool ParkableStringsUseSnappy() {
return base::FeatureList::IsEnabled(kUseSnappyForParkableStrings); return base::FeatureList::IsEnabled(kUseSnappyForParkableStrings);
} }
bool IsKeepAliveURLLoaderServiceEnabled() {
return base::FeatureList::IsEnabled(kKeepAliveInBrowserMigration) ||
base::FeatureList::IsEnabled(kFetchLaterAPI);
}
} // namespace features } // namespace features
} // namespace blink } // namespace blink

View file

@ -606,7 +606,7 @@
Thoriumbox Thoriumbox
</message> </message>
<message name="IDS_REVEN_DEVICE_NAME" desc="The device name for a Reven Device"> <message name="IDS_REVEN_DEVICE_NAME" desc="The device name for a Reven Device">
ThoriumOS Flex device ThoriumOS device
</message> </message>
<message name="IDS_GENERIC_CHROMEOS_DEVICE_NAME" desc="The device name for a generic Thorium device"> <message name="IDS_GENERIC_CHROMEOS_DEVICE_NAME" desc="The device name for a generic Thorium device">
Thorium device Thorium device
@ -626,7 +626,7 @@
Thoriumboxes Thoriumboxes
</message> </message>
<message name="IDS_REVEN_DEVICE_NAME_IN_PLURAL" desc="The device name (plural) for a Reven Device"> <message name="IDS_REVEN_DEVICE_NAME_IN_PLURAL" desc="The device name (plural) for a Reven Device">
ThoriumOS Flex devices ThoriumOS devices
</message> </message>
<message name="IDS_GENERIC_CHROMEOS_DEVICE_NAME_IN_PLURAL" desc="The device name (plural) for generic Thorium device"> <message name="IDS_GENERIC_CHROMEOS_DEVICE_NAME_IN_PLURAL" desc="The device name (plural) for generic Thorium device">
Thorium devices Thorium devices
@ -1773,6 +1773,9 @@
<message name="IDS_SETTINGS_INTERNET_NETWORK_SETTING_MANAGED_BY_ADMIN_TOOLTIP" desc="Text displayed in the controlled settings bubble when a setting's value is managed by policy."> <message name="IDS_SETTINGS_INTERNET_NETWORK_SETTING_MANAGED_BY_ADMIN_TOOLTIP" desc="Text displayed in the controlled settings bubble when a setting's value is managed by policy.">
This setting is managed by your administrator. This setting is managed by your administrator.
</message> </message>
<message name="IDS_SUPPRESS_TEXT_MESSAGES" desc="Text displayed for a toggle button allowing user to show or hide text messages">
Show text messages
</message>
<!-- Settings > Internet > SIM lock/unlock dialog --> <!-- Settings > Internet > SIM lock/unlock dialog -->
<message name="IDS_SETTINGS_INTERNET_NETWORK_SIM_CHANGE_PIN" desc="Settings > Internet > Network details > Lock/unlock SIM card: Label for buton to change the PIN."> <message name="IDS_SETTINGS_INTERNET_NETWORK_SIM_CHANGE_PIN" desc="Settings > Internet > Network details > Lock/unlock SIM card: Label for buton to change the PIN.">