Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions shell/platform/fuchsia/flutter/accessibility_bridge.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,10 @@ AccessibilityBridge::AccessibilityBridge(
FML_LOG(ERROR) << "Flutter cannot connect to SemanticsManager with status: "
<< zx_status_get_string(status) << ".";
});
fidl::InterfaceHandle<
fuchsia::accessibility::semantics::SemanticActionListener>
fidl::InterfaceHandle<fuchsia::accessibility::semantics::SemanticListener>
listener_handle;
binding_.Bind(listener_handle.NewRequest());
fuchsia_semantics_manager_->RegisterView(
fuchsia_semantics_manager_->RegisterViewForSemantics(
std::move(view_ref), std::move(listener_handle), tree_ptr_.NewRequest());
}

Expand Down Expand Up @@ -223,20 +222,22 @@ void AccessibilityBridge::AddSemanticsNodeUpdate(
PruneUnreachableNodes();

tree_ptr_->UpdateSemanticNodes(std::move(nodes));
tree_ptr_->Commit();
// TODO(dnfield): Implement the callback here
// https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=35718.
tree_ptr_->CommitUpdates([]() {});
}

// |fuchsia::accessibility::semantics::SemanticActionListener|
// |fuchsia::accessibility::semantics::SemanticListener|
void AccessibilityBridge::OnAccessibilityActionRequested(
uint32_t node_id,
fuchsia::accessibility::semantics::Action action,
fuchsia::accessibility::semantics::SemanticActionListener::
fuchsia::accessibility::semantics::SemanticListener::
OnAccessibilityActionRequestedCallback callback) {}

// |fuchsia::accessibility::semantics::SemanticActionListener|
// |fuchsia::accessibility::semantics::SemanticListener|
void AccessibilityBridge::HitTest(
fuchsia::math::PointF local_point,
fuchsia::accessibility::semantics::SemanticActionListener::HitTestCallback
fuchsia::accessibility::semantics::SemanticListener::HitTestCallback
callback) {}

} // namespace flutter_runner
19 changes: 12 additions & 7 deletions shell/platform/fuchsia/flutter/accessibility_bridge.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ namespace flutter_runner {
// (e.g. Flutter only sends updates for changed nodes, but Fuchsia requires
// the entire flattened subtree to be sent when a node changes.
class AccessibilityBridge
: public fuchsia::accessibility::semantics::SemanticActionListener {
: public fuchsia::accessibility::semantics::SemanticListener {
public:
// TODO(MI4-2531, FIDL-718): Remove this. We shouldn't be worried about
// batching messages at this level.
Expand Down Expand Up @@ -76,8 +76,7 @@ class AccessibilityBridge

private:
static constexpr int32_t kRootNodeId = 0;
fidl::Binding<fuchsia::accessibility::semantics::SemanticActionListener>
binding_;
fidl::Binding<fuchsia::accessibility::semantics::SemanticListener> binding_;
fuchsia::accessibility::semantics::SemanticsManagerPtr
fuchsia_semantics_manager_;
fuchsia::accessibility::semantics::SemanticTreePtr tree_ptr_;
Expand Down Expand Up @@ -115,18 +114,24 @@ class AccessibilityBridge
// May result in a call to FuchsiaAccessibility::Commit().
void PruneUnreachableNodes();

// |fuchsia::accessibility::semantics::SemanticActionListener|
// |fuchsia::accessibility::semantics::SemanticListener|
void OnAccessibilityActionRequested(
uint32_t node_id,
fuchsia::accessibility::semantics::Action action,
fuchsia::accessibility::semantics::SemanticActionListener::
fuchsia::accessibility::semantics::SemanticListener::
OnAccessibilityActionRequestedCallback callback) override;

// |fuchsia::accessibility::semantics::SemanticActionListener|
// |fuchsia::accessibility::semantics::SemanticListener|
void HitTest(
fuchsia::math::PointF local_point,
fuchsia::accessibility::semantics::SemanticActionListener::HitTestCallback
fuchsia::accessibility::semantics::SemanticListener::HitTestCallback
callback) override;

// |fuchsia::accessibility::semantics::SemanticListener|
void OnSemanticsModeChanged(
bool enabled,
OnSemanticsModeChangedCallback callback) override {}

FML_DISALLOW_COPY_AND_ASSIGN(AccessibilityBridge);
};
} // namespace flutter_runner
Expand Down