Browse Source

Fix crashing after opening a uri on browser (#17524)

* Fix crashing after opening a uri on browser

* Update NavigationHelper.cs
release/11.2.2
Steve 2 years ago
committed by Max Katz
parent
commit
ecd3a59b8e
  1. 6
      src/Browser/Avalonia.Browser/Interop/NavigationHelper.cs
  2. 3
      src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs
  3. 4
      src/Browser/Avalonia.Browser/webapp/modules/avalonia/navigationHelper.ts

6
src/Browser/Avalonia.Browser/Interop/NavigationHelper.cs

@ -16,7 +16,7 @@ internal static partial class NavigationHelper
.OnBackRequested() ?? false; .OnBackRequested() ?? false;
return Task.FromResult(handled); return Task.FromResult(handled);
} }
[JSImport("globalThis.open")] [JSImport("NavigationHelper.openUri", AvaloniaModule.MainModuleName)]
public static partial JSObject? WindowOpen(string uri, string target); public static partial bool WindowOpen(string uri, string target);
} }

3
src/Browser/Avalonia.Browser/Storage/BrowserLauncher.cs

@ -13,8 +13,7 @@ internal class BrowserLauncher : ILauncher
if (uri.IsAbsoluteUri) if (uri.IsAbsoluteUri)
{ {
var window = NavigationHelper.WindowOpen(uri.AbsoluteUri, "_blank"); return Task.FromResult(NavigationHelper.WindowOpen(uri.AbsoluteUri, "_blank"));
return Task.FromResult(window is not null);
} }
return Task.FromResult(false); return Task.FromResult(false);
} }

4
src/Browser/Avalonia.Browser/webapp/modules/avalonia/navigationHelper.ts

@ -11,4 +11,8 @@ export class NavigationHelper {
} }
}; };
} }
public static openUri(uri?: string, target?: string) {
return !!window.open(uri, target);
}
} }

Loading…
Cancel
Save