Skip to content

Commit

Permalink
Adding new feature flag for dynamic language detection.
Browse files Browse the repository at this point in the history
R=aboxhall

Change-Id: I8dfbeee21bc03574ffc0894b8ba45be60635f752
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1918797
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Commit-Queue: Chris Hall <chrishall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#716471}
  • Loading branch information
Chris Hall authored and Commit Bot committed Nov 19, 2019
1 parent 85939fc commit 4f3ca55
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 0 deletions.
7 changes: 7 additions & 0 deletions chrome/browser/about_flags.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2497,6 +2497,13 @@ const FeatureEntry kFeatureEntries[] = {
kOsAll,
SINGLE_VALUE_TYPE(
::switches::kEnableExperimentalAccessibilityLanguageDetection)},
{"enable-experimental-accessibility-language-detection-dynamic",
flag_descriptions::kExperimentalAccessibilityLanguageDetectionDynamicName,
flag_descriptions::
kExperimentalAccessibilityLanguageDetectionDynamicDescription,
kOsAll,
SINGLE_VALUE_TYPE(
::switches::kEnableExperimentalAccessibilityLanguageDetectionDynamic)},
#if defined(OS_CHROMEOS)
{"enable-encryption-migration",
flag_descriptions::kEnableEncryptionMigrationName,
Expand Down
5 changes: 5 additions & 0 deletions chrome/browser/flag-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -1309,6 +1309,11 @@
"owners": [ "chrishall", "//ui/accessibility/OWNERS" ],
"expiry_milestone": 82
},
{
"name": "enable-experimental-accessibility-language-detection-dynamic",
"owners": [ "chrishall", "//ui/accessibility/OWNERS" ],
"expiry_milestone": 83
},
{
"name": "enable-experimental-accessibility-switch-access",
"owners": [ "anastasi@google.com", "//ui/accessibility/OWNERS" ],
Expand Down
6 changes: 6 additions & 0 deletions chrome/browser/flag_descriptions.cc
Original file line number Diff line number Diff line change
Expand Up @@ -836,6 +836,12 @@ const char kExperimentalAccessibilityLanguageDetectionDescription[] =
"Enable language detection for in-page content which is then exposed to "
"assistive technologies such as screen readers.";

const char kExperimentalAccessibilityLanguageDetectionDynamicName[] =
"Experimental accessibility language detection for dynamic content";
const char kExperimentalAccessibilityLanguageDetectionDynamicDescription[] =
"Enable language detection for dynamic content which is then exposed to "
"assistive technologies such as screen readers.";

const char kVizDisplayCompositorName[] = "Viz Display Compositor (OOP-D)";
const char kVizDisplayCompositorDescription[] =
"If enabled, the display compositor runs as part of the viz service in the"
Expand Down
4 changes: 4 additions & 0 deletions chrome/browser/flag_descriptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,10 @@ extern const char kExperimentalAccessibilityAutoclickDescription[];
extern const char kExperimentalAccessibilityLanguageDetectionName[];
extern const char kExperimentalAccessibilityLanguageDetectionDescription[];

extern const char kExperimentalAccessibilityLanguageDetectionDynamicName[];
extern const char
kExperimentalAccessibilityLanguageDetectionDynamicDescription[];

extern const char kFontSrcLocalMatchingName[];
extern const char kFontSrcLocalMatchingDescription[];

Expand Down
2 changes: 2 additions & 0 deletions tools/metrics/histograms/enums.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36451,6 +36451,8 @@ from previous Chrome versions.
<int value="-1173361620" label="CCTModulePostMessage:disabled"/>
<int value="-1172572865" label="NTPShowGoogleGInOmnibox:enabled"/>
<int value="-1172204005" label="enable-offline-auto-reload-visible-only"/>
<int value="-1168910727"
label="enable-experimental-accessibility-language-detection-dynamic"/>
<int value="-1167992523" label="DesktopPWAsCustomTabUI:disabled"/>
<int value="-1166745977"
label="BluetoothAggressiveAppearanceFilter:disabled"/>
Expand Down
10 changes: 10 additions & 0 deletions ui/accessibility/accessibility_switches.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ const char kEnableExperimentalAccessibilityLabelsDebugging[] =
const char kEnableExperimentalAccessibilityLanguageDetection[] =
"enable-experimental-accessibility-language-detection";

// Enables language detection for dynamic content which is then exposed to
// assistive technology such as screen readers.
const char kEnableExperimentalAccessibilityLanguageDetectionDynamic[] =
"enable-experimental-accessibility-language-detection-dynamic";

// Shows setting to enable Switch Access before it has launched.
const char kEnableExperimentalAccessibilitySwitchAccess[] =
"enable-experimental-accessibility-switch-access";
Expand All @@ -51,6 +56,11 @@ bool IsExperimentalAccessibilityLanguageDetectionEnabled() {
::switches::kEnableExperimentalAccessibilityLanguageDetection);
}

