public override void OnPageStarted(global::Android.Webkit.WebView view, string url, Bitmap favicon) { if (_renderer?.Element == null || url == WebViewRenderer.AssetBaseUrl) { return; } var args = new WebNavigatingEventArgs(WebNavigationEvent.NewPage, new UrlWebViewSource { Url = url }, url); _renderer.ElementController.SendNavigating(args); _navigationResult = WebNavigationResult.Success; _renderer.UpdateCanGoBackForward(); if (args.Cancel) { _renderer.Control.StopLoading(); } else { base.OnPageStarted(view, url, favicon); } }
public override void OnPageFinished(WView view, string url) { if (_renderer?.Element == null || url == WebViewRenderer.AssetBaseUrl) { return; } var source = new UrlWebViewSource { Url = url }; _renderer.IgnoreSourceChanges = true; _renderer.ElementController.SetValueFromRenderer(WebView.SourceProperty, source); _renderer.IgnoreSourceChanges = false; bool navigate = _navigationResult == WebNavigationResult.Failure ? !url.Equals(_lastUrlNavigatedCancel, StringComparison.OrdinalIgnoreCase) : true; _lastUrlNavigatedCancel = _navigationResult == WebNavigationResult.Cancel ? url : null; if (navigate) { var args = new WebNavigatedEventArgs(_renderer.GetCurrentWebNavigationEvent(), source, url, _navigationResult); _renderer.ElementController.SendNavigated(args); } _renderer.UpdateCanGoBackForward(); base.OnPageFinished(view, url); }
public override void OnPageFinished(AWebView view, string url) { if (_renderer.Element == null || url == "file:///android_asset/") return; var source = new UrlWebViewSource { Url = url }; _renderer._ignoreSourceChanges = true; _renderer.ElementController.SetValueFromRenderer(WebView.SourceProperty, source); _renderer._ignoreSourceChanges = false; var args = new WebNavigatedEventArgs(WebNavigationEvent.NewPage, source, url, _navigationResult); _renderer.ElementController.SendNavigated(args); _renderer.UpdateCanGoBackForward(); base.OnPageFinished(view, url); }