[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] webkit: New library.
From: |
Jan Nieuwenhuizen |
Subject: |
[PATCH] webkit: New library. |
Date: |
Tue, 04 Jun 2019 19:29:55 +0200 |
Hi,
As discussed on irc, find a minimal webkit1gtk patch included. Also
available on `wip' here: https://gitlab.com/janneke/guile-gnome.git
I have only wrapped two header files, enough to create a new web browser
and load an url. I'm planning to include this for inclusion in Guix.
Greetings,
janneke
>From 1a8749af805cb18661cb687e6e236c1678ded51f Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
Date: Thu, 30 May 2019 22:53:56 +0200
Subject: [PATCH] webkit: New library.
* .gitignore: Update for webkit.
* Makefile.am (SUBDIRS): Add webkit.
* common.mk (PACKAGES): Likewise.
* configure.ac: Check for webkit1-1.0 2.4.11, the latest version to
support gtk2.
* defs/gnome/defs/Makefile.am (webkit): New target.
(WEBKIT_INCLS): New variable. Only wrap the minimal required set.
* defs/gnome/defs/webkit-types.defs: New file.
* defs/gnome/defs/webkit.defs (webkit_web_view_get_type): New file.
* dev-environ.in (builddir): Add webkit, also add
GUILE_LOAD_COMPILED_PATH.
* webkit/.gitignore: New file.
* webkit/AUTHORS: New file.
* webkit/Makefile.am: New file.
* webkit/README: New file.
* webkit/doc/Makefile.am: New file.
* webkit/doc/guile-gnome-webkit.texi: New file.
* webkit/doc/overview.texi: New file.
* webkit/doc/undocumented.texi: New file.
* webkit/examples/Makefile.am: New file.
* webkit/examples/browser.scm: New file.
* webkit/gnome/Makefile.am: New file.
* webkit/gnome/gw/Makefile.am: New file.
* webkit/tests/Makefile.am: New file.
---
.gitignore | 2 +
Makefile.am | 3 +-
common.mk | 2 +-
configure.ac | 14 +
defs/gnome/defs/Makefile.am | 26 ++
defs/gnome/defs/webkit-types.defs | 70 ++++
defs/gnome/defs/webkit.defs | 630 +++++++++++++++++++++++++++++
dev-environ.in | 7 +-
webkit/.gitignore | 9 +
webkit/AUTHORS | 13 +
webkit/Makefile.am | 3 +
webkit/README | 32 ++
webkit/doc/Makefile.am | 15 +
webkit/doc/guile-gnome-webkit.texi | 69 ++++
webkit/doc/overrides.texi | 0
webkit/doc/overview.texi | 16 +
webkit/doc/undocumented.texi | 10 +
webkit/examples/Makefile.am | 1 +
webkit/examples/browser.scm | 70 ++++
webkit/gnome/Makefile.am | 13 +
webkit/gnome/gw/Makefile.am | 31 ++
webkit/gnome/gw/webkit-spec.scm | 51 +++
webkit/gnome/gw/webkit-support.c | 26 ++
webkit/gnome/gw/webkit-support.h | 42 ++
webkit/gnome/overrides/Makefile.am | 8 +
webkit/gnome/overrides/webkit.defs | 20 +
webkit/gnome/webkit.scm | 36 ++
webkit/tests/Makefile.am | 3 +
28 files changed, 1219 insertions(+), 3 deletions(-)
create mode 100644 defs/gnome/defs/webkit-types.defs
create mode 100644 defs/gnome/defs/webkit.defs
create mode 100644 webkit/.gitignore
create mode 100644 webkit/AUTHORS
create mode 100644 webkit/Makefile.am
create mode 100644 webkit/README
create mode 100644 webkit/doc/Makefile.am
create mode 100644 webkit/doc/guile-gnome-webkit.texi
create mode 100644 webkit/doc/overrides.texi
create mode 100644 webkit/doc/overview.texi
create mode 100644 webkit/doc/undocumented.texi
create mode 100644 webkit/examples/Makefile.am
create mode 100755 webkit/examples/browser.scm
create mode 100644 webkit/gnome/Makefile.am
create mode 100644 webkit/gnome/gw/Makefile.am
create mode 100644 webkit/gnome/gw/webkit-spec.scm
create mode 100644 webkit/gnome/gw/webkit-support.c
create mode 100644 webkit/gnome/gw/webkit-support.h
create mode 100644 webkit/gnome/overrides/Makefile.am
create mode 100644 webkit/gnome/overrides/webkit.defs
create mode 100644 webkit/gnome/webkit.scm
create mode 100644 webkit/tests/Makefile.am
diff --git a/.gitignore b/.gitignore
index 8cc3157..f85edc5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -73,3 +73,5 @@ m4/lt~obsolete.m4
/pango/doc/pango/version.texi
/pango/doc/pangocairo/guile-gnome-pangocairo.info
/pango/doc/pangocairo/version.texi
+/webkit/doc/guile-gnome-webkit.info
+/webkit/doc/version.texi
diff --git a/Makefile.am b/Makefile.am
index 1b5a3c4..a67e800 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -11,7 +11,8 @@ SUBDIRS = \
libgnomecanvas \
libgnome \
libglade \
- gconf
+ gconf \
+ webkit
# corba
# gnome-vfs
diff --git a/common.mk b/common.mk
index ade18cf..02fe226 100644
--- a/common.mk
+++ b/common.mk
@@ -38,7 +38,7 @@ SUFFIXES = .x .doc
GUILE_SNARF_CFLAGS = $(DEFS) $(AM_CFLAGS) $(GUILE_CFLAGS) $(G_WRAP_CFLAGS)
-PACKAGES = atk cairo defs gconf glib gtk libglade libgnome libgnomecanvas
libgnomeui pango
+PACKAGES = atk cairo defs gconf glib gtk libglade libgnome libgnomecanvas
libgnomeui pango webkit
# gnome-vfs corba
SOURCE_GUILE_PATH=$(shell echo $(addprefix $(abs_top_srcdir)/,$(PACKAGES)) |
sed -e 's/ /:/g'):$(srcdir)
diff --git a/configure.ac b/configure.ac
index d38dd72..e8a8001 100644
--- a/configure.ac
+++ b/configure.ac
@@ -282,6 +282,13 @@ AC_SUBST(PANGOCAIRO_LIBS)
AM_CONDITIONAL(HAVE_PANGOCAIRO, $HAVE_PANGOCAIRO)
record_check pango $HAVE_PANGO
+# webkit
+PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= 2.4.11, HAVE_WEBKIT=true,
HAVE_WEBKIT=false)
+AC_SUBST(WEBKIT_CFLAGS)
+AC_SUBST(WEBKIT_LIBS)
+AM_CONDITIONAL(HAVE_WEBKIT, $HAVE_WEBKIT)
+record_check webkit $HAVE_WEBKIT
+
if test -z "$PACKAGES_TO_BUILD"; then
AC_MSG_ERROR([All wrappers failed their prerequisites.
@@ -432,5 +439,12 @@ gtk/guile-gnome-gtk.pc
gtk/guile-gnome-gtk-uninstalled.pc
libgnomeui/guile-gnome-libgnomeui.pc
libgnomeui/guile-gnome-libgnomeui-uninstalled.pc
+webkit/examples/Makefile
+webkit/doc/Makefile
+webkit/tests/Makefile
+webkit/gnome/gw/Makefile
+webkit/gnome/Makefile
+webkit/gnome/overrides/Makefile
+webkit/Makefile
)
AC_OUTPUT
diff --git a/defs/gnome/defs/Makefile.am b/defs/gnome/defs/Makefile.am
index 4936dae..79a3ba4 100644
--- a/defs/gnome/defs/Makefile.am
+++ b/defs/gnome/defs/Makefile.am
@@ -123,3 +123,29 @@ gconf:
--with-header='(include type-ignores) (include "gconf-types.defs")
(include overrides)' \
$(DEFS_HEADER_DIR)/gconf/2/gconf/*.h > gconf.defs
+WEBKIT_INCLS = webkit/webkitwebview.h\
+ webkit/webkitenumtypes.h
+
+# WebKit uses camel case in a way that confuses (gnome gobject util)
+# Type use the WebKit prefix, e.g. WebKitWebView, while the member
+# functions, e.g., are named webkit_web_view_new, instead of
+# web_kit_web_view_new. We repair that by using "Webkit"; see also
+# webkit/gnome/gw/webkit-support.h
+webkit:
+ ../../../h2def.py --types \
+ $(addprefix $(DEFS_HEADER_DIR)/webkitgtk-1.0/,$(WEBKIT_INCLS)) \
+ | sed \
+ -e 's,WEB_TYPE_KIT,WEBKIT_TYPE,'g\
+ -e 's,"Web","WebKit",'g\
+ -e 's, Kit, ,'g\
+ -e 's,WebKit,Webkit,'g\
+ > webkit-types.defs
+ ../../../h2def.py --procs \
+ --with-header='(include "common-ignores.defs") (include
"webkit-types.defs") (include overrides)' \
+ $(addprefix $(DEFS_HEADER_DIR)/webkitgtk-1.0/,$(WEBKIT_INCLS)) \
+ | sed \
+ -e 's,WEB_TYPE_KIT,WEBKIT_TYPE,'g\
+ -e 's,WEBKIT_API-void,none,'g\
+ -e 's,WEBKIT_API-,,'g\
+ -e 's,WebKit,Webkit,'g\
+ > webkit.defs
diff --git a/defs/gnome/defs/webkit-types.defs
b/defs/gnome/defs/webkit-types.defs
new file mode 100644
index 0000000..aae7dca
--- /dev/null
+++ b/defs/gnome/defs/webkit-types.defs
@@ -0,0 +1,70 @@
+;; -*- scheme -*-
+;; Enumerations and flags ...
+
+(define-enum NavigationResponse
+ (in-module "Webkit")
+ (c-name "WebkitNavigationResponse")
+ (gtype-id "WEBKIT_TYPE_NAVIGATION_RESPONSE")
+ (values
+ '("accept" "WEBKIT_NAVIGATION_RESPONSE_ACCEPT")
+ '("ignore" "WEBKIT_NAVIGATION_RESPONSE_IGNORE")
+ '("download" "WEBKIT_NAVIGATION_RESPONSE_DOWNLOAD")
+ )
+)
+
+(define-enum WebViewTargetInfo
+ (in-module "Webkit")
+ (c-name "WebkitWebViewTargetInfo")
+ (gtype-id "WEBKIT_TYPE_WEB_VIEW_TARGET_INFO")
+ (values
+ '("html" "WEBKIT_WEB_VIEW_TARGET_INFO_HTML")
+ '("text" "WEBKIT_WEB_VIEW_TARGET_INFO_TEXT")
+ '("image" "WEBKIT_WEB_VIEW_TARGET_INFO_IMAGE")
+ '("uri-list" "WEBKIT_WEB_VIEW_TARGET_INFO_URI_LIST")
+ '("netscape-url" "WEBKIT_WEB_VIEW_TARGET_INFO_NETSCAPE_URL")
+ )
+)
+
+(define-enum WebViewViewMode
+ (in-module "Webkit")
+ (c-name "WebkitWebViewViewMode")
+ (gtype-id "WEBKIT_TYPE_WEB_VIEW_VIEW_MODE")
+ (values
+ '("windowed" "WEBKIT_WEB_VIEW_VIEW_MODE_WINDOWED")
+ '("floating" "WEBKIT_WEB_VIEW_VIEW_MODE_FLOATING")
+ '("fullscreen" "WEBKIT_WEB_VIEW_VIEW_MODE_FULLSCREEN")
+ '("maximized" "WEBKIT_WEB_VIEW_VIEW_MODE_MAXIMIZED")
+ '("minimized" "WEBKIT_WEB_VIEW_VIEW_MODE_MINIMIZED")
+ )
+)
+
+(define-enum SelectionAffinity
+ (in-module "Webkit")
+ (c-name "WebkitSelectionAffinity")
+ (gtype-id "WEBKIT_TYPE_SELECTION_AFFINITY")
+ (values
+ '("upstream" "WEBKIT_SELECTION_AFFINITY_UPSTREAM")
+ '("downstream" "WEBKIT_SELECTION_AFFINITY_DOWNSTREAM")
+ )
+)
+
+(define-enum InsertAction
+ (in-module "Webkit")
+ (c-name "WebkitInsertAction")
+ (gtype-id "WEBKIT_TYPE_INSERT_ACTION")
+ (values
+ '("typed" "WEBKIT_INSERT_ACTION_TYPED")
+ '("pasted" "WEBKIT_INSERT_ACTION_PASTED")
+ '("dropped" "WEBKIT_INSERT_ACTION_DROPPED")
+ )
+)
+
+;; -*- scheme -*-
+; object definitions ...
+(define-object WebView
+ (in-module "Webkit")
+ (parent "GtkContainer")
+ (c-name "WebkitWebView")
+ (gtype-id "WEBKIT_TYPE_WEB_VIEW")
+)
+
diff --git a/defs/gnome/defs/webkit.defs b/defs/gnome/defs/webkit.defs
new file mode 100644
index 0000000..bcc3f44
--- /dev/null
+++ b/defs/gnome/defs/webkit.defs
@@ -0,0 +1,630 @@
+;; -*- scheme -*-
+(include "common-ignores.defs") (include "webkit-types.defs") (include
overrides)
+
+;; From
/gnu/store/c7gg2x2ib92kpzjkqz217pccw2xas84b-webkitgtk-2.4.11/include/webkitgtk-1.0/webkit/webkitwebview.h
+
+(define-function webkit_web_view_get_type
+ (c-name "webkit_web_view_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_web_view_new
+ (c-name "webkit_web_view_new")
+ (is-constructor-of "WebkitWebView")
+ (return-type "GtkWidget*")
+)
+
+(define-method get_title
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_title")
+ (return-type "const-gchar*")
+)
+
+(define-method get_uri
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_uri")
+ (return-type "const-gchar*")
+)
+
+(define-method set_maintains_back_forward_list
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_maintains_back_forward_list")
+ (return-type "none")
+ (parameters
+ '("gboolean" "flag")
+ )
+)
+
+(define-method get_back_forward_list
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_back_forward_list")
+ (return-type "WebkitWebBackForwardList*")
+)
+
+(define-method go_to_back_forward_item
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_go_to_back_forward_item")
+ (return-type "gboolean")
+ (parameters
+ '("WebkitWebHistoryItem*" "item")
+ )
+)
+
+(define-method can_go_back
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_go_back")
+ (return-type "gboolean")
+)
+
+(define-method can_go_back_or_forward
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_go_back_or_forward")
+ (return-type "gboolean")
+ (parameters
+ '("gint" "steps")
+ )
+)
+
+(define-method can_go_forward
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_go_forward")
+ (return-type "gboolean")
+)
+
+(define-method go_back
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_go_back")
+ (return-type "none")
+)
+
+(define-method go_back_or_forward
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_go_back_or_forward")
+ (return-type "none")
+ (parameters
+ '("gint" "steps")
+ )
+)
+
+(define-method go_forward
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_go_forward")
+ (return-type "none")
+)
+
+(define-method stop_loading
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_stop_loading")
+ (return-type "none")
+)
+
+(define-method open
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_open")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method reload
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_reload")
+ (return-type "none")
+)
+
+(define-method reload_bypass_cache
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_reload_bypass_cache")
+ (return-type "none")
+)
+
+(define-method load_uri
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_load_uri")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "uri")
+ )
+)
+
+(define-method load_string
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_load_string")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "content")
+ '("const-gchar*" "mime_type")
+ '("const-gchar*" "encoding")
+ '("const-gchar*" "base_uri")
+ )
+)
+
+(define-method load_html_string
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_load_html_string")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "content")
+ '("const-gchar*" "base_uri")
+ )
+)
+
+(define-method load_request
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_load_request")
+ (return-type "none")
+ (parameters
+ '("WebkitNetworkRequest*" "request")
+ )
+)
+
+(define-method search_text
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_search_text")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "text")
+ '("gboolean" "case_sensitive")
+ '("gboolean" "forward")
+ '("gboolean" "wrap")
+ )
+)
+
+(define-method mark_text_matches
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_mark_text_matches")
+ (return-type "guint")
+ (parameters
+ '("const-gchar*" "string")
+ '("gboolean" "case_sensitive")
+ '("guint" "limit")
+ )
+)
+
+(define-method set_highlight_text_matches
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_highlight_text_matches")
+ (return-type "none")
+ (parameters
+ '("gboolean" "highlight")
+ )
+)
+
+(define-method unmark_text_matches
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_unmark_text_matches")
+ (return-type "none")
+)
+
+(define-method get_main_frame
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_main_frame")
+ (return-type "WebkitWebFrame*")
+)
+
+(define-method get_focused_frame
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_focused_frame")
+ (return-type "WebkitWebFrame*")
+)
+
+(define-method execute_script
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_execute_script")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "script")
+ )
+)
+
+(define-method can_cut_clipboard
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_cut_clipboard")
+ (return-type "gboolean")
+)
+
+(define-method can_copy_clipboard
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_copy_clipboard")
+ (return-type "gboolean")
+)
+
+(define-method can_paste_clipboard
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_paste_clipboard")
+ (return-type "gboolean")
+)
+
+(define-method cut_clipboard
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_cut_clipboard")
+ (return-type "none")
+)
+
+(define-method copy_clipboard
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_copy_clipboard")
+ (return-type "none")
+)
+
+(define-method paste_clipboard
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_paste_clipboard")
+ (return-type "none")
+)
+
+(define-method delete_selection
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_delete_selection")
+ (return-type "none")
+)
+
+(define-method has_selection
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_has_selection")
+ (return-type "gboolean")
+)
+
+(define-method select_all
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_select_all")
+ (return-type "none")
+)
+
+(define-method get_editable
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_editable")
+ (return-type "gboolean")
+)
+
+(define-method set_editable
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_editable")
+ (return-type "none")
+ (parameters
+ '("gboolean" "flag")
+ )
+)
+
+(define-method get_copy_target_list
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_copy_target_list")
+ (return-type "GtkTargetList*")
+)
+
+(define-method get_paste_target_list
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_paste_target_list")
+ (return-type "GtkTargetList*")
+)
+
+(define-method set_settings
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_settings")
+ (return-type "none")
+ (parameters
+ '("WebkitWebSettings*" "settings")
+ )
+)
+
+(define-method get_settings
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_settings")
+ (return-type "WebkitWebSettings*")
+)
+
+(define-method get_inspector
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_inspector")
+ (return-type "WebkitWebInspector*")
+)
+
+(define-method get_window_features
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_window_features")
+ (return-type "WebkitWebWindowFeatures*")
+)
+
+(define-method can_show_mime_type
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_show_mime_type")
+ (return-type "gboolean")
+ (parameters
+ '("const-gchar*" "mime_type")
+ )
+)
+
+(define-method get_transparent
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_transparent")
+ (return-type "gboolean")
+)
+
+(define-method set_transparent
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_transparent")
+ (return-type "none")
+ (parameters
+ '("gboolean" "flag")
+ )
+)
+
+(define-method get_zoom_level
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_zoom_level")
+ (return-type "gfloat")
+)
+
+(define-method set_zoom_level
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_zoom_level")
+ (return-type "none")
+ (parameters
+ '("gfloat" "zoom_level")
+ )
+)
+
+(define-method zoom_in
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_zoom_in")
+ (return-type "none")
+)
+
+(define-method zoom_out
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_zoom_out")
+ (return-type "none")
+)
+
+(define-method get_full_content_zoom
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_full_content_zoom")
+ (return-type "gboolean")
+)
+
+(define-method set_full_content_zoom
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_full_content_zoom")
+ (return-type "none")
+ (parameters
+ '("gboolean" "full_content_zoom")
+ )
+)
+
+(define-method get_encoding
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_encoding")
+ (return-type "const-gchar*")
+)
+
+(define-method set_custom_encoding
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_custom_encoding")
+ (return-type "none")
+ (parameters
+ '("const-gchar*" "encoding")
+ )
+)
+
+(define-method get_custom_encoding
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_custom_encoding")
+ (return-type "const-char*")
+)
+
+(define-method set_view_mode
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_view_mode")
+ (return-type "none")
+ (parameters
+ '("WebkitWebViewViewMode" "mode")
+ )
+)
+
+(define-method get_view_mode
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_view_mode")
+ (return-type "WebkitWebViewViewMode")
+)
+
+(define-method move_cursor
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_move_cursor")
+ (return-type "none")
+ (parameters
+ '("GtkMovementStep" "step")
+ '("gint" "count")
+ )
+)
+
+(define-method get_load_status
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_load_status")
+ (return-type "WebkitLoadStatus")
+)
+
+(define-method get_progress
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_progress")
+ (return-type "gdouble")
+)
+
+(define-method undo
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_undo")
+ (return-type "none")
+)
+
+(define-method can_undo
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_undo")
+ (return-type "gboolean")
+)
+
+(define-method redo
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_redo")
+ (return-type "none")
+)
+
+(define-method can_redo
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_can_redo")
+ (return-type "gboolean")
+)
+
+(define-method set_view_source_mode
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_set_view_source_mode")
+ (return-type "none")
+ (parameters
+ '("gboolean" "view_source_mode")
+ )
+)
+
+(define-method get_view_source_mode
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_view_source_mode")
+ (return-type "gboolean")
+)
+
+(define-method get_hit_test_result
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_hit_test_result")
+ (return-type "WebkitHitTestResult*")
+ (parameters
+ '("GdkEventButton*" "event")
+ )
+)
+
+(define-method get_icon_uri
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_icon_uri")
+ (return-type "const-gchar*")
+)
+
+(define-method get_icon_pixbuf
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_icon_pixbuf")
+ (return-type "GdkPixbuf*")
+)
+
+(define-method try_get_favicon_pixbuf
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_try_get_favicon_pixbuf")
+ (return-type "GdkPixbuf*")
+ (parameters
+ '("guint" "width")
+ '("guint" "height")
+ )
+)
+
+(define-method get_dom_document
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_dom_document")
+ (return-type "WebkitDOMDocument*")
+)
+
+(define-method get_viewport_attributes
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_viewport_attributes")
+ (return-type "WebkitViewportAttributes*")
+)
+
+(define-method get_snapshot
+ (of-object "WebkitWebView")
+ (c-name "webkit_web_view_get_snapshot")
+ (return-type "cairo_surface_t*")
+)
+
+
+
+;; From
/gnu/store/c7gg2x2ib92kpzjkqz217pccw2xas84b-webkitgtk-2.4.11/include/webkitgtk-1.0/webkit/webkitenumtypes.h
+
+(define-function webkit_download_status_get_type
+ (c-name "webkit_download_status_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_download_error_get_type
+ (c-name "webkit_download_error_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_network_error_get_type
+ (c-name "webkit_network_error_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_policy_error_get_type
+ (c-name "webkit_policy_error_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_plugin_error_get_type
+ (c-name "webkit_plugin_error_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_cache_model_get_type
+ (c-name "webkit_cache_model_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_context_menu_action_get_type
+ (c-name "webkit_context_menu_action_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_security_policy_get_type
+ (c-name "webkit_security_policy_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_hit_test_result_context_get_type
+ (c-name "webkit_hit_test_result_context_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_load_status_get_type
+ (c-name "webkit_load_status_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_web_navigation_reason_get_type
+ (c-name "webkit_web_navigation_reason_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_editing_behavior_get_type
+ (c-name "webkit_editing_behavior_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_navigation_response_get_type
+ (c-name "webkit_navigation_response_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_web_view_target_info_get_type
+ (c-name "webkit_web_view_target_info_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_web_view_view_mode_get_type
+ (c-name "webkit_web_view_view_mode_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_selection_affinity_get_type
+ (c-name "webkit_selection_affinity_get_type")
+ (return-type "GType")
+)
+
+(define-function webkit_insert_action_get_type
+ (c-name "webkit_insert_action_get_type")
+ (return-type "GType")
+)
+
+
diff --git a/dev-environ.in b/dev-environ.in
index 7c4a888..6318e8f 100755
--- a/dev-environ.in
+++ b/dev-environ.in
@@ -24,14 +24,19 @@
address@hidden@
address@hidden@
-for pkg in atk cairo corba defs gconf glib gnome-vfs gtk libglade libgnome
libgnomecanvas libgnomeui pango; do
+for pkg in atk cairo corba defs gconf glib gnome-vfs gtk libglade libgnome
libgnomecanvas libgnomeui pango webkit; do
GUILE_LOAD_PATH=$srcdir/$pkg:$GUILE_LOAD_PATH
if [ $srcdir != $builddir ]; then
GUILE_LOAD_PATH=$builddir/$pkg:$GUILE_LOAD_PATH
fi
+ GUILE_LOAD_COMPILED_PATH=$srcdir/$pkg:$GUILE_LOAD_COMPILED_PATH
+ if [ $srcdir != $builddir ]; then
+ GUILE_LOAD_COMPILED_PATH=$builddir/$pkg:$GUILE_LOAD_COMPILED_PATH
+ fi
if [ -d $builddir/$pkg/bin ]; then
PATH=$builddir/$pkg/bin:$PATH
fi
+ LD_LIBRARY_PATH=$builddir/$pkg/gnome/gw:$LD_LIBRARY_PATH
LTDL_LIBRARY_PATH=$builddir/$pkg/gnome/gw:$LTDL_LIBRARY_PATH
PKG_CONFIG_PATH=$builddir/$pkg:$PKG_CONFIG_PATH
done
diff --git a/webkit/.gitignore b/webkit/.gitignore
new file mode 100644
index 0000000..319e9e9
--- /dev/null
+++ b/webkit/.gitignore
@@ -0,0 +1,9 @@
+*-gw-*.[ch]
+Makefile
+Makefile.in
+.deps
+.libs
+*.log
+gnome/gw/webkit.scm
+*.lo
+*.la
diff --git a/webkit/AUTHORS b/webkit/AUTHORS
new file mode 100644
index 0000000..88c3ba5
--- /dev/null
+++ b/webkit/AUTHORS
@@ -0,0 +1,13 @@
+To find out what should go in this file, see "Information For
+Maintainers of GNU Software" (maintain.texi), the section called
+"Recording Changes".
+
+Jan Nieuwenhuizen:
+In the directory gnome, wrote:
+ webkit.scm
+In the directory gnome/gw, wrote:
+ webkit-spec.scm webkit-support.c webkit-support.h
+In the directory gnome/overrides, wrote:
+ webkit.defs
+In the directory examples, wrote:
+ webkit.scm
diff --git a/webkit/Makefile.am b/webkit/Makefile.am
new file mode 100644
index 0000000..a4fe790
--- /dev/null
+++ b/webkit/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = gnome examples doc tests
+
+EXTRA_DIST = AUTHORS README
diff --git a/webkit/README b/webkit/README
new file mode 100644
index 0000000..ce99191
--- /dev/null
+++ b/webkit/README
@@ -0,0 +1,32 @@
+guile-gnome-webkit README
+Copyright (C) 2019 Free Software Foundation, Inc.
+See the end for copying conditions of this file.
+Last updated 16 September 2004.
+
+
+About guile-gnome-webkit
+================================
+
+guile-gnome-webkit is a Guile wrapper for the WebkitGtk library.
+It is a part of GNU guile-gnome. See the README file in the toplevel
+source directory for more information.
+
+
+Build dependencies
+==================
+
+Besides the base guile-gnome requirements given in ../README,
+guile-gnome-webkit requires webkit development packages.
+
+guile-gnome-webkit depends on the following guile-gnome modules:
+glib, defs, atk, pango, gtk.
+
+
+Copying this file
+=================
+
+Copyright (C) 2019 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification, are
+permitted in any medium without royalty provided the copyright notice
+and this notice are preserved.
diff --git a/webkit/doc/Makefile.am b/webkit/doc/Makefile.am
new file mode 100644
index 0000000..092d9da
--- /dev/null
+++ b/webkit/doc/Makefile.am
@@ -0,0 +1,15 @@
+################################################################################
+## guile-gnome-webkit.info
+
+include $(top_srcdir)/generate-docs.mk
+
+docbook_xml_wildcard = ~/src/gnome2/webkit/docs/reference/xml/*.xml
+docbook_xml_files = $(wildcard $(docbook_xml_wildcard))
+
+wrapset_stem = webkit
+
+EXTRA_DIST = overrides.texi
+
+info_TEXINFOS=guile-gnome-webkit.texi
+guile_gnome_webkit_TEXINFOS=overview.texi \
+ $(wildcard section-*.texi) $(wildcard defuns-*.texi) undocumented.texi
diff --git a/webkit/doc/guile-gnome-webkit.texi
b/webkit/doc/guile-gnome-webkit.texi
new file mode 100644
index 0000000..c0eab2b
--- /dev/null
+++ b/webkit/doc/guile-gnome-webkit.texi
@@ -0,0 +1,69 @@
+\input texinfo @c -*-texinfo-*-
address@hidden %**start of header
address@hidden guile-gnome-webkit.info
address@hidden Guile-Gnome-Webkit
address@hidden %**end of header
+
address@hidden version.texi
+
address@hidden
+This manual is for @code{(gnome webkit)} (version @value{VERSION}, updated
address@hidden)
+
+Copyright 2001-2007 Federico Mena Quintero, Raph Levien, and others
+
address@hidden WEBKIT is LGPL, ergo GPL distribution is possible
address@hidden
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU General Public License, Version 2 or any
+later version published by the Free Software Foundation.
address@hidden quotation
+
address@hidden copying
+
address@hidden The Algorithmic Language Scheme
address@hidden
+* Guile-Gnome-Webkit: (guile-gnome-webkit.info). Structured graphics.
address@hidden direntry
+
address@hidden
address@hidden Guile-GNOME: Webkit
address@hidden version @value{VERSION}, updated @value{UPDATED}
address@hidden Federico Mena Quintero
address@hidden Raph Levien
address@hidden and others
address@hidden
address@hidden 0pt plus 1filll
address@hidden
address@hidden titlepage
+
address@hidden
address@hidden Top
address@hidden Guile-Gnome-Webkit
+
address@hidden
address@hidden
+* Overview:: About webkit and its Guile bindings.
+* Undocumented:: Undocumented functions.
+
+* Type Index::
+* Function Index::
address@hidden menu
+
address@hidden ifnottex
+
address@hidden
address@hidden
address@hidden iftex
+
address@hidden overview.texi
+
address@hidden undocumented.texi
+
address@hidden Type Index
address@hidden Type Index
address@hidden tp
address@hidden Function Index
address@hidden Function Index
address@hidden fn
address@hidden
diff --git a/webkit/doc/overrides.texi b/webkit/doc/overrides.texi
new file mode 100644
index 0000000..e69de29
diff --git a/webkit/doc/overview.texi b/webkit/doc/overview.texi
new file mode 100644
index 0000000..b6b5553
--- /dev/null
+++ b/webkit/doc/overview.texi
@@ -0,0 +1,16 @@
address@hidden Overview
address@hidden Overview
+
address@hidden(gnome canvas)} wraps the Gnome-Canvas library for Guile. It is
+a part of Guile-GNOME.
+
+Libgnomecanvas is a retained-mode canvas: you tell it what should be
+on it, and it handles redraw operations for you. It is a bit dated, in
+that it is backed by a library called ``libart'' and not Cairo, but no
+clear successor has emerged yet.
+
+The source distribution has a fairly comprehensive example; see
address@hidden/canvas.scm} for more information.
+
+See the documentation for @code{(gnome gobject)} for more information
+on Guile-GNOME.
diff --git a/webkit/doc/undocumented.texi b/webkit/doc/undocumented.texi
new file mode 100644
index 0000000..56e500e
--- /dev/null
+++ b/webkit/doc/undocumented.texi
@@ -0,0 +1,10 @@
+
address@hidden %start of fragment
+
address@hidden Undocumented
address@hidden Undocumented
+The following symbols, if any, have not been properly documented.
+
address@hidden (gnome gw webkit)
+
address@hidden %end of fragment
diff --git a/webkit/examples/Makefile.am b/webkit/examples/Makefile.am
new file mode 100644
index 0000000..1e3188c
--- /dev/null
+++ b/webkit/examples/Makefile.am
@@ -0,0 +1 @@
+EXTRA_DIST = $(wildcard *.scm)
diff --git a/webkit/examples/browser.scm b/webkit/examples/browser.scm
new file mode 100755
index 0000000..aa4e276
--- /dev/null
+++ b/webkit/examples/browser.scm
@@ -0,0 +1,70 @@
+#! /bin/sh
+# -*- scheme -*-
+exec guile --debug -s $0 "$@"
+!#
+;;; guile-gnome
+;;; Copyright (C) 2004 Free Software Foundation, Inc.
+;;; Copyright (C) 2019 Jan (janneke) Nieuwenhuizen <address@hidden>
+
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2 of
+;;; the License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, contact:
+;;;
+;;; Free Software Foundation Voice: +1-617-542-5942
+;;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+;;; Boston, MA 02111-1307, USA address@hidden
+
+(use-modules (gnome-2)
+ (oop goops)
+ (gnome gtk)
+ (gnome gtk gdk-event)
+ (gnome webkit))
+
+(define browser-width 300)
+(define browser-height browser-width)
+
+(define (main)
+
+ (define (key-press-event item event . data)
+ (let ((keyval (gdk-event-key:keyval event))
+ (mods (gdk-event-key:modifiers event)))
+ (if (and (or (eq? keyval gdk:q)
+ (eq? keyval gdk:w))
+ (equal? mods '(control-mask modifier-mask)))
+ (gtk-main-quit))
+ #f))
+
+ (let* ((window (make <gtk-window> #:type 'toplevel))
+ (button (make <gtk-button> #:label "Exit"))
+ (browser (make <gtk-button>))
+ (browser (make <webkit-web-view>))
+ (vbox (make <gtk-vbox>)))
+
+ (add window vbox)
+ (add vbox browser)
+
+ (add vbox button)
+ (connect button 'clicked
+ (lambda (b) (gtk-main-quit)))
+
+ (connect window 'key-press-event key-press-event)
+ (connect window 'delete-event (lambda args (gtk-main-quit) #t))
+
+ (set-child-packing vbox button #f #f 0 'end)
+ (set-size-request browser browser-width browser-height)
+
+ (load-uri browser "http://gnu.org")
+
+ (show-all window)
+ (gtk-main)))
+
+(main)
diff --git a/webkit/gnome/Makefile.am b/webkit/gnome/Makefile.am
new file mode 100644
index 0000000..64e019f
--- /dev/null
+++ b/webkit/gnome/Makefile.am
@@ -0,0 +1,13 @@
+include $(top_srcdir)/common.mk
+
+SUBDIRS = overrides
+
+guilemodule_DATA =
+
+if HAVE_WEBKIT
+guilemodule_DATA += webkit.scm
+SUBDIRS += gw
+endif
+
+EXTRA_DIST = webkit.scm
+DIST_SUBDIRS = gw overrides
diff --git a/webkit/gnome/gw/Makefile.am b/webkit/gnome/gw/Makefile.am
new file mode 100644
index 0000000..c19c6d3
--- /dev/null
+++ b/webkit/gnome/gw/Makefile.am
@@ -0,0 +1,31 @@
+include $(top_srcdir)/common.mk
+
+guilegwmodule_DATA = webkit-spec.scm webkit.scm
+
+EXTRA_DIST = webkit-spec.scm
+
+CLEANFILES = $(wildcard gnome-*.log)
+
+# There is one shared library for each wrapset. Each is produced by
+# g-wrap, but also may contain some hand-coded routines.
+
+guilegnomelib_LTLIBRARIES = libgw-guile-gnome-webkit.la
+
+########################################################################
+## webkit
+nodist_libgw_guile_gnome_webkit_la_SOURCES = guile-gnome-gw-webkit.c
+libgw_guile_gnome_webkit_la_SOURCES = \
+ webkit-support.c webkit-support.h
+
+libgw_guile_gnome_webkit_la_CFLAGS = $(GUILE_GLIB_CFLAGS) \
+ $(AM_CFLAGS) $(WEBKIT_CFLAGS) $(GUILE_CFLAGS) \
+ $(G_WRAP_CFLAGS)
+
+libgw_guile_gnome_webkit_la_LIBADD = $(WEBKIT_LIBS) $(GUILE_GLIB_LIBS) \
+ $(GUILE_LIBS) $(G_WRAP_LIBS)
+
+libgw_guile_gnome_webkit_la_LDFLAGS = -module
+
+CLEANFILES += $(wildcard guile-gnome-gw-webkit.*) webkit.scm
+
+BUILT_SOURCES = guile-gnome-gw-webkit.c
diff --git a/webkit/gnome/gw/webkit-spec.scm b/webkit/gnome/gw/webkit-spec.scm
new file mode 100644
index 0000000..66e6372
--- /dev/null
+++ b/webkit/gnome/gw/webkit-spec.scm
@@ -0,0 +1,51 @@
+;;; guile-gnome
+
+;;; Copyright (C) 2004 Andy Wingo <wingo at pobox dot com>
+;;; Copyright (C) 2004, 2019 Jan (janneke) Nieuwenhuizen <address@hidden>
+
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2 of
+;;; the License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, contact:
+;;;
+;;; Free Software Foundation Voice: +1-617-542-5942
+;;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+;;; Boston, MA 02111-1307, USA address@hidden
+
+;;; Commentary:
+
+;;; g-wrap specification for webkitgtk.
+
+;;; Code:
+
+(define-module (gnome gw webkit-spec)
+ #:use-module (oop goops)
+ #:use-module (gnome gw support g-wrap)
+ #:use-module (gnome gw glib-spec)
+ #:use-module (gnome gw gobject-spec)
+ #:use-module (gnome gw gtk-spec)
+ #:use-module (gnome gw support gobject)
+ #:use-module (gnome gw support defs))
+
+(define-class <webkit-wrapset> (<gobject-wrapset-base>)
+ #:id 'gnome-webkit
+ #:dependencies '(standard gnome-glib gnome-gobject gnome-gdk gnome-gtk
+ ))
+
+(define-method (global-declarations-cg (self <webkit-wrapset>))
+ (list
+ (next-method)
+ "#include <webkit/webkit.h>\n"
+ "#include \"webkit-support.h\"\n"))
+
+(define-method (initialize (ws <webkit-wrapset>) initargs)
+ (next-method ws (cons #:module (cons '(gnome gw webkit) initargs)))
+ (load-defs-with-overrides ws "gnome/defs/webkit.defs"))
diff --git a/webkit/gnome/gw/webkit-support.c b/webkit/gnome/gw/webkit-support.c
new file mode 100644
index 0000000..f3805ef
--- /dev/null
+++ b/webkit/gnome/gw/webkit-support.c
@@ -0,0 +1,26 @@
+/* guile-gnome
+ * Copyright (C) 2019 Jan (janneke) Nieuwenhuizen <address@hidden>
+ *
+ * webkit-support.c: Customizations for guile-gnome-webkit
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, contact:
+ *
+ * Free Software Foundation Voice: +1-617-542-5942
+ * 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+ * Boston, MA 02111-1307, USA address@hidden
+ *
+ * Based on work Copyright (C) 2003 James Henstridge <address@hidden>
+ */
+
+#include "webkit-support.h"
diff --git a/webkit/gnome/gw/webkit-support.h b/webkit/gnome/gw/webkit-support.h
new file mode 100644
index 0000000..0a73727
--- /dev/null
+++ b/webkit/gnome/gw/webkit-support.h
@@ -0,0 +1,42 @@
+/* guile-gnome
+ *
+ * Copyright (C) 2004, 2019 Jan (janneke) Nieuwenhuizen <address@hidden>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, contact:
+ *
+ * Free Software Foundation Voice: +1-617-542-5942
+ * 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+ * Boston, MA 02111-1307, USA address@hidden
+ *
+ * Based on work Copyright (C) 2003 James Henstridge <address@hidden>
+ */
+
+#ifndef WEBKIT_SUPPORT_H
+#define WEBKIT_SUPPORT_H
+
+#include <libguile.h>
+#include "guile-gnome-gobject.h"
+#include <gtk/gtk.h>
+#include <webkit/webkit.h>
+
+// Repare the damage of using Webkit instead of WebKit in webkit.defs,
+// webkit-types.defs
+#define WebkitInsertAction WebKitInsertAction
+#define WebkitNavigationResponse WebKitNavigationResponse
+#define WebkitSelectionAffinity WebKitSelectionAffinity
+#define WebkitWebView WebKitWebView
+#define WebkitWebViewTargetInfo WebKitWebViewTargetInfo
+#define WebkitWebViewViewMode WebKitWebViewViewMode
+
+#endif /* WEBKIT_SUPPORT_H */
diff --git a/webkit/gnome/overrides/Makefile.am
b/webkit/gnome/overrides/Makefile.am
new file mode 100644
index 0000000..0bc906c
--- /dev/null
+++ b/webkit/gnome/overrides/Makefile.am
@@ -0,0 +1,8 @@
+include $(top_srcdir)/common.mk
+
+moduledir = $(guilemoduledir)/overrides
+
+module_DATA = webkit.defs
+
+EXTRA_DIST = $(module_DATA)
+
diff --git a/webkit/gnome/overrides/webkit.defs
b/webkit/gnome/overrides/webkit.defs
new file mode 100644
index 0000000..7b8f96e
--- /dev/null
+++ b/webkit/gnome/overrides/webkit.defs
@@ -0,0 +1,20 @@
+;;; -*- scheme -*-
+;;; guile-gnome
+;;; Copyright (C) 2019 Jan (janneke) Nieuwenhuizen <address@hidden>
+
+;;; This program is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation; either version 2 of
+;;; the License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, contact:
+;;;
+;;; Free Software Foundation Voice: +1-617-542-5942
+;;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+;;; Boston, MA 02111-1307, USA address@hidden
diff --git a/webkit/gnome/webkit.scm b/webkit/gnome/webkit.scm
new file mode 100644
index 0000000..5281e39
--- /dev/null
+++ b/webkit/gnome/webkit.scm
@@ -0,0 +1,36 @@
+;; guile-gnome
+;; Copyright (C) 2003,2004 Andy Wingo <wingo at pobox dot com>
+;; Copyright (C) 2019 Jan (janneke) Nieuwenhuizen <address@hidden>
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2 of
+;; the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program; if not, contact:
+;;
+;; Free Software Foundation Voice: +1-617-542-5942
+;; 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+;; Boston, MA 02111-1307, USA address@hidden
+
+;;; Commentary:
+;;
+;;Guile wrappers for webkitgtk.
+;;
+;;; Code:
+
+(define-module (gnome webkit)
+ #:use-module (oop goops)
+ #:use-module (gnome gobject)
+ #:use-module (gnome gw webkit)
+ #:use-module (gnome gw generics)
+ #:use-module (gnome gw support modules))
+
+(eval-when (expand load eval)
+ (re-export-modules (gnome gw webkit)))
diff --git a/webkit/tests/Makefile.am b/webkit/tests/Makefile.am
new file mode 100644
index 0000000..b7803ec
--- /dev/null
+++ b/webkit/tests/Makefile.am
@@ -0,0 +1,3 @@
+include ../../tests.mk
+
+wrapset_stem = webkit
--
2.20.1
--
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com
- [PATCH] webkit: New library.,
Jan Nieuwenhuizen <=