Browse Source

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

* Fix crashing after opening a uri on browser

* Update NavigationHelper.cs
pull/17571/head
Steve 1 year ago
committed by GitHub
parent
commit
9091d66e30
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  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;
return Task.FromResult(handled);
}
[JSImport("globalThis.open")]
public static partial JSObject? WindowOpen(string uri, string target);
[JSImport("NavigationHelper.openUri", AvaloniaModule.MainModuleName)]
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)
{
var window = NavigationHelper.WindowOpen(uri.AbsoluteUri, "_blank");
return Task.FromResult(window is not null);
return Task.FromResult(NavigationHelper.WindowOpen(uri.AbsoluteUri, "_blank"));
}
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