bool IsExperimentalAccessibilityLanguageDetectionDynamicEnabled() {
return base::CommandLine::ForCurrentProcess()->HasSwitch(
::switches::kEnableExperimentalAccessibilityLanguageDetectionDynamic);
}

bool IsExperimentalAccessibilitySwitchAccessTextEnabled() {
return base::CommandLine::ForCurrentProcess()->HasSwitch(
::switches::kEnableExperimentalAccessibilitySwitchAccessText);
Expand Down
6 changes: 6 additions & 0 deletions ui/accessibility/accessibility_switches.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ AX_EXPORT extern const char kEnableExperimentalAccessibilityFeatures[];
AX_EXPORT extern const char kEnableExperimentalAccessibilityAutoclick[];
AX_EXPORT extern const char kEnableExperimentalAccessibilityLabelsDebugging[];
AX_EXPORT extern const char kEnableExperimentalAccessibilityLanguageDetection[];
AX_EXPORT extern const char
kEnableExperimentalAccessibilityLanguageDetectionDynamic[];
AX_EXPORT extern const char kEnableExperimentalAccessibilitySwitchAccess[];
AX_EXPORT extern const char kEnableExperimentalAccessibilitySwitchAccessText[];
AX_EXPORT extern const char
Expand All @@ -25,6 +27,10 @@ AX_EXPORT extern const char
// Returns true if experimental accessibility language detection is enabled.
AX_EXPORT bool IsExperimentalAccessibilityLanguageDetectionEnabled();

// Returns true if experimental accessibility language detection support for
// dynamic content is enabled.
AX_EXPORT bool IsExperimentalAccessibilityLanguageDetectionDynamicEnabled();

// Returns true if experimental accessibility Switch Access text is enabled.
AX_EXPORT bool IsExperimentalAccessibilitySwitchAccessTextEnabled();

Expand Down
12 changes: 12 additions & 0 deletions ui/accessibility/ax_language_detection_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,18 @@ TEST(AXLanguageDetectionTest, FeatureFlag) {
::switches::IsExperimentalAccessibilityLanguageDetectionEnabled());
}

TEST(AXLanguageDetectionTest, DynamicContentFeatureFlag) {
// TODO(crbug/889370): Remove this test once this feature is stable
EXPECT_FALSE(
::switches::IsExperimentalAccessibilityLanguageDetectionDynamicEnabled());

base::CommandLine::ForCurrentProcess()->AppendSwitch(
::switches::kEnableExperimentalAccessibilityLanguageDetectionDynamic);

EXPECT_TRUE(
::switches::IsExperimentalAccessibilityLanguageDetectionDynamicEnabled());
}

// Tests that AXNode::GetLanguage() terminates when there is no lang attribute.
TEST(AXLanguageDetectionTest, BoringTree) {
base::CommandLine::ForCurrentProcess()->AppendSwitch(
Expand Down

0 comments on commit 4f3ca55

Please sign in to comment.