summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Xamarin.Forms.Core/HtmlWebViewSource.cs2
-rw-r--r--Xamarin.Forms.Core/IWebViewDelegate.cs (renamed from Xamarin.Forms.Core/IWebViewRenderer.cs)2
-rw-r--r--Xamarin.Forms.Core/Internals/EvalRequested.cs14
-rw-r--r--Xamarin.Forms.Core/UrlWebViewSource.cs2
-rw-r--r--Xamarin.Forms.Core/WebView.cs8
-rw-r--r--Xamarin.Forms.Core/WebViewSource.cs2
-rw-r--r--Xamarin.Forms.Core/Xamarin.Forms.Core.csproj3
-rw-r--r--Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs7
-rw-r--r--Xamarin.Forms.Platform.WP8/WebViewRenderer.cs9
-rw-r--r--Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs7
-rw-r--r--Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs7
-rw-r--r--docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/EvalRequested.xml50
-rw-r--r--docs/Xamarin.Forms.Core/Xamarin.Forms/EvalRequested.xml50
-rw-r--r--docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewDelegate.xml55
-rw-r--r--docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewRenderer.xml55
15 files changed, 251 insertions, 22 deletions
diff --git a/Xamarin.Forms.Core/HtmlWebViewSource.cs b/Xamarin.Forms.Core/HtmlWebViewSource.cs
index 157e5054..a5eccc96 100644
--- a/Xamarin.Forms.Core/HtmlWebViewSource.cs
+++ b/Xamarin.Forms.Core/HtmlWebViewSource.cs
@@ -20,7 +20,7 @@ namespace Xamarin.Forms
set { SetValue(HtmlProperty, value); }
}
- internal override void Load(IWebViewRenderer renderer)
+ internal override void Load(IWebViewDelegate renderer)
{
renderer.LoadHtml(Html, BaseUrl);
}
diff --git a/Xamarin.Forms.Core/IWebViewRenderer.cs b/Xamarin.Forms.Core/IWebViewDelegate.cs
index 0b1b3db5..f6db223b 100644
--- a/Xamarin.Forms.Core/IWebViewRenderer.cs
+++ b/Xamarin.Forms.Core/IWebViewDelegate.cs
@@ -1,6 +1,6 @@
namespace Xamarin.Forms
{
- internal interface IWebViewRenderer
+ public interface IWebViewDelegate
{
void LoadHtml(string html, string baseUrl);
void LoadUrl(string url);
diff --git a/Xamarin.Forms.Core/Internals/EvalRequested.cs b/Xamarin.Forms.Core/Internals/EvalRequested.cs
new file mode 100644
index 00000000..0f697922
--- /dev/null
+++ b/Xamarin.Forms.Core/Internals/EvalRequested.cs
@@ -0,0 +1,14 @@
+using System;
+
+namespace Xamarin.Forms.Internals
+{
+ public class EvalRequested : EventArgs
+ {
+ public string Script { get; }
+
+ public EvalRequested(string script)
+ {
+ Script = script;
+ }
+ }
+} \ No newline at end of file
diff --git a/Xamarin.Forms.Core/UrlWebViewSource.cs b/Xamarin.Forms.Core/UrlWebViewSource.cs
index 72541045..12a0e408 100644
--- a/Xamarin.Forms.Core/UrlWebViewSource.cs
+++ b/Xamarin.Forms.Core/UrlWebViewSource.cs
@@ -11,7 +11,7 @@ namespace Xamarin.Forms
set { SetValue(UrlProperty, value); }
}
- internal override void Load(IWebViewRenderer renderer)
+ internal override void Load(IWebViewDelegate renderer)
{
renderer.LoadUrl(Url);
}
diff --git a/Xamarin.Forms.Core/WebView.cs b/Xamarin.Forms.Core/WebView.cs
index 06a5f72c..8f28497c 100644
--- a/Xamarin.Forms.Core/WebView.cs
+++ b/Xamarin.Forms.Core/WebView.cs
@@ -1,4 +1,5 @@
using System;
+using Xamarin.Forms.Internals;
using Xamarin.Forms.Platform;
namespace Xamarin.Forms
@@ -52,9 +53,8 @@ namespace Xamarin.Forms
public void Eval(string script)
{
- EventHandler<EventArg<string>> handler = EvalRequested;
- if (handler != null)
- handler(this, new EventArg<string>(script));
+ EventHandler<EvalRequested> handler = EvalRequested;
+ handler?.Invoke(this, new EvalRequested(script));
}
public void GoBack()
@@ -103,7 +103,7 @@ namespace Xamarin.Forms
OnPropertyChanged(SourceProperty.PropertyName);
}
- internal event EventHandler<EventArg<string>> EvalRequested;
+ internal event EventHandler<EvalRequested> EvalRequested;
internal event EventHandler GoBackRequested;
diff --git a/Xamarin.Forms.Core/WebViewSource.cs b/Xamarin.Forms.Core/WebViewSource.cs
index 6dc2635f..7b4c1bf7 100644
--- a/Xamarin.Forms.Core/WebViewSource.cs
+++ b/Xamarin.Forms.Core/WebViewSource.cs
@@ -21,7 +21,7 @@ namespace Xamarin.Forms
eh(this, EventArgs.Empty);
}
- internal abstract void Load(IWebViewRenderer renderer);
+ internal abstract void Load(IWebViewDelegate renderer);
internal event EventHandler SourceChanged;
}
diff --git a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
index a4580fd6..a68ce579 100644
--- a/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
+++ b/Xamarin.Forms.Core/Xamarin.Forms.Core.csproj
@@ -93,6 +93,7 @@
<Compile Include="ElementEventArgs.cs" />
<Compile Include="ElementTemplate.cs" />
<Compile Include="EmailKeyboard.cs" />
+ <Compile Include="Internals\EvalRequested.cs" />
<Compile Include="ExportEffectAttribute.cs" />
<Compile Include="ExpressionSearch.cs" />
<Compile Include="FileAccess.cs" />
@@ -144,7 +145,7 @@
<Compile Include="IValueProvider.cs" />
<Compile Include="IViewController.cs" />
<Compile Include="IVisualElementController.cs" />
- <Compile Include="IWebViewRenderer.cs" />
+ <Compile Include="IWebViewDelegate.cs" />
<Compile Include="IXamlTypeResolver.cs" />
<Compile Include="IXmlLineInfoProvider.cs" />
<Compile Include="KeyboardFlags.cs" />
diff --git a/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs
index baa1e794..24a5af57 100644
--- a/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs
@@ -2,11 +2,12 @@ using System;
using System.ComponentModel;
using Android.Webkit;
using Android.Widget;
+using Xamarin.Forms.Internals;
using AWebView = Android.Webkit.WebView;
namespace Xamarin.Forms.Platform.Android
{
- public class WebViewRenderer : ViewRenderer<WebView, AWebView>, IWebViewRenderer
+ public class WebViewRenderer : ViewRenderer<WebView, AWebView>, IWebViewDelegate
{
bool _ignoreSourceChanges;
FormsWebChromeClient _webChromeClient;
@@ -116,9 +117,9 @@ namespace Xamarin.Forms.Platform.Android
UpdateCanGoBackForward();
}
- void OnEvalRequested(object sender, EventArg<string> eventArg)
+ void OnEvalRequested(object sender, EvalRequested eventArg)
{
- LoadUrl("javascript:" + eventArg.Data);
+ LoadUrl("javascript:" + eventArg.Script);
}
void OnGoBackRequested(object sender, EventArgs eventArgs)
diff --git a/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs b/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs
index 364babe2..d120cff8 100644
--- a/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.WP8/WebViewRenderer.cs
@@ -5,10 +5,11 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
+using Xamarin.Forms.Internals;
namespace Xamarin.Forms.Platform.WinPhone
{
- public class WebViewRenderer : ViewRenderer<WebView, WebBrowser>, IWebViewRenderer
+ public class WebViewRenderer : ViewRenderer<WebView, WebBrowser>, IWebViewDelegate
{
WebNavigationEvent _eventState;
bool _updating;
@@ -16,7 +17,7 @@ namespace Xamarin.Forms.Platform.WinPhone
public async void LoadHtml(string html, string baseUrl)
{
string fileName = string.Format("formslocal_{0}.html", DateTime.Now.Ticks);
- ;
+
await SaveToIsoStore(fileName, html);
Control.Navigate(new Uri(fileName, UriKind.Relative));
}
@@ -80,9 +81,9 @@ namespace Xamarin.Forms.Platform.WinPhone
UpdateCanGoBackForward();
}
- void OnEvalRequested(object sender, EventArg<string> eventArg)
+ void OnEvalRequested(object sender, EvalRequested eventArg)
{
- Control.Dispatcher.BeginInvoke(() => Control.InvokeScript("eval", eventArg.Data));
+ Control.Dispatcher.BeginInvoke(() => Control.InvokeScript("eval", eventArg.Script));
}
void OnGoBackRequested(object sender, EventArgs eventArgs)
diff --git a/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs b/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs
index 75ca240c..78d69abd 100644
--- a/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/WebViewRenderer.cs
@@ -2,6 +2,7 @@
using System.ComponentModel;
using Windows.UI.Core;
using Windows.UI.Xaml.Controls;
+using Xamarin.Forms.Internals;
#if WINDOWS_UWP
@@ -11,7 +12,7 @@ namespace Xamarin.Forms.Platform.UWP
namespace Xamarin.Forms.Platform.WinRT
#endif
{
- public class WebViewRenderer : ViewRenderer<WebView, Windows.UI.Xaml.Controls.WebView>, IWebViewRenderer
+ public class WebViewRenderer : ViewRenderer<WebView, Windows.UI.Xaml.Controls.WebView>, IWebViewDelegate
{
WebNavigationEvent _eventState;
bool _updating;
@@ -94,9 +95,9 @@ namespace Xamarin.Forms.Platform.WinRT
UpdateCanGoBackForward();
}
- async void OnEvalRequested(object sender, EventArg<string> eventArg)
+ async void OnEvalRequested(object sender, EvalRequested eventArg)
{
- await Control.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () => await Control.InvokeScriptAsync("eval", new[] { eventArg.Data }));
+ await Control.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () => await Control.InvokeScriptAsync("eval", new[] { eventArg.Script }));
}
void OnGoBackRequested(object sender, EventArgs eventArgs)
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs
index ee804a83..11ab72f2 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs
@@ -1,6 +1,7 @@
using System;
using System.Drawing;
using System.ComponentModel;
+using Xamarin.Forms.Internals;
#if __UNIFIED__
using UIKit;
using Foundation;
@@ -12,7 +13,7 @@ using MonoTouch.Foundation;
namespace Xamarin.Forms.Platform.iOS
{
- public class WebViewRenderer : UIWebView, IVisualElementRenderer, IWebViewRenderer
+ public class WebViewRenderer : UIWebView, IVisualElementRenderer, IWebViewDelegate
{
EventTracker _events;
bool _ignoreSourceChanges;
@@ -134,9 +135,9 @@ namespace Xamarin.Forms.Platform.iOS
UpdateCanGoBackForward();
}
- void OnEvalRequested(object sender, EventArg<string> eventArg)
+ void OnEvalRequested(object sender, EvalRequested eventArg)
{
- EvaluateJavascript(eventArg.Data);
+ EvaluateJavascript(eventArg.Script);
}
void OnGoBackRequested(object sender, EventArgs eventArgs)
diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/EvalRequested.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/EvalRequested.xml
new file mode 100644
index 00000000..95d08ee3
--- /dev/null
+++ b/docs/Xamarin.Forms.Core/Xamarin.Forms.Internals/EvalRequested.xml
@@ -0,0 +1,50 @@
+<Type Name="EvalRequested" FullName="Xamarin.Forms.Internals.EvalRequested">
+ <TypeSignature Language="C#" Value="public class EvalRequested : EventArgs" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit EvalRequested extends System.EventArgs" />
+ <AssemblyInfo>
+ <AssemblyName>Xamarin.Forms.Core</AssemblyName>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.EventArgs</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public EvalRequested (string script);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string script) cil managed" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="script" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="script">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Script">
+ <MemberSignature Language="C#" Value="public string Script { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string Script" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/EvalRequested.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/EvalRequested.xml
new file mode 100644
index 00000000..977f6ce4
--- /dev/null
+++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/EvalRequested.xml
@@ -0,0 +1,50 @@
+<Type Name="EvalRequested" FullName="Xamarin.Forms.EvalRequested">
+ <TypeSignature Language="C#" Value="public class EvalRequested : EventArgs" />
+ <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit EvalRequested extends System.EventArgs" />
+ <AssemblyInfo>
+ <AssemblyName>Xamarin.Forms.Core</AssemblyName>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Base>
+ <BaseTypeName>System.EventArgs</BaseTypeName>
+ </Base>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName=".ctor">
+ <MemberSignature Language="C#" Value="public EvalRequested (string script);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string script) cil managed" />
+ <MemberType>Constructor</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Parameters>
+ <Parameter Name="script" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="script">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="Script">
+ <MemberSignature Language="C#" Value="public string Script { get; }" />
+ <MemberSignature Language="ILAsm" Value=".property instance string Script" />
+ <MemberType>Property</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.String</ReturnType>
+ </ReturnValue>
+ <Docs>
+ <summary>To be added.</summary>
+ <value>To be added.</value>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewDelegate.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewDelegate.xml
new file mode 100644
index 00000000..fea02618
--- /dev/null
+++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewDelegate.xml
@@ -0,0 +1,55 @@
+<Type Name="IWebViewDelegate" FullName="Xamarin.Forms.IWebViewDelegate">
+ <TypeSignature Language="C#" Value="public interface IWebViewDelegate" />
+ <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IWebViewDelegate" />
+ <AssemblyInfo>
+ <AssemblyName>Xamarin.Forms.Core</AssemblyName>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="LoadHtml">
+ <MemberSignature Language="C#" Value="public void LoadHtml (string html, string baseUrl);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void LoadHtml(string html, string baseUrl) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="html" Type="System.String" />
+ <Parameter Name="baseUrl" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="html">To be added.</param>
+ <param name="baseUrl">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LoadUrl">
+ <MemberSignature Language="C#" Value="public void LoadUrl (string url);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void LoadUrl(string url) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="url" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="url">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>
diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewRenderer.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewRenderer.xml
new file mode 100644
index 00000000..95ed3472
--- /dev/null
+++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/IWebViewRenderer.xml
@@ -0,0 +1,55 @@
+<Type Name="IWebViewRenderer" FullName="Xamarin.Forms.IWebViewRenderer">
+ <TypeSignature Language="C#" Value="public interface IWebViewRenderer" />
+ <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IWebViewRenderer" />
+ <AssemblyInfo>
+ <AssemblyName>Xamarin.Forms.Core</AssemblyName>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <Interfaces />
+ <Docs>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ <Members>
+ <Member MemberName="LoadHtml">
+ <MemberSignature Language="C#" Value="public void LoadHtml (string html, string baseUrl);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void LoadHtml(string html, string baseUrl) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="html" Type="System.String" />
+ <Parameter Name="baseUrl" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="html">To be added.</param>
+ <param name="baseUrl">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ <Member MemberName="LoadUrl">
+ <MemberSignature Language="C#" Value="public void LoadUrl (string url);" />
+ <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void LoadUrl(string url) cil managed" />
+ <MemberType>Method</MemberType>
+ <AssemblyInfo>
+ <AssemblyVersion>2.0.0.0</AssemblyVersion>
+ </AssemblyInfo>
+ <ReturnValue>
+ <ReturnType>System.Void</ReturnType>
+ </ReturnValue>
+ <Parameters>
+ <Parameter Name="url" Type="System.String" />
+ </Parameters>
+ <Docs>
+ <param name="url">To be added.</param>
+ <summary>To be added.</summary>
+ <remarks>To be added.</remarks>
+ </Docs>
+ </Member>
+ </Members>
+</Type>