mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-19 15:03:05 +00:00
Plugin dialog content is injected with SetPage, so on the WebKit backends a reload (context menu, keyboard shortcut or location.reload()) re-fetches the SetPage base URL instead of the injected document, and the plugin UI is gone for good: load_plugin_content() returned early once m_content_loaded was set. Re-inject the plugin HTML when a main-frame load after the initial swap is neither that swap nor a page the plugin linked to. m_own_page_load marks the load our own SetPage caused, and the URL test recognises the reload: the injected document and the directory a reload re-fetches both report the base URL, so a load of any other URL is left alone. The test ignores a fragment the page navigated to, and undoes the escaping the web view applies to what the resources path holds. A load error after the swap is left alone. No separate MSW path is needed: wxWebViewEdge ignores the SetPage base URL, so its documents report about:blank and the test never matches there, and WebView2 reloads NavigateToString content from its own history entry anyway.