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
86 changes: 0 additions & 86 deletions shell/platform/common/accessibility_bridge.cc
Original file line number Diff line number Diff line change
Expand Up @@ -47,21 +47,6 @@ void AccessibilityBridge::AddFlutterSemanticsCustomActionUpdate(
FromFlutterSemanticsCustomAction(action);
}

// TODO(loicsharma): Remove this as FlutterSemanticsNode is deprecated.
// See: https://github.com/flutter/flutter/issues/121176
void AccessibilityBridge::AddFlutterSemanticsNodeUpdate(
const FlutterSemanticsNode& node) {
pending_semantics_node_updates_[node.id] = FromFlutterSemanticsNode(node);
}

// TODO(loicsharma): Remove this as FlutterSemanticsNode is deprecated.
// See: https://github.com/flutter/flutter/issues/121176
void AccessibilityBridge::AddFlutterSemanticsCustomActionUpdate(
const FlutterSemanticsCustomAction& action) {
pending_semantics_custom_action_updates_[action.id] =
FromFlutterSemanticsCustomAction(action);
}

void AccessibilityBridge::CommitUpdates() {
// AXTree cannot move a node in a single update.
// This must be split across two updates:
Expand Down Expand Up @@ -657,77 +642,6 @@ AccessibilityBridge::FromFlutterSemanticsCustomAction(
return result;
}

// TODO(loicsharma): Remove this as FlutterSemanticsNode is deprecated.
// See: https://github.com/flutter/flutter/issues/121176
AccessibilityBridge::SemanticsNode
AccessibilityBridge::FromFlutterSemanticsNode(
const FlutterSemanticsNode& flutter_node) {
SemanticsNode result;
result.id = flutter_node.id;
result.flags = flutter_node.flags;
result.actions = flutter_node.actions;
result.text_selection_base = flutter_node.text_selection_base;
result.text_selection_extent = flutter_node.text_selection_extent;
result.scroll_child_count = flutter_node.scroll_child_count;
result.scroll_index = flutter_node.scroll_index;
result.scroll_position = flutter_node.scroll_position;
result.scroll_extent_max = flutter_node.scroll_extent_max;
result.scroll_extent_min = flutter_node.scroll_extent_min;
result.elevation = flutter_node.elevation;
result.thickness = flutter_node.thickness;
if (flutter_node.label) {
result.label = std::string(flutter_node.label);
}
if (flutter_node.hint) {
result.hint = std::string(flutter_node.hint);
}
if (flutter_node.value) {
result.value = std::string(flutter_node.value);
}
if (flutter_node.increased_value) {
result.increased_value = std::string(flutter_node.increased_value);
}
if (flutter_node.decreased_value) {
result.decreased_value = std::string(flutter_node.decreased_value);
}
if (flutter_node.tooltip) {
result.tooltip = std::string(flutter_node.tooltip);
}
result.text_direction = flutter_node.text_direction;
result.rect = flutter_node.rect;
result.transform = flutter_node.transform;
if (flutter_node.child_count > 0) {
result.children_in_traversal_order = std::vector<int32_t>(
flutter_node.children_in_traversal_order,
flutter_node.children_in_traversal_order + flutter_node.child_count);
}
if (flutter_node.custom_accessibility_actions_count > 0) {
result.custom_accessibility_actions = std::vector<int32_t>(
flutter_node.custom_accessibility_actions,
flutter_node.custom_accessibility_actions +
flutter_node.custom_accessibility_actions_count);
}
return result;
}

// TODO(loicsharma): Remove this as FlutterSemanticsCustomAction is
// deprecated.
// See: https://github.com/flutter/flutter/issues/121176
AccessibilityBridge::SemanticsCustomAction
AccessibilityBridge::FromFlutterSemanticsCustomAction(
const FlutterSemanticsCustomAction& flutter_custom_action) {
SemanticsCustomAction result;
result.id = flutter_custom_action.id;
result.override_action = flutter_custom_action.override_action;
if (flutter_custom_action.label) {
result.label = std::string(flutter_custom_action.label);
}
if (flutter_custom_action.hint) {
result.hint = std::string(flutter_custom_action.hint);
}
return result;
}

void AccessibilityBridge::SetLastFocusedId(AccessibilityNodeId node_id) {
if (last_focused_id_ != node_id) {
auto last_focused_child =
Expand Down
35 changes: 0 additions & 35 deletions shell/platform/common/accessibility_bridge.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,30 +67,6 @@ class AccessibilityBridge
void AddFlutterSemanticsCustomActionUpdate(
const FlutterSemanticsCustomAction2& action);

//------------------------------------------------------------------------------
/// @brief Adds a semantics node update to the pending semantics update.
/// Calling this method alone will NOT update the semantics tree.
/// To flush the pending updates, call the CommitUpdates().
///
/// @param[in] node A reference to the semantics node update.
// TODO(loicsharma): Remove this as FlutterSemanticsNode is deprecated.
// See: https://github.com/flutter/flutter/issues/121176
void AddFlutterSemanticsNodeUpdate(const FlutterSemanticsNode& node);

//------------------------------------------------------------------------------
/// @brief Adds a custom semantics action update to the pending semantics
/// update. Calling this method alone will NOT update the
/// semantics tree. To flush the pending updates, call the
/// CommitUpdates().
///
/// @param[in] action A reference to the custom semantics action
/// update.
// TODO(loicsharma): Remove this as FlutterSemanticsCustomAction is
// deprecated.
// See: https://github.com/flutter/flutter/issues/121176
void AddFlutterSemanticsCustomActionUpdate(
const FlutterSemanticsCustomAction& action);

//------------------------------------------------------------------------------
/// @brief Flushes the pending updates and applies them to this
/// accessibility bridge. Calling this with no pending updates
Expand Down Expand Up @@ -273,17 +249,6 @@ class AccessibilityBridge
SemanticsCustomAction FromFlutterSemanticsCustomAction(
const FlutterSemanticsCustomAction2& flutter_custom_action);

// TODO(loicsharma): Remove this as FlutterSemanticsNode is deprecated.
// See: https://github.com/flutter/flutter/issues/121176
SemanticsNode FromFlutterSemanticsNode(
const FlutterSemanticsNode& flutter_node);

// TODO(loicsharma): Remove this as FlutterSemanticsCustomAction is
// deprecated.
// See: https://github.com/flutter/flutter/issues/121176
SemanticsCustomAction FromFlutterSemanticsCustomAction(
const FlutterSemanticsCustomAction& flutter_custom_action);

// |AXTreeObserver|
void OnNodeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) override;

Expand Down
72 changes: 36 additions & 36 deletions shell/platform/common/accessibility_bridge_unittests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ namespace testing {

using ::testing::Contains;

FlutterSemanticsNode CreateSemanticsNode(
FlutterSemanticsNode2 CreateSemanticsNode(
int32_t id,
const char* label,
const std::vector<int32_t>* children = nullptr) {
Expand All @@ -42,9 +42,9 @@ TEST(AccessibilityBridgeTest, BasicTest) {
std::make_shared<TestAccessibilityBridge>();

std::vector<int32_t> children{1, 2};
FlutterSemanticsNode root = CreateSemanticsNode(0, "root", &children);
FlutterSemanticsNode child1 = CreateSemanticsNode(1, "child 1");
FlutterSemanticsNode child2 = CreateSemanticsNode(2, "child 2");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root", &children);
FlutterSemanticsNode2 child1 = CreateSemanticsNode(1, "child 1");
FlutterSemanticsNode2 child2 = CreateSemanticsNode(2, "child 2");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(child1);
Expand Down Expand Up @@ -74,9 +74,9 @@ TEST(AccessibilityBridgeTest, AccessibilityRootId) {
std::make_shared<TestAccessibilityBridge>();

std::vector<int32_t> children{456, 789};
FlutterSemanticsNode root = CreateSemanticsNode(123, "root", &children);
FlutterSemanticsNode child1 = CreateSemanticsNode(456, "child 1");
FlutterSemanticsNode child2 = CreateSemanticsNode(789, "child 2");
FlutterSemanticsNode2 root = CreateSemanticsNode(123, "root", &children);
FlutterSemanticsNode2 child1 = CreateSemanticsNode(456, "child 1");
FlutterSemanticsNode2 child2 = CreateSemanticsNode(789, "child 2");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(child1);
Expand Down Expand Up @@ -113,13 +113,13 @@ TEST(AccessibilityBridgeTest, AddOrder) {
std::vector<int32_t> root_children{34, 56};
std::vector<int32_t> child2_children{78};
std::vector<int32_t> child3_children{90};
FlutterSemanticsNode root = CreateSemanticsNode(12, "root", &root_children);
FlutterSemanticsNode child1 = CreateSemanticsNode(34, "child 1");
FlutterSemanticsNode child2 =
FlutterSemanticsNode2 root = CreateSemanticsNode(12, "root", &root_children);
FlutterSemanticsNode2 child1 = CreateSemanticsNode(34, "child 1");
FlutterSemanticsNode2 child2 =
CreateSemanticsNode(56, "child 2", &child2_children);
FlutterSemanticsNode child3 =
FlutterSemanticsNode2 child3 =
CreateSemanticsNode(78, "child 3", &child3_children);
FlutterSemanticsNode child4 = CreateSemanticsNode(90, "child 4");
FlutterSemanticsNode2 child4 = CreateSemanticsNode(90, "child 4");

bridge->AddFlutterSemanticsNodeUpdate(child3);
bridge->AddFlutterSemanticsNodeUpdate(child2);
Expand Down Expand Up @@ -162,8 +162,8 @@ TEST(AccessibilityBridgeTest, CanFireChildrenChangedCorrectly) {
std::make_shared<TestAccessibilityBridge>();

std::vector<int32_t> children{1};
FlutterSemanticsNode root = CreateSemanticsNode(0, "root", &children);
FlutterSemanticsNode child1 = CreateSemanticsNode(1, "child 1");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root", &children);
FlutterSemanticsNode2 child1 = CreateSemanticsNode(1, "child 1");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(child1);
Expand All @@ -185,7 +185,7 @@ TEST(AccessibilityBridgeTest, CanFireChildrenChangedCorrectly) {
int32_t new_children[] = {1, 2};
root.children_in_traversal_order = new_children;

FlutterSemanticsNode child2 = CreateSemanticsNode(2, "child 2");
FlutterSemanticsNode2 child2 = CreateSemanticsNode(2, "child 2");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(child2);
Expand All @@ -210,8 +210,8 @@ TEST(AccessibilityBridgeTest, CanRecreateNodeDelegates) {
std::make_shared<TestAccessibilityBridge>();

std::vector<int32_t> children{1};
FlutterSemanticsNode root = CreateSemanticsNode(0, "root", &children);
FlutterSemanticsNode child1 = CreateSemanticsNode(1, "child 1");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root", &children);
FlutterSemanticsNode2 child1 = CreateSemanticsNode(1, "child 1");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(child1);
Expand Down Expand Up @@ -242,7 +242,7 @@ TEST(AccessibilityBridgeTest, CanRecreateNodeDelegates) {
TEST(AccessibilityBridgeTest, CanHandleSelectionChangeCorrectly) {
std::shared_ptr<TestAccessibilityBridge> bridge =
std::make_shared<TestAccessibilityBridge>();
FlutterSemanticsNode root = CreateSemanticsNode(0, "root");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root");
root.flags = static_cast<FlutterSemanticsFlag>(
FlutterSemanticsFlag::kFlutterSemanticsFlagIsTextField |
FlutterSemanticsFlag::kFlutterSemanticsFlagIsFocused);
Expand Down Expand Up @@ -274,7 +274,7 @@ TEST(AccessibilityBridgeTest, CanHandleSelectionChangeCorrectly) {
TEST(AccessibilityBridgeTest, DoesNotAssignEditableRootToSelectableText) {
std::shared_ptr<TestAccessibilityBridge> bridge =
std::make_shared<TestAccessibilityBridge>();
FlutterSemanticsNode root = CreateSemanticsNode(0, "root");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root");
root.flags = static_cast<FlutterSemanticsFlag>(
FlutterSemanticsFlag::kFlutterSemanticsFlagIsTextField |
FlutterSemanticsFlag::kFlutterSemanticsFlagIsReadOnly);
Expand All @@ -290,7 +290,7 @@ TEST(AccessibilityBridgeTest, DoesNotAssignEditableRootToSelectableText) {
TEST(AccessibilityBridgeTest, ToggleHasToggleButtonRole) {
std::shared_ptr<TestAccessibilityBridge> bridge =
std::make_shared<TestAccessibilityBridge>();
FlutterSemanticsNode root = CreateSemanticsNode(0, "root");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root");
root.flags = static_cast<FlutterSemanticsFlag>(
FlutterSemanticsFlag::kFlutterSemanticsFlagHasToggledState |
FlutterSemanticsFlag::kFlutterSemanticsFlagHasEnabledState |
Expand All @@ -305,7 +305,7 @@ TEST(AccessibilityBridgeTest, ToggleHasToggleButtonRole) {
TEST(AccessibilityBridgeTest, SliderHasSliderRole) {
std::shared_ptr<TestAccessibilityBridge> bridge =
std::make_shared<TestAccessibilityBridge>();
FlutterSemanticsNode root = CreateSemanticsNode(0, "root");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root");
root.flags = static_cast<FlutterSemanticsFlag>(
FlutterSemanticsFlag::kFlutterSemanticsFlagIsSlider |
FlutterSemanticsFlag::kFlutterSemanticsFlagHasEnabledState |
Expand All @@ -326,7 +326,7 @@ TEST(AccessibilityBridgeTest, SliderHasSliderRole) {
TEST(AccessibilityBridgeTest, CanSetCheckboxChecked) {
std::shared_ptr<TestAccessibilityBridge> bridge =
std::make_shared<TestAccessibilityBridge>();
FlutterSemanticsNode root = CreateSemanticsNode(0, "root");
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root");
root.flags = static_cast<FlutterSemanticsFlag>(
FlutterSemanticsFlag::kFlutterSemanticsFlagHasCheckedState |
FlutterSemanticsFlag::kFlutterSemanticsFlagIsChecked);
Expand All @@ -346,10 +346,10 @@ TEST(AccessibilityBridgeTest, CanReparentNode) {

std::vector<int32_t> root_children{1};
std::vector<int32_t> child1_children{2};
FlutterSemanticsNode root = CreateSemanticsNode(0, "root", &root_children);
FlutterSemanticsNode child1 =
FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root", &root_children);
FlutterSemanticsNode2 child1 =
CreateSemanticsNode(1, "child 1", &child1_children);
FlutterSemanticsNode child2 = CreateSemanticsNode(2, "child 2");
FlutterSemanticsNode2 child2 = CreateSemanticsNode(2, "child 2");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(child1);
Expand Down Expand Up @@ -417,15 +417,15 @@ TEST(AccessibilityBridgeTest, CanReparentMultipleNodes) {
std::vector<int32_t> root_children{intermediary1_id, intermediary2_id};
std::vector<int32_t> intermediary1_children{leaf1_id};
std::vector<int32_t> intermediary2_children{leaf2_id, leaf3_id};
FlutterSemanticsNode root =
FlutterSemanticsNode2 root =
CreateSemanticsNode(root_id, "root", &root_children);
FlutterSemanticsNode intermediary1 = CreateSemanticsNode(
FlutterSemanticsNode2 intermediary1 = CreateSemanticsNode(
intermediary1_id, "intermediary 1", &intermediary1_children);
FlutterSemanticsNode intermediary2 = CreateSemanticsNode(
FlutterSemanticsNode2 intermediary2 = CreateSemanticsNode(
intermediary2_id, "intermediary 2", &intermediary2_children);
FlutterSemanticsNode leaf1 = CreateSemanticsNode(leaf1_id, "leaf 1");
FlutterSemanticsNode leaf2 = CreateSemanticsNode(leaf2_id, "leaf 2");
FlutterSemanticsNode leaf3 = CreateSemanticsNode(leaf3_id, "leaf 3");
FlutterSemanticsNode2 leaf1 = CreateSemanticsNode(leaf1_id, "leaf 1");
FlutterSemanticsNode2 leaf2 = CreateSemanticsNode(leaf2_id, "leaf 2");
FlutterSemanticsNode2 leaf3 = CreateSemanticsNode(leaf3_id, "leaf 3");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(intermediary1);
Expand Down Expand Up @@ -508,13 +508,13 @@ TEST(AccessibilityBridgeTest, CanReparentNodeWithChild) {

std::vector<int32_t> root_children{intermediary1_id, intermediary2_id};
std::vector<int32_t> intermediary1_children{leaf1_id};
FlutterSemanticsNode root =
FlutterSemanticsNode2 root =
CreateSemanticsNode(root_id, "root", &root_children);
FlutterSemanticsNode intermediary1 = CreateSemanticsNode(
FlutterSemanticsNode2 intermediary1 = CreateSemanticsNode(
intermediary1_id, "intermediary 1", &intermediary1_children);
FlutterSemanticsNode intermediary2 =
FlutterSemanticsNode2 intermediary2 =
CreateSemanticsNode(intermediary2_id, "intermediary 2");
FlutterSemanticsNode leaf1 = CreateSemanticsNode(leaf1_id, "leaf 1");
FlutterSemanticsNode2 leaf1 = CreateSemanticsNode(leaf1_id, "leaf 1");

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->AddFlutterSemanticsNodeUpdate(intermediary1);
Expand Down Expand Up @@ -593,7 +593,7 @@ TEST(AccessibilityBridgeTest, LineBreakingObjectTest) {

const int32_t root_id = 0;

FlutterSemanticsNode root = CreateSemanticsNode(root_id, "root", {});
FlutterSemanticsNode2 root = CreateSemanticsNode(root_id, "root", {});

bridge->AddFlutterSemanticsNodeUpdate(root);
bridge->CommitUpdates();
Expand Down
Loading