summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/WebView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core/WebView.cs')
-rw-r--r--Xamarin.Forms.Core/WebView.cs47
1 files changed, 33 insertions, 14 deletions
diff --git a/Xamarin.Forms.Core/WebView.cs b/Xamarin.Forms.Core/WebView.cs
index b366bb4b..bba84306 100644
--- a/Xamarin.Forms.Core/WebView.cs
+++ b/Xamarin.Forms.Core/WebView.cs
@@ -5,7 +5,7 @@ using Xamarin.Forms.Platform;
namespace Xamarin.Forms
{
[RenderWith(typeof(_WebViewRenderer))]
- public class WebView : View, IElementConfiguration<WebView>
+ public class WebView : View, IWebViewController, IElementConfiguration<WebView>
{
public static readonly BindableProperty SourceProperty = BindableProperty.Create("Source", typeof(WebViewSource), typeof(WebView), default(WebViewSource),
propertyChanging: (bindable, oldvalue, newvalue) =>
@@ -39,16 +39,24 @@ namespace Xamarin.Forms
_platformConfigurationRegistry = new Lazy<PlatformConfigurationRegistry<WebView>>(() => new PlatformConfigurationRegistry<WebView>(this));
}
+ bool IWebViewController.CanGoBack {
+ get { return CanGoBack; }
+ set { SetValue(CanGoBackPropertyKey, value); }
+ }
+
public bool CanGoBack
{
get { return (bool)GetValue(CanGoBackProperty); }
- internal set { SetValue(CanGoBackPropertyKey, value); }
+ }
+
+ bool IWebViewController.CanGoForward {
+ get { return CanGoForward; }
+ set { SetValue(CanGoForwardPropertyKey, value); }
}
public bool CanGoForward
{
get { return (bool)GetValue(CanGoForwardProperty); }
- internal set { SetValue(CanGoForwardPropertyKey, value); }
}
[TypeConverter(typeof(WebViewSourceTypeConverter))]
@@ -110,24 +118,35 @@ namespace Xamarin.Forms
OnPropertyChanged(SourceProperty.PropertyName);
}
- internal event EventHandler<EvalRequested> EvalRequested;
+ event EventHandler<EvalRequested> IWebViewController.EvalRequested {
+ add { EvalRequested += value; }
+ remove { EvalRequested -= value; }
+ }
+
+ event EventHandler<EvalRequested> EvalRequested;
- internal event EventHandler GoBackRequested;
+ event EventHandler IWebViewController.GoBackRequested {
+ add { GoBackRequested += value; }
+ remove { GoBackRequested -= value; }
+ }
+
+ event EventHandler GoBackRequested;
+
+ event EventHandler IWebViewController.GoForwardRequested {
+ add { GoForwardRequested += value; }
+ remove { GoForwardRequested -= value; }
+ }
- internal event EventHandler GoForwardRequested;
+ event EventHandler GoForwardRequested;
- internal void SendNavigated(WebNavigatedEventArgs args)
+ void IWebViewController.SendNavigated(WebNavigatedEventArgs args)
{
- EventHandler<WebNavigatedEventArgs> handler = Navigated;
- if (handler != null)
- handler(this, args);
+ Navigated?.Invoke(this, args);
}
- internal void SendNavigating(WebNavigatingEventArgs args)
+ void IWebViewController.SendNavigating(WebNavigatingEventArgs args)
{
- EventHandler<WebNavigatingEventArgs> handler = Navigating;
- if (handler != null)
- handler(this, args);
+ Navigating?.Invoke(this, args);
}
public IPlatformElementConfiguration<T, WebView> On<T>() where T : IConfigPlatform