diff --git a/Runtime/ChromeDevtools/DomNodeWrapper.cs b/Runtime/ChromeDevtools/DomNodeWrapper.cs index 7f2eeaeb57fa1fa49fc31ace61e5019def056d47..5f367ee351e3f0ec7a6dc6700979c6d0c4960e9a 100644 --- a/Runtime/ChromeDevtools/DomNodeWrapper.cs +++ b/Runtime/ChromeDevtools/DomNodeWrapper.cs @@ -137,7 +137,8 @@ namespace bessw.Unity.WebView.ChromeDevTools var childNode = createOrUpdateNode(tab, eventData.node.nodeId, eventData.parentNodeId, eventData.node.backendNodeId, eventData.node); if (parentNode.Node != null && childNode.Node != null) { - parentNode.Node.children.Insert(eventData.previousNodeId, childNode.Node); + var idx = parentNode.Node.children.FindIndex(node => node.nodeId == eventData.previousNodeId) + 1; + parentNode.Node.children.Insert(idx, childNode.Node); parentNode.OnDomChildNodeInserted?.Invoke(eventData); } else { throw new InvalidOperationException("ChildNodeInserted event was fired, the node info has not yet been recieved");