From: BasavarajPS <45586075+BasavarajPS@users.noreply.github.com> Date: Mon, 15 Apr 2019 23:26:52 +0000 (+0530) Subject: [WebView][TCSACR-219] Add WebView Settings API (#610) X-Git-Tag: submit/tizen/20190417.005209~1^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=077aa046e2eacaadf1d245cf0d0b312b880a896b;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [WebView][TCSACR-219] Add WebView Settings API (#610) Signed-off-by: basavarajps --- diff --git a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs index ab7a5efe0..be58eb72f 100644 --- a/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs +++ b/src/Tizen.WebView/Interop/Interop.ChromiumEwk.Settings.cs @@ -56,5 +56,53 @@ internal static partial class Interop [DllImport(Libraries.ChromiumEwk)] internal static extern int ewk_settings_default_font_size_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_scripts_can_open_windows_set(IntPtr settings, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_scripts_can_open_windows_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_force_zoom_set(IntPtr settings, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_force_zoom_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_text_autosizing_enabled_set(IntPtr settings, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_text_autosizing_enabled_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_text_zoom_enabled_set(IntPtr settings, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_text_zoom_enabled_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_uses_keypad_without_user_action_set(IntPtr settings, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_uses_keypad_without_user_action_get(IntPtr settings); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_extra_feature_set(IntPtr settings, string name, bool enable); + + [DllImport(Libraries.ChromiumEwk)] + [return: MarshalAs(UnmanagedType.U1)] + internal static extern bool ewk_settings_extra_feature_get(IntPtr settings, string name); } } diff --git a/src/Tizen.WebView/Tizen.WebView/Settings.cs b/src/Tizen.WebView/Tizen.WebView/Settings.cs index 88d7a74ad..9e2c43d32 100644 --- a/src/Tizen.WebView/Tizen.WebView/Settings.cs +++ b/src/Tizen.WebView/Tizen.WebView/Settings.cs @@ -15,6 +15,7 @@ */ using System; +using System.ComponentModel; namespace Tizen.WebView { @@ -98,5 +99,120 @@ namespace Tizen.WebView Interop.ChromiumEwk.ewk_settings_default_font_size_set(_handle, value); } } + + /// + /// Whether the scripts can open windows. + /// + /// 6 + public bool ScriptsCanOpenWindows + { + get + { + return Interop.ChromiumEwk.ewk_settings_scripts_can_open_windows_get(_handle); + } + + set + { + Interop.ChromiumEwk.ewk_settings_scripts_can_open_windows_set(_handle, value); + } + } + + /// + /// Enable or Disable force zoom. + /// + /// 6 + [EditorBrowsable(EditorBrowsableState.Never)] + public bool ForceZoom + { + get + { + return Interop.ChromiumEwk.ewk_settings_force_zoom_get(_handle); + } + + set + { + Interop.ChromiumEwk.ewk_settings_force_zoom_set(_handle, value); + } + } + + /// + /// Enable or Disable text autosizing. + /// + /// 6 + [EditorBrowsable(EditorBrowsableState.Never)] + public bool TextAutosizing + { + get + { + return Interop.ChromiumEwk.ewk_settings_text_autosizing_enabled_get(_handle); + } + + set + { + Interop.ChromiumEwk.ewk_settings_text_autosizing_enabled_set(_handle, value); + } + } + + /// + /// Enable or Disable text zoom. + /// + /// 6 + [EditorBrowsable(EditorBrowsableState.Never)] + public bool TextZoom + { + get + { + return Interop.ChromiumEwk.ewk_settings_text_zoom_enabled_get(_handle); + } + + set + { + Interop.ChromiumEwk.ewk_settings_text_zoom_enabled_set(_handle, value); + } + } + + /// + /// Enable or Disable the usage of keypad without user action. + /// + /// 6 + [EditorBrowsable(EditorBrowsableState.Never)] + public bool UseKeypadWithoutUserAction + { + get + { + return Interop.ChromiumEwk.ewk_settings_uses_keypad_without_user_action_get(_handle); + } + + set + { + Interop.ChromiumEwk.ewk_settings_uses_keypad_without_user_action_set(_handle, value); + } + } + + /// + /// Enable or Disable Extra feature such as "edge,enable", "zoom,enable", "longpress,enable" + /// "doubletap,enable" and "selection,magnifier". + /// + /// The name of the feature user wants to set or reset. + /// The boolean value to set or reset. + /// 6 + [EditorBrowsable(EditorBrowsableState.Never)] + public void SetExtraFeature(string name, bool enable) + { + Interop.ChromiumEwk.ewk_settings_extra_feature_set(_handle, name, enable); + } + + /// + /// Get status of Extra feature such as "edge,enable", "zoom,enable", "longpress,enable" + /// "doubletap,enable" and "selection,magnifier". + /// + /// The name of the feature user wants to know status. + /// Status true or false is returned. + /// 6 + [EditorBrowsable(EditorBrowsableState.Never)] + public bool GetExtraFeatureStatus(string name) + { + return Interop.ChromiumEwk.ewk_settings_extra_feature_get(_handle, name); + } } }