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

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

Issue 2700103004: Initial support for accessibility actions on ARC. (Closed)
Patch Set: Rename cleanup. 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 cbe7c699d3d325173048d73859f7d13a7566b8ac..a0539a1a6092ea4c7ef546ce49c944f682e081e6 100644
--- a/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc
+++ b/chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.cc
@@ -95,7 +95,7 @@ void ArcAccessibilityHelperBridge::OnInstanceReady() {
chromeos::switches::kEnableChromeVoxArcSupport)) {
instance->SetFilter(arc::mojom::AccessibilityFilterType::ALL);
if (!tree_source_) {
- tree_source_.reset(new AXTreeSourceArc());
+ tree_source_.reset(new AXTreeSourceArc(tree_id()));
focus_stealer_.reset(new FocusStealer(tree_source_->tree_id()));
exo::WMHelper::GetInstance()->AddActivationObserver(this);
}
@@ -159,4 +159,20 @@ void ArcAccessibilityHelperBridge::OnWindowActivated(
}
}
+void ArcAccessibilityHelperBridge::PerformAction(const ui::AXActionData& data) {
+ arc::mojom::AccessibilityActionType mojo_action =
+ arc::mojom::AccessibilityActionType::FOCUS;
dmazzoni 2017/02/20 04:50:46 Is there a "none"? Might be clearer to initialize
David Tseng 2017/02/21 19:09:05 Nope, no none. The intention wasn't to map everyth
+ switch (data.action) {
+ case ui::AX_ACTION_DO_DEFAULT:
+ mojo_action = arc::mojom::AccessibilityActionType::CLICK;
+ break;
+ default:
+ return;
+ }
+
+ auto* instance = ARC_GET_INSTANCE_FOR_METHOD(
+ arc_bridge_service()->accessibility_helper(), PerformAction);
+ instance->PerformAction(data.target_node_id, mojo_action);
+}
+
} // namespace arc

Powered by Google App Engine
This is Rietveld 408576698