commit f9f9fd01e7502fc156c7529c0cfccae3ae33804a
parent 103041bb11141d69f2903399c3efd0c7512bb8f8
Author: Kyle Milz <kmilz@ucalgary.ca>
Date: Wed, 17 Oct 2012 15:04:43 -0600
add hooks for 2 more signals
Diffstat:
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/buffer.c b/src/buffer.c
@@ -508,8 +508,24 @@ bf_list_changed_cb(void *data, Evas_Object *obj, void *event_info)
eina_strbuf_append_printf(buf, "[%s%s]", back ? "+" : "", fwd ? "-" : "");
elm_object_text_set(wd->status_back_forward, eina_strbuf_string_steal(buf));
+}
+
+static void
+policy_new_window_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Buffer_Data *bd = data;
+ Ewk_Navigation_Policy_Decision *decision = event_info;
+ Ewk_Url_Request *req = ewk_navigation_policy_request_get(decision);
+ const char *url = ewk_url_request_url_get(req);
- printf("back_forward_list_changed_cb()\n");
+ buffer_add(0, bd->window, url, NULL);
+ printf("policy_new_window()\n");
+}
+
+static void
+close_window_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ printf("close_window()\n");
}
static void
@@ -719,6 +735,9 @@ buffer_add(const unsigned char flags, Window_Data *wd, const char *url, Session_
evas_object_smart_callback_add(v, "icon,changed", icon_changed_cb, bd);
evas_object_smart_callback_add(v, "back,forward,list,changed", bf_list_changed_cb, bd);
+ evas_object_smart_callback_add(v, "policy,decision,new,window", policy_new_window_cb, bd);
+ evas_object_smart_callback_add(v, "close,window", close_window_cb, bd);
+
/* not yet implemented in ewebkit */
// evas_object_smart_callback_add(v, "link,hover,in", hoverlink_cb, td);
// evas_object_smart_callback_add(v, "link,hover,out",hoverlink_out_cb, td);