private void Webview_NavigationStarting(IWebViewControl sender, WebViewControlNavigationStartingEventArgs e) { var args = new NavigatingEventArgs(e.Uri); Navigating?.Invoke(this, args); e.Cancel = args.Cancel; }
private void OnNavigationCompleted(IWebViewControl sender, Windows.Web.UI.WebViewControlNavigationCompletedEventArgs args) { // When Source set to null or navigating to stream/string, we navigate to "about:blank" internally. if (NavigatingToAboutBlank) { Verify.Implies(NavigatingToAboutBlank, Source == null || Source == WebViewDefaults.AboutBlankUri); // Make sure we pass null in the event args var a = new WebViewControlNavigationCompletedEventArgs(args, null); OnNavigationCompleted(a); } else { OnNavigationCompleted(args); } }
private void OnLostFocus(IWebViewControl sender, object args) => OnLostFocus(args);
private void OnLongRunningScriptDetected(IWebViewControl sender, Windows.Web.UI.WebViewControlLongRunningScriptDetectedEventArgs args) => OnLongRunningScriptDetected(args);
private void OnFrameNavigationStarting(IWebViewControl sender, Windows.Web.UI.WebViewControlNavigationStartingEventArgs args) => OnFrameNavigationStarting(args);
private void OnFrameNavigationCompleted(IWebViewControl sender, Windows.Web.UI.WebViewControlNavigationCompletedEventArgs args) { // TODO: Need to handle frame navigation like NavigationCompleted? OnFrameNavigationCompleted(args); }
private void OnFrameDOMContentLoaded(IWebViewControl sender, Windows.Web.UI.WebViewControlDOMContentLoadedEventArgs args) => OnFrameDOMContentLoaded(args);
private void OnFrameContentLoading(IWebViewControl sender, Windows.Web.UI.WebViewControlContentLoadingEventArgs args) => OnFrameContentLoading(args);
private void OnUnviewableContentIdentified(IWebViewControl sender, Windows.Web.UI.WebViewControlUnviewableContentIdentifiedEventArgs args) => OnUnviewableContentIdentified(args);
private void OnUnsupportedUriSchemeIdentified(IWebViewControl sender, Windows.Web.UI.WebViewControlUnsupportedUriSchemeIdentifiedEventArgs args) => OnUnsupportedUriSchemeIdentified(args);
private void OnUnsafeContentWarningDisplaying(IWebViewControl sender, object args) => OnUnsafeContentWarningDisplaying(args);
private void OnPermissionRequested(IWebViewControl sender, Windows.Web.UI.WebViewControlPermissionRequestedEventArgs args) => OnPermissionRequested(args);
private void OnOnScriptNotify(IWebViewControl sender, Windows.Web.UI.WebViewControlScriptNotifyEventArgs args) => OnScriptNotify(args);
private void OnNewWindowRequested(IWebViewControl sender, Windows.Web.UI.WebViewControlNewWindowRequestedEventArgs args) => OnNewWindowRequested(args);
private void OnWebResourceRequested(IWebViewControl sender, windows.Web.UI.WebViewControlWebResourceRequestedEventArgs args) => OnWebResourceRequested(args);
private void OnContainsFullScreenElementChanged(IWebViewControl sender, object args) => OnContainsFullScreenElementChanged(args);
private void OnNavigationStarting(IWebViewControl sender, Windows.Web.UI.WebViewControlNavigationStartingEventArgs args) { var newNavigationRequested = false; var cancelRequested = false; try { var url = args.Uri; // The NavigatingToAboutBlank property indicates whether we are navigating to "about:blank" as a result of navigating // to a null source, or stream/string navigation. // We set the NavigatingToAboutBlank bit to true in the void Navigate(Uri) method. When the above conditions are true, // the NavigatingToAboutBlank is true and the source must be "about:blank" if (NavigatingToAboutBlank && url != null && url != new Uri("about:blank")) { NavigatingToAboutBlank = false; } if (!NavigatingToAboutBlank && !Security.CallerHasWebPermission(url)) { cancelRequested = true; } else { // When Source is set to null or navigating to stream/string, we navigate to "about:blank" internally. // Make sure we pass null in the event args if (NavigatingToAboutBlank) { url = null; } var a = new WebViewControlNavigationStartingEventArgs(args, url); // Launching a navigation from the NavigationStarting event handler causes re-entrancy var lastNavigation = LastNavigation; // Fire navigating event OnNavigationStarting(a); if (LastNavigation != lastNavigation) { newNavigationRequested = true; } cancelRequested = a.Cancel; } } // Disable to suppress FXCop warning since we really do want to catch all exceptions #pragma warning disable 6502 catch { cancelRequested = true; } #pragma warning restore 6502 finally { if (cancelRequested && !newNavigationRequested) { CleanInternalState(); } if (cancelRequested || newNavigationRequested) { args.Cancel = true; } } }
private async void Webview_ScriptNotify(IWebViewControl sender, WebViewControlScriptNotifyEventArgs e) { await bridge.HandleScriptCall(e.Value); }