diff options
author | E.Z. Hart <hartez@users.noreply.github.com> | 2016-04-25 10:26:40 -0600 |
---|---|---|
committer | Rui Marinho <me@ruimarinho.net> | 2016-04-25 12:26:40 -0400 |
commit | 6c0c11960b26c4ccb3322fec04e0eb6f55d9da07 (patch) | |
tree | 2cd4f17c98a2edb8bf3ecb6a8612f2774f3db294 /Xamarin.Forms.Core | |
parent | ee5654f8fe4f15817a8bd23e0613a6d0f9d4c9ec (diff) | |
download | xamarin-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.cs | 2 | ||||
-rw-r--r-- | Xamarin.Forms.Core/IWebViewDelegate.cs (renamed from Xamarin.Forms.Core/IWebViewRenderer.cs) | 2 | ||||
-rw-r--r-- | Xamarin.Forms.Core/Internals/EvalRequested.cs | 14 | ||||
-rw-r--r-- | Xamarin.Forms.Core/UrlWebViewSource.cs | 2 | ||||
-rw-r--r-- | Xamarin.Forms.Core/WebView.cs | 8 | ||||
-rw-r--r-- | Xamarin.Forms.Core/WebViewSource.cs | 2 | ||||
-rw-r--r-- | Xamarin.Forms.Core/Xamarin.Forms.Core.csproj | 3 |
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" /> |