Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Unified Diff: content/browser/accessibility/browser_accessibility_state_impl.cc

Issue 2558933002: Add more fine-grained accessibility modes. (Closed)
Patch Set: Reformat enums as uppercase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/accessibility/browser_accessibility_state_impl.cc
diff --git a/content/browser/accessibility/browser_accessibility_state_impl.cc b/content/browser/accessibility/browser_accessibility_state_impl.cc
index a19b10352f24b46bf2e4b3d43f6a889b4b3422ab..4c50bb32dd2fa96194868c70b952b22f6f582039 100644
--- a/content/browser/accessibility/browser_accessibility_state_impl.cc
+++ b/content/browser/accessibility/browser_accessibility_state_impl.cc
@@ -9,7 +9,6 @@
#include "base/command_line.h"
#include "base/metrics/histogram_macros.h"
#include "build/build_config.h"
-#include "content/browser/accessibility/accessibility_mode_helper.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/browser_thread.h"
@@ -70,7 +69,7 @@ void BrowserAccessibilityStateImpl::OnScreenReaderDetected() {
}
void BrowserAccessibilityStateImpl::EnableAccessibility() {
- AddAccessibilityMode(AccessibilityModeComplete);
+ AddAccessibilityModeFlags(ACCESSIBILITY_MODE_COMPLETE);
}
void BrowserAccessibilityStateImpl::DisableAccessibility() {
@@ -81,7 +80,7 @@ void BrowserAccessibilityStateImpl::ResetAccessibilityModeValue() {
accessibility_mode_ = AccessibilityModeOff;
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kForceRendererAccessibility)) {
- accessibility_mode_ = AccessibilityModeComplete;
+ accessibility_mode_ = ACCESSIBILITY_MODE_COMPLETE;
}
}
@@ -95,8 +94,8 @@ void BrowserAccessibilityStateImpl::ResetAccessibilityMode() {
}
bool BrowserAccessibilityStateImpl::IsAccessibleBrowser() {
- return ((accessibility_mode_ & AccessibilityModeComplete) ==
- AccessibilityModeComplete);
+ return ((accessibility_mode_ & ACCESSIBILITY_MODE_COMPLETE) ==
+ ACCESSIBILITY_MODE_COMPLETE);
}
void BrowserAccessibilityStateImpl::AddHistogramCallback(
@@ -127,44 +126,33 @@ void BrowserAccessibilityStateImpl::UpdatePlatformSpecificHistograms() {
}
#endif
-void BrowserAccessibilityStateImpl::AddAccessibilityMode(
+void BrowserAccessibilityStateImpl::AddAccessibilityModeFlags(
AccessibilityMode mode) {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableRendererAccessibility)) {
return;
}
- accessibility_mode_ =
- content::AddAccessibilityModeTo(accessibility_mode_, mode);
-
- AddOrRemoveFromAllWebContents(mode, true);
+ accessibility_mode_ |= mode;
+ std::vector<WebContentsImpl*> web_contents_vector =
+ WebContentsImpl::GetAllWebContents();
+ for (size_t i = 0; i < web_contents_vector.size(); ++i)
+ web_contents_vector[i]->AddAccessibilityMode(accessibility_mode_);
}
-void BrowserAccessibilityStateImpl::RemoveAccessibilityMode(
+void BrowserAccessibilityStateImpl::RemoveAccessibilityModeFlags(
AccessibilityMode mode) {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kForceRendererAccessibility) &&
- mode == AccessibilityModeComplete) {
+ mode == ACCESSIBILITY_MODE_COMPLETE) {
return;
}
- accessibility_mode_ =
- content::RemoveAccessibilityModeFrom(accessibility_mode_, mode);
-
- AddOrRemoveFromAllWebContents(mode, false);
-}
-
-void BrowserAccessibilityStateImpl::AddOrRemoveFromAllWebContents(
- AccessibilityMode mode,
- bool add) {
+ accessibility_mode_ = accessibility_mode_ ^ (mode & accessibility_mode_);
std::vector<WebContentsImpl*> web_contents_vector =
WebContentsImpl::GetAllWebContents();
- for (size_t i = 0; i < web_contents_vector.size(); ++i) {
- if (add)
- web_contents_vector[i]->AddAccessibilityMode(mode);
- else
- web_contents_vector[i]->RemoveAccessibilityMode(mode);
- }
+ for (size_t i = 0; i < web_contents_vector.size(); ++i)
+ web_contents_vector[i]->SetAccessibilityMode(accessibility_mode());
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698