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

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

Issue 2558933002: Add more fine-grained accessibility modes. (Closed)
Patch Set: Rename constants 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..379a4ecf3a0d67ce64d761730ffcc658e61c9359 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(kAccessibilityModeComplete);
}
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_ = kAccessibilityModeComplete;
}
}
@@ -95,8 +94,8 @@ void BrowserAccessibilityStateImpl::ResetAccessibilityMode() {
}
bool BrowserAccessibilityStateImpl::IsAccessibleBrowser() {
- return ((accessibility_mode_ & AccessibilityModeComplete) ==
- AccessibilityModeComplete);
+ return ((accessibility_mode_ & kAccessibilityModeComplete) ==
+ kAccessibilityModeComplete);
}
void BrowserAccessibilityStateImpl::AddHistogramCallback(
@@ -127,44 +126,34 @@ void BrowserAccessibilityStateImpl::UpdatePlatformSpecificHistograms() {
}
#endif
-void BrowserAccessibilityStateImpl::AddAccessibilityMode(
+void BrowserAccessibilityStateImpl::AddAccessibilityModeFlags(
AccessibilityMode mode) {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableRendererAccessibility)) {
- return;
+ mode &= (AccessibilityModeFlagNativeAPIs |
aboxhall 2016/12/12 20:18:29 Can you explain the change here?
dmazzoni 2016/12/12 22:15:36 Hmmm, I think what I was trying to do was make the
+ AccessibilityModeFlagWebContents);
}
- 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 == kAccessibilityModeComplete) {
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