Assert.IsTrue(result, "LoadUrl method failed");
- TaskCompletionSource<bool> tcsSubmit = new TaskCompletionSource<bool>(false);
- EventHandler<NavigationPolicyEventArgs> onNavigationPolicyDecide = (s, e) =>
- {
- if (e.NavigationType == NavigationType.FormSubmitted)
- {
- tcsSubmit.TrySetResult(true);
- return;
- }
- tcsSubmit.TrySetResult(false);
- };
+ TaskCompletionSource<bool> tcsEval = new TaskCompletionSource<bool>(false);
+ EventHandler onLoadFinishedEval = (s, e) => { tcsEval.TrySetResult(true); };
+ EventHandler<SmartCallbackLoadErrorArgs> onLoadErrorEval = (s, e) => { tcsEval.TrySetResult(false); };
- _webView.NavigationPolicyDecideRequested += onNavigationPolicyDecide;
+ _webView.LoadFinished += onLoadFinishedEval;
+ _webView.LoadError += onLoadErrorEval;
_webView.Eval("submitForm()");
- result = await tcsSubmit.Task;
+ result = await tcsEval.Task;
- _webView.NavigationPolicyDecideRequested -= onNavigationPolicyDecide;
+ _webView.LoadFinished -= onLoadFinishedEval;
+ _webView.LoadError -= onLoadErrorEval;
Assert.IsTrue(result, "Eval method failed");
+ TaskCompletionSource<bool> tcsGoBack = new TaskCompletionSource<bool>(false);
+ EventHandler onLoadFinishedGoBack = (s, e) => { tcsGoBack.TrySetResult(true); };
+ EventHandler<SmartCallbackLoadErrorArgs> onLoadErrorGoBack = (s, e) => { tcsGoBack.TrySetResult(false); };
+
+ _webView.LoadFinished += onLoadFinishedGoBack;
+ _webView.LoadError += onLoadErrorGoBack;
+
+ _webView.GoBack();
+ result = await tcsGoBack.Task;
+
+ _webView.LoadFinished -= onLoadFinishedGoBack;
+ _webView.LoadError -= onLoadErrorGoBack;
+
+ Assert.IsTrue(result, "GoBack method failed");
+
/* TEST CODE */
TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
- onNavigationPolicyDecide = (s, e) =>
+ EventHandler<NavigationPolicyEventArgs> onNavigationPolicyDecide = (s, e) =>
{
+ Log.Debug("TCT", "NavigationType: " + e.NavigationType.ToString());
if (e.NavigationType == NavigationType.FormResubmitted)
{
tcs.TrySetResult(true);
- return;
}
- tcs.TrySetResult(false);
};
_webView.NavigationPolicyDecideRequested += onNavigationPolicyDecide;
- _webView.Reload();
+ _webView.GoForward();
result = await tcs.Task;
_webView.NavigationPolicyDecideRequested -= onNavigationPolicyDecide;