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

Unified Diff: chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc

Issue 2640123004: Initial support for native accessibility in ARC (Closed)
Patch Set: Experimental changes Created 3 years, 10 months 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: chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc
diff --git a/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc b/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc
index 6e3c1a48f0a761e6d21c41b53bf39bb0fb0b2bb0..200b5daa4c72b12c1f84a0bc0c59d78737b064de 100644
--- a/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc
+++ b/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc
@@ -4,7 +4,10 @@
#include "chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h"
+#include "base/command_line.h"
#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
+#include "chrome/browser/chromeos/arc/accessibility/ax_tree_source_arc.h"
+#include "chromeos/chromeos_switches.h"
#include "components/arc/arc_bridge_service.h"
#include "components/exo/wm_helper.h"
#include "ui/aura/window.h"
@@ -16,6 +19,10 @@ ArcAccessibilityHelperBridge::ArcAccessibilityHelperBridge(
ArcBridgeService* bridge_service)
: ArcService(bridge_service), binding_(this) {
arc_bridge_service()->accessibility_helper()->AddObserver(this);
+
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ chromeos::switches::kEnableChromeVoxArcSupport))
+ tree_.reset(new AXTreeSourceArc());
}
ArcAccessibilityHelperBridge::~ArcAccessibilityHelperBridge() {
@@ -30,34 +37,9 @@ void ArcAccessibilityHelperBridge::OnInstanceReady() {
}
void ArcAccessibilityHelperBridge::OnAccessibilityEvent(
- mojom::AccessibilityEventType event_type,
- mojom::AccessibilityNodeInfoDataPtr event_source) {
- if (event_type != mojom::AccessibilityEventType::VIEW_FOCUSED ||
- event_source.is_null()) {
- return;
- }
-
- chromeos::AccessibilityManager* accessibility_manager =
- chromeos::AccessibilityManager::Get();
-
- if (!accessibility_manager ||
- !accessibility_manager->IsFocusHighlightEnabled()) {
- return;
- }
-
- exo::WMHelper* wmHelper = exo::WMHelper::GetInstance();
-
- aura::Window* focused_window = wmHelper->GetFocusedWindow();
- if (!focused_window)
- return;
-
- aura::Window* toplevel_window = focused_window->GetToplevelWindow();
-
- gfx::Rect bounds_in_screen = gfx::ScaleToEnclosingRect(
- event_source.get()->boundsInScreen,
- 1.0f / toplevel_window->layer()->device_scale_factor());
-
- accessibility_manager->OnViewFocusedInArc(bounds_in_screen);
+ mojom::AccessibilityEventDataPtr event_data) {
+ if (tree_)
+ tree_->NotifyAccessibilityEvent(event_data.get());
}
} // namespace arc

Powered by Google App Engine
This is Rietveld 408576698