Skip to content
Snippets Groups Projects
Verified Commit 8daeaa68 authored by Björn Eßwein's avatar Björn Eßwein
Browse files

fixed race condition in tab.getDocument by replacing it with an awaitable property

parent 9363d319
No related branches found
No related tags found
No related merge requests found
...@@ -35,6 +35,10 @@ private void OnWebViewComponentReady() ...@@ -35,6 +35,10 @@ private void OnWebViewComponentReady()
SwitchScrollUI.activeScrollData.OnScrollDynamicInfoUpdated.AddListener(SetScrollContent); SwitchScrollUI.activeScrollData.OnScrollDynamicInfoUpdated.AddListener(SetScrollContent);
webViewComponent.tab.AddJSBinding("applyScroll", ApplyScrollHandler); webViewComponent.tab.AddJSBinding("applyScroll", ApplyScrollHandler);
webViewComponent.tab.AddJSBinding("getHint", GetHintHandler); webViewComponent.tab.AddJSBinding("getHint", GetHintHandler);
if (SwitchScrollUI.activeScrollData.Scroll is not null)
{
SetScrollContent(SwitchScrollUI.activeScrollData.Scroll);
}
RegisterBrowserEventhandlers(); RegisterBrowserEventhandlers();
} }
private void OnDisable() private void OnDisable()
...@@ -61,7 +65,7 @@ private async void RegisterBrowserEventhandlers() ...@@ -61,7 +65,7 @@ private async void RegisterBrowserEventhandlers()
// register c# event handlers // register c# event handlers
// get the dropzones from the scroll and add the event handler to track when something is dropped // get the dropzones from the scroll and add the event handler to track when something is dropped
DomNodeWrapper document = await webViewComponent.tab.GetDocument(); DomNodeWrapper document = await webViewComponent.tab.Document;
dropzones = await document.querySelectorAllAsync("[dropzone='copy']"); dropzones = await document.querySelectorAllAsync("[dropzone='copy']");
dropzones.ForEach(dropzone => dropzone.OnAttributeModified += DropzoneAttributeModifiedHandler); dropzones.ForEach(dropzone => dropzone.OnAttributeModified += DropzoneAttributeModifiedHandler);
} }
...@@ -78,7 +82,7 @@ private void DeRegisterBrowserEventhandlers() ...@@ -78,7 +82,7 @@ private void DeRegisterBrowserEventhandlers()
private async void SetScrollContent(Scroll scroll) private async void SetScrollContent(Scroll scroll)
{ {
// update scroll container content // update scroll container content
DomNodeWrapper document = await webViewComponent.tab.GetDocument(); DomNodeWrapper document = await webViewComponent.tab.Document;
DomNodeWrapper scrollContainer = await document.querySelectorAsync("#scrollContainer"); DomNodeWrapper scrollContainer = await document.querySelectorAsync("#scrollContainer");
var description = scroll.description; var description = scroll.description;
......
Subproject commit 32bbc9be2e099918d10d0e54e8993cae6e54799a Subproject commit 8cd56ed2cf3b543fcc6d895932a6f13e6b9400fd
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment