aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-web-view.c
diff options
context:
space:
mode:
authorCarlos Garcia Campos <cgarcia@igalia.com>2012-12-29 00:39:40 +0800
committerCarlos Garcia Campos <carlosgc@gnome.org>2013-02-19 19:59:33 +0800
commit86615e3298fa53736a6a2b722be7d45ecffd36db (patch)
tree56a041705b541760e4c04c7a4d7137f790b64d05 /embed/ephy-web-view.c
parent8acf5ae0ecaf38ce2b0e1529d88a8fde9803b7e4 (diff)
downloadgsoc2013-epiphany-86615e3298fa53736a6a2b722be7d45ecffd36db.tar
gsoc2013-epiphany-86615e3298fa53736a6a2b722be7d45ecffd36db.tar.gz
gsoc2013-epiphany-86615e3298fa53736a6a2b722be7d45ecffd36db.tar.bz2
gsoc2013-epiphany-86615e3298fa53736a6a2b722be7d45ecffd36db.tar.lz
gsoc2013-epiphany-86615e3298fa53736a6a2b722be7d45ecffd36db.tar.xz
gsoc2013-epiphany-86615e3298fa53736a6a2b722be7d45ecffd36db.tar.zst
gsoc2013-epiphany-86615e3298fa53736a6a2b722be7d45ecffd36db.zip
embed: Implement unsubmitted modified forms warning in WebKit2
Installing a web extension to access the DOM. https://bugzilla.gnome.org/show_bug.cgi?id=684437
Diffstat (limited to 'embed/ephy-web-view.c')
-rw-r--r--embed/ephy-web-view.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index e65358026..eced9f1ad 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -3417,7 +3417,23 @@ gboolean
ephy_web_view_has_modified_forms (EphyWebView *view)
{
#ifdef HAVE_WEBKIT2
- /* TODO: DOM Bindings */
+ GVariant *result;
+ gboolean retval = FALSE;
+
+ /* FIXME: This should be async */
+ result = g_dbus_proxy_call_sync (ephy_embed_shell_get_web_extension_proxy (ephy_embed_shell_get_default ()),
+ "HasModifiedForms",
+ g_variant_new("(t)", webkit_web_view_get_page_id (WEBKIT_WEB_VIEW (view))),
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ NULL);
+
+
+ g_variant_get (result, "(b)", &retval);
+ g_variant_unref (result);
+
+ return retval;
#else
WebKitDOMHTMLCollection *forms = NULL;
WebKitDOMDocument *document = NULL;
@@ -3472,8 +3488,8 @@ ephy_web_view_has_modified_forms (EphyWebView *view)
}
}
}
-#endif
return FALSE;
+#endif
}
/**