Chromium Code Reviews| Index: content/browser/accessibility/accessibility_ui.cc |
| diff --git a/content/browser/accessibility/accessibility_ui.cc b/content/browser/accessibility/accessibility_ui.cc |
| index 3d6185135f5990f4c2ba0ea61799e3d05af5b02d..e41bbccce8d0f4be0ce04d7354b53a7234f47e16 100644 |
| --- a/content/browser/accessibility/accessibility_ui.cc |
| +++ b/content/browser/accessibility/accessibility_ui.cc |
| @@ -81,9 +81,7 @@ std::unique_ptr<base::DictionaryValue> BuildTargetDescriptor( |
| target_data->SetString(kNameField, net::EscapeForHTML(name)); |
| target_data->SetInteger(kPidField, base::GetProcId(handle)); |
| target_data->SetString(kFaviconUrlField, favicon_url.spec()); |
| - target_data->SetBoolean( |
| - kAccessibilityModeField, |
| - 0 != (accessibility_mode & ACCESSIBILITY_MODE_FLAG_WEB_CONTENTS)); |
| + target_data->SetInteger(kAccessibilityModeField, accessibility_mode); |
| return target_data; |
| } |
| @@ -221,9 +219,11 @@ void AccessibilityUI::ToggleAccessibility(const base::ListValue* args) { |
| std::string route_id_str; |
| int process_id; |
| int route_id; |
| - CHECK_EQ(2U, args->GetSize()); |
| + int mode; |
| + CHECK_EQ(3U, args->GetSize()); |
| CHECK(args->GetString(0, &process_id_str)); |
| CHECK(args->GetString(1, &route_id_str)); |
| + CHECK(args->GetInteger(2, &mode)); |
| CHECK(base::StringToInt(process_id_str, &process_id)); |
| CHECK(base::StringToInt(route_id_str, &route_id)); |
| @@ -232,18 +232,11 @@ void AccessibilityUI::ToggleAccessibility(const base::ListValue* args) { |
| return; |
| auto* web_contents = |
| static_cast<WebContentsImpl*>(WebContents::FromRenderViewHost(rvh)); |
| - AccessibilityMode mode = web_contents->GetAccessibilityMode(); |
| - // Note: this is slightly confusing, because: |
| - // - Turning a11y ON for given web content will always turn it on, however |
| - // - Turning a11y OFF for given web content will revert it to the |
| - // global state (not necessarily off) |
| - // TODO(aleventhal): clear this up through chrome:/accessibility UI update |
| - if ((mode & ACCESSIBILITY_MODE_COMPLETE) != ACCESSIBILITY_MODE_COMPLETE) { |
| - web_contents->AddAccessibilityMode(ACCESSIBILITY_MODE_COMPLETE); |
| - } else { |
| - web_contents->SetAccessibilityMode( |
| - BrowserAccessibilityStateImpl::GetInstance()->accessibility_mode()); |
| - } |
| + AccessibilityMode currentMode = web_contents->GetAccessibilityMode(); |
|
dmazzoni
2017/02/13 19:53:42
currentMode -> current_mode (in c++ code)
dougt
2017/02/14 15:21:52
Done.
|
| + // Flip the bit represented by |mode|. See accessibility_mode_enums.h for |
|
dmazzoni
2017/02/13 19:53:42
Should this be "bit" or "bits"?
Technically it fl
dougt
2017/02/14 15:21:52
Plural is correct. Our mode flags correspond to a
|
| + // values. |
| + currentMode ^= mode; |
| + web_contents->SetAccessibilityMode(currentMode); |
| } |
| void AccessibilityUI::SetGlobalFlag(const base::ListValue* args) { |