private void RequestHandler_OnBeforeBrowse(object sender, CfxOnBeforeBrowseEventArgs e) { if (!e.Frame.IsMain) { return; } var request = e.Request; switch (request.TransitionType) { case CfxTransitionType.Explicit: return; case CfxTransitionType.ClientRedirectFlag: e.SetReturnValue(true); FireReload(); break; default: _Logger.Error($@"Navigation to {request.Url} triggered by ""{request.TransitionType}"" has been cancelled. It is not possible to trigger a page loading from javascript that may corrupt session and hot-reload. Use Neutronium API to alter HTML view."); e.SetReturnValue(true); var browser = e.Browser; var url = _CfxWebBrowser.Host?.VisibleNavigationEntry?.Url; if (!_CfxWebBrowser.IsSame(browser)) { _Logger.Warning("Closing link browser"); browser.Host.CloseBrowser(false); } FireReload(url ?? request.ReferrerUrl); break; } }
private StreamResourceInfo GetStreamResourceInfo(Uri uri) { if (IsPrefetch) { return(null); } try { return(System.Windows.Application.GetResourceStream(uri)); } catch { _Logger?.Warning(NotFound); } return(null); }