diff --git a/shell/platform/common/accessibility_bridge.cc b/shell/platform/common/accessibility_bridge.cc index f45481f4a2185..ccabc7b293d4a 100644 --- a/shell/platform/common/accessibility_bridge.cc +++ b/shell/platform/common/accessibility_bridge.cc @@ -149,18 +149,6 @@ AccessibilityBridge::GetPendingEvents() const { return result; } -void AccessibilityBridge::RecreateNodeDelegates() { - for (const auto& [node_id, old_platform_node_delegate] : id_wrapper_map_) { - std::shared_ptr platform_node_delegate = - CreateFlutterPlatformNodeDelegate(); - platform_node_delegate->Init( - std::static_pointer_cast( - shared_from_this()), - old_platform_node_delegate->GetAXNode()); - id_wrapper_map_[node_id] = platform_node_delegate; - } -} - void AccessibilityBridge::OnNodeWillBeDeleted(ui::AXTree* tree, ui::AXNode* node) {} diff --git a/shell/platform/common/accessibility_bridge.h b/shell/platform/common/accessibility_bridge.h index 06a15e4efac48..7e6698021b726 100644 --- a/shell/platform/common/accessibility_bridge.h +++ b/shell/platform/common/accessibility_bridge.h @@ -157,16 +157,6 @@ class AccessibilityBridge virtual std::shared_ptr CreateFlutterPlatformNodeDelegate() = 0; - //------------------------------------------------------------------------------ - /// @brief Recreate all FlutterPlatformNodeDelegates. - /// - /// This can be useful for subclasses when updating some - /// properties that are used by node delegates, such as views. - /// Each node is recreated using - /// CreateFlutterPlatformNodeDelegate, then initialized using - /// AXNodes from their corresponding old one. - void RecreateNodeDelegates(); - private: // See FlutterSemanticsNode in embedder.h typedef struct { diff --git a/shell/platform/common/accessibility_bridge_unittests.cc b/shell/platform/common/accessibility_bridge_unittests.cc index 3fb6e288b12a8..fb0c839b7734e 100644 --- a/shell/platform/common/accessibility_bridge_unittests.cc +++ b/shell/platform/common/accessibility_bridge_unittests.cc @@ -205,40 +205,6 @@ TEST(AccessibilityBridgeTest, CanFireChildrenChangedCorrectly) { Contains(ui::AXEventGenerator::Event::SUBTREE_CREATED)); } -TEST(AccessibilityBridgeTest, CanRecreateNodeDelegates) { - std::shared_ptr bridge = - std::make_shared(); - - std::vector children{1}; - FlutterSemanticsNode2 root = CreateSemanticsNode(0, "root", &children); - FlutterSemanticsNode2 child1 = CreateSemanticsNode(1, "child 1"); - - bridge->AddFlutterSemanticsNodeUpdate(root); - bridge->AddFlutterSemanticsNodeUpdate(child1); - bridge->CommitUpdates(); - - auto root_node = bridge->GetFlutterPlatformNodeDelegateFromID(0); - auto child1_node = bridge->GetFlutterPlatformNodeDelegateFromID(1); - EXPECT_FALSE(root_node.expired()); - EXPECT_FALSE(child1_node.expired()); - - bridge->RecreateNodeDelegates(); - - // Old tree is destroyed. - EXPECT_TRUE(root_node.expired()); - EXPECT_TRUE(child1_node.expired()); - - // New tree still has the data. - auto new_root_node = bridge->GetFlutterPlatformNodeDelegateFromID(0).lock(); - auto new_child1_node = bridge->GetFlutterPlatformNodeDelegateFromID(1).lock(); - EXPECT_EQ(new_root_node->GetChildCount(), 1); - EXPECT_EQ(new_root_node->GetData().child_ids[0], 1); - EXPECT_EQ(new_root_node->GetName(), "root"); - - EXPECT_EQ(new_child1_node->GetChildCount(), 0); - EXPECT_EQ(new_child1_node->GetName(), "child 1"); -} - TEST(AccessibilityBridgeTest, CanHandleSelectionChangeCorrectly) { std::shared_ptr bridge = std::make_shared(); diff --git a/shell/platform/common/test_accessibility_bridge.h b/shell/platform/common/test_accessibility_bridge.h index c81a3b59d1a14..a9ce43269dd87 100644 --- a/shell/platform/common/test_accessibility_bridge.h +++ b/shell/platform/common/test_accessibility_bridge.h @@ -11,8 +11,6 @@ namespace flutter { class TestAccessibilityBridge : public AccessibilityBridge { public: - using AccessibilityBridge::RecreateNodeDelegates; - TestAccessibilityBridge() = default; void DispatchAccessibilityAction(AccessibilityNodeId target, diff --git a/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.h b/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.h index 6bfbc61d4ec8c..4055af4507c1f 100644 --- a/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.h +++ b/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.h @@ -40,12 +40,6 @@ class AccessibilityBridgeMac : public AccessibilityBridge { FlutterSemanticsAction action, fml::MallocMapping data) override; - // Update the default view controller, and recreate the corresponding - // accessibility node delegate. - // - // This is called by the engine when the default view controller is updated. - void UpdateDefaultViewController(__weak FlutterViewController* view_controller); - protected: // |AccessibilityBridge| void OnAccessibilityEvent(ui::AXEventGenerator::TargetedEvent targeted_event) override; diff --git a/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.mm b/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.mm index be715db20c99f..7d3cc3fd16a68 100644 --- a/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.mm +++ b/shell/platform/darwin/macos/framework/Source/AccessibilityBridgeMac.mm @@ -24,12 +24,6 @@ __weak FlutterViewController* view_controller) : flutter_engine_(flutter_engine), view_controller_(view_controller) {} -void AccessibilityBridgeMac::UpdateDefaultViewController( - __weak FlutterViewController* view_controller) { - view_controller_ = view_controller; - RecreateNodeDelegates(); -} - void AccessibilityBridgeMac::OnAccessibilityEvent( ui::AXEventGenerator::TargetedEvent targeted_event) { if (!view_controller_.viewLoaded || !view_controller_.view.window) {