CookiesWebView
CookiesWebView copied to clipboard
UWP support
Have you thought about supporting Windows Universal platform? The code required should be fairly similar to the WP renderer.
Hi sean,
This "Cross-platform Cookie Access"" will support windows platform?
With Regards, Sunil Rana
HI i got solution and it is working fine for Windows "UWP" application. below in windows render code
public class CookieWebViewRenderer : Xamarin.Forms.Platform.UWP.WebViewRenderer { protected override void OnElementChanged(ElementChangedEventArgs<WebView> e) { base.OnElementChanged(e);
if (e.OldElement == null)
{
Control.NavigationStarting += ControlOnNavigating;
Control.NavigationCompleted += ControlOnNavigated;
}
}
protected void ControlOnNavigated(object sender, Windows.UI.Xaml.Controls.WebViewNavigationCompletedEventArgs navigationEventArgs)
{
var filter = new HttpBaseProtocolFilter();
HttpClient client = new HttpClient(filter);
HttpCookieCollection httpCookieCollection = filter.CookieManager.GetCookies(navigationEventArgs.Uri);
//httpCookieCollection.
// Use this, while it comes from an instance, its shared across everything.
var cookieCollection = new CookieCollection();
foreach (var cookie in httpCookieCollection)
{
cookieCollection.Add(new Cookie
{
Domain = cookie.Domain,
Name = cookie.Name,
Value = cookie.Value,
});
}
CookieWebView.OnNavigated(new CookieNavigatedEventArgs()
{
Cookies = cookieCollection,
Url = navigationEventArgs.Uri.ToString()
});
}
protected void ControlOnNavigating(object sender, Windows.UI.Xaml.Controls.WebViewNavigationStartingEventArgs navigatingEventArgs)
{
CookieWebView.OnNavigating(new CookieNavigationEventArgs()
{
Url = navigatingEventArgs.Uri.ToString()
});
}
public CookieWebView CookieWebView
{
get { return Element as CookieWebView; }
}
}