[DllImport(Libraries.ChromiumEwk)]
internal static extern CacheModel ewk_context_cache_model_get(IntPtr context);
+
+ [DllImport(Libraries.ChromiumEwk)]
+ internal static extern void ewk_context_resource_cache_clear(IntPtr context);
+
+ [DllImport(Libraries.ChromiumEwk)]
+ internal static extern void ewk_context_notify_low_memory(IntPtr context);
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ internal delegate void DownloadStartCallback(string url, IntPtr userData);
+
+ [DllImport(Libraries.ChromiumEwk)]
+ internal static extern void ewk_context_did_start_download_callback_set(IntPtr context, DownloadStartCallback callback, IntPtr userData);
}
}
*/
using System;
+using System.ComponentModel;
namespace Tizen.WebView
{
private IntPtr _handle;
private CookieManager _cookieManager;
+ private Interop.ChromiumEwk.DownloadStartCallback _downloadStartCallback;
+
+ /// <summary>
+ /// The delegate for handling download request.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ /// <param name="url"> url of the download request. </param>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public delegate void DownloadRequestDelegate(string url);
+
internal Context(IntPtr handle)
{
_handle = handle;
}
return _cookieManager;
}
+
+ /// <summary>
+ /// Clears HTTP caches in the local storage and all resources cached in memory.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ public void ClearResourceCache()
+ {
+ Interop.ChromiumEwk.ewk_context_resource_cache_clear(_handle);
+ }
+
+ /// <summary>
+ /// Informs the WebEngine low memory to release unused memory.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void NotifyLowMemory()
+ {
+ Interop.ChromiumEwk.ewk_context_notify_low_memory(_handle);
+ }
+
+ /// <summary>
+ /// Sets the delegate function for download request.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void SetDownloadRequestDelegate(DownloadRequestDelegate startDownloadCb)
+ {
+ _downloadStartCallback = (string url, IntPtr userData) =>
+ {
+ startDownloadCb(url);
+ };
+ Interop.ChromiumEwk.ewk_context_did_start_download_callback_set(_handle, _downloadStartCallback, IntPtr.Zero);
+ }
}
}