emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH RFC 1/2] Expose webkit view settings via lisp


From: Aaron Conole
Subject: [PATCH RFC 1/2] Expose webkit view settings via lisp
Date: Mon, 6 Jun 2016 14:18:09 -0400

* src/xwidget.c (xwidget-webkit-get-web-string-setting): New function getter
  for webkit settings
  (xwidget-webkit-set-web-string-setting): New function setter for webkit
  settings
  (syms_of_xwidget): Expose the new functions
---
 src/xwidget.c | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/src/xwidget.c b/src/xwidget.c
index 82449f7..aac5850 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -695,6 +695,45 @@ exec method.  */ )
   return build_string (str);
 }
 
+DEFUN ("xwidget-webkit-get-web-string-setting",
+       Fxwidget_webkit_get_web_string_setting,
+       Sxwidget_webkit_get_web_string_setting,
+       2, 2, 0,
+       doc: /* Gets the Webkit XWIDGET setting stored as string.  */)
+  (Lisp_Object xwidget, Lisp_Object setting)
+{
+  WEBKIT_FN_INIT ();
+  CHECK_STRING(setting);
+  char *str = (char*)"";
+  WebKitWebSettings *settings =
+    webkit_web_view_get_settings (WEBKIT_WEB_VIEW (xw->widget_osr));
+  if (settings)
+    {
+      g_object_get(settings, SSDATA(setting), &str, NULL);
+    }
+  return build_string(str);
+}
+
+DEFUN ("xwidget-webkit-set-web-string-setting",
+       Fxwidget_webkit_set_web_string_setting,
+       Sxwidget_webkit_set_web_string_setting,
+       3, 3, 0,
+       doc: /* Sets the Webkit XWIDGET string setting.  */)
+  (Lisp_Object xwidget, Lisp_Object setting, Lisp_Object value)
+{
+  WEBKIT_FN_INIT ();
+  CHECK_STRING (setting);
+  CHECK_STRING (value);
+  WebKitWebSettings *settings =
+    webkit_web_view_get_settings (WEBKIT_WEB_VIEW (xw->widget_osr));
+  if (settings)
+    {
+      g_object_set (settings, SSDATA(setting), SSDATA(value), NULL);
+    }
+
+  return Qnil;
+}
+
 DEFUN ("xwidget-resize", Fxwidget_resize, Sxwidget_resize, 3, 3, 0,
        doc: /* Resize XWIDGET.  NEW_WIDTH, NEW_HEIGHT define the new size.  */ 
)
   (Lisp_Object xwidget, Lisp_Object new_width, Lisp_Object new_height)
@@ -975,6 +1014,8 @@ syms_of_xwidget (void)
   defsubr (&Sxwidget_webkit_goto_uri);
   defsubr (&Sxwidget_webkit_execute_script);
   defsubr (&Sxwidget_webkit_get_title);
+  defsubr (&Sxwidget_webkit_get_web_string_setting);
+  defsubr (&Sxwidget_webkit_set_web_string_setting);
   DEFSYM (Qwebkit, "webkit");
 
   defsubr (&Sxwidget_size_request);
-- 
2.5.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]