Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
			}