viking

webkit based web browser for Enlightenment
Log | Files | Refs | LICENSE

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:
Msrc/buffer.c | 21++++++++++++++++++++-
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);