diff --git a/engine/src/flutter/lib/ui/semantics.dart b/engine/src/flutter/lib/ui/semantics.dart index 39605af70d..47a3e89ab8 100644 --- a/engine/src/flutter/lib/ui/semantics.dart +++ b/engine/src/flutter/lib/ui/semantics.dart @@ -399,6 +399,7 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 { String increasedValue, String decreasedValue, TextDirection textDirection, + int nextNodeId, int previousNodeId, Float64List transform, Int32List children, @@ -423,6 +424,7 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 { increasedValue, decreasedValue, textDirection != null ? textDirection.index + 1 : 0, + nextNodeId ?? -1, previousNodeId ?? -1, transform, children,); @@ -446,6 +448,7 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 { String increasedValue, String decreasedValue, int textDirection, + int nextNodeId, int previousNodeId, Float64List transform, Int32List children, diff --git a/engine/src/flutter/lib/ui/semantics/semantics_node.h b/engine/src/flutter/lib/ui/semantics/semantics_node.h index 56156e7a18..ca416c1385 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_node.h +++ b/engine/src/flutter/lib/ui/semantics/semantics_node.h @@ -76,6 +76,7 @@ struct SemanticsNode { std::string increasedValue; std::string decreasedValue; int32_t textDirection = 0; // 0=unknown, 1=rtl, 2=ltr + int32_t nextNodeId = -1; int32_t previousNodeId = -1; SkRect rect = SkRect::MakeEmpty(); diff --git a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc index be9aae1bda..3d2a7455f9 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc +++ b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.cc @@ -52,6 +52,7 @@ void SemanticsUpdateBuilder::updateNode(int id, std::string increasedValue, std::string decreasedValue, int textDirection, + int nextNodeId, int previousNodeId, const tonic::Float64List& transform, const tonic::Int32List& children) { @@ -71,6 +72,7 @@ void SemanticsUpdateBuilder::updateNode(int id, node.increasedValue = increasedValue; node.decreasedValue = decreasedValue; node.textDirection = textDirection; + node.nextNodeId = nextNodeId; node.previousNodeId = previousNodeId; node.transform.setColMajord(transform.data()); node.children = std::vector( diff --git a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h index 0f716f7528..7c39ebf44b 100644 --- a/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h +++ b/engine/src/flutter/lib/ui/semantics/semantics_update_builder.h @@ -43,6 +43,7 @@ class SemanticsUpdateBuilder std::string increasedValue, std::string decreasedValue, int textDirection, + int nextNodeId, int previousNodeId, const tonic::Float64List& transform, const tonic::Int32List& children);