diff options
author | Carlos Garcia Campos <cgarcia@igalia.com> | 2012-12-29 00:39:40 +0800 |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2013-02-19 19:59:33 +0800 |
commit | 86615e3298fa53736a6a2b722be7d45ecffd36db (patch) | |
tree | 56a041705b541760e4c04c7a4d7137f790b64d05 /embed/ephy-web-view.c | |
parent | 8acf5ae0ecaf38ce2b0e1529d88a8fde9803b7e4 (diff) | |
download | gsoc2013-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.c | 20 |
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 } /** |