summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core
diff options
context:
space:
mode:
authorE.Z. Hart <hartez@users.noreply.github.com>2016-04-25 10:26:40 -0600
committerRui Marinho <me@ruimarinho.net>2016-04-25 12:26:40 -0400
commit6c0c11960b26c4ccb3322fec04e0eb6f55d9da07 (patch)
tree2cd4f17c98a2edb8bf3ecb6a8612f2774f3db294 /Xamarin.Forms.Core
parentee5654f8fe4f15817a8bd23e0613a6d0f9d4c9ec (diff)
downloadxamarin-forms-6c0c11960b26c4ccb3322fec04e0eb6f55d9da07.tar.gz
xamarin-forms-6c0c11960b26c4ccb3322fec04e0eb6f55d9da07.tar.bz2
xamarin-forms-6c0c11960b26c4ccb3322fec04e0eb6f55d9da07.zip
Prep WebView and renderers for removal of InternalsVisibleTo (#120)
* Create custom event args class for script eval requests Make IWebViewRenderer public * Add IWebViewRenderer docs * Add EvalRequested docs * Move EvalRequested to Internals IWebViewRenderer -> IWebViewDelegate * Add docs
Diffstat (limited to 'Xamarin.Forms.Core')
-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
7 files changed, 24 insertions, 9 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" />