viking

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

commit 624b4a57248b0fbfbbac9a47a7ce9f67e70b5920
parent b9ab118cfdc2e3c210633d34e564573379aca419
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Wed, 19 Sep 2012 19:14:26 -0600

run start scripts on uri change not load committed.
fixes hinting.js being available on all pages

Diffstat:
Mmain.c | 48+++++++++++++-----------------------------------
1 file changed, 13 insertions(+), 35 deletions(-)

diff --git a/main.c b/main.c @@ -43,7 +43,7 @@ static void inputbox_keyrelease_cb (void *, Evas *, Evas_Object *, void *); static void webview_console_cb(void *, Evas_Object *, const char *, unsigned int, const char *); static void webview_hoverlink_cb (void *, Evas_Object *, void*); static void webview_hoverlink_out_cb (void *, Evas_Object *, void*); -static void webview_load_committed_cb (void *, Evas_Object *, void*); +static void webview_uri_changed_cb (void *, Evas_Object *, void*); static void webview_load_finished_cb (void *, Evas_Object *, void*); static void history(void *); static void webview_progress_changed_cb(void *, Evas_Object *, void *); @@ -286,10 +286,16 @@ webview_progress_changed_cb(void *data, Evas_Object *obj, void *event_info) } void -webview_load_committed_cb(void *data, Evas_Object *obj, void *event_info) +webview_uri_changed_cb(void *data, Evas_Object *obj, void *event_info) { Arg a = { .i = Silent, .s = strdup(JS_SETUP_HINTS) }; Tab_Data *td = data; + const char *uri = event_info; + + if (td->web != td->app->current_web) + return; + + printf("load_committed()\n"); // Evas_Object *view = elm_web_webkit_view_get(td->web); // Evas_Object *frame = ewk_view_frame_main_get(view); @@ -319,7 +325,9 @@ webview_load_committed_cb(void *data, Evas_Object *obj, void *event_info) Arg a = { .i = ModeNormal }; set(&a, td->app); } - td->app->manual_focus = FALSE; + + td->app->manual_focus = EINA_FALSE; + update_url(uri, td->app); } void @@ -1255,36 +1263,6 @@ _web_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) free(td); } -static void -_uri_changed_cb(void *data, Evas_Object *obj, void *event_info) -{ - Tab_Data *td = data; - const char *uri = event_info; - - if (td->web != td->app->current_web) - return; - - update_url(uri, td->app); - // elm_object_text_set(td->app->url, uri); -} - -/* -static void -_tb_item_del_cb(void *data, Evas_Object *obj, void *event_info) -{ - Tab_Data *td = data; - // if (!td->app->exiting && !elm_toolbar_selected_item_get(obj)) - if (!td->app->exiting) - { - // td->app->current_tab = NULL; - // elm_entry_icon_visible_set(td->app->url, EINA_FALSE); - // if (td->app->search_box) - // evas_object_del(td->app->search_box); - } - // td->tab = NULL; -} -*/ - Eina_Bool add_tab(const Arg *arg, void *data) { @@ -1337,9 +1315,9 @@ tab_add(App_Data *ad) /* signals */ evas_object_smart_callback_add(td->web, "title,changed", webview_title_changed_cb, td); - evas_object_smart_callback_add(td->web, "uri,changed", _uri_changed_cb, td); + evas_object_smart_callback_add(td->web, "uri,changed", webview_uri_changed_cb, td); evas_object_smart_callback_add(td->web, "load,progress", webview_progress_changed_cb, td); - evas_object_smart_callback_add(td->web, "load,started", webview_load_committed_cb, td); + // evas_object_smart_callback_add(td->web, "load,started", webview_load_committed_cb, td); evas_object_smart_callback_add(td->web, "load,finished", webview_load_finished_cb, td); evas_object_smart_callback_add(td->web, "download,request", webview_download_cb, td); evas_object_smart_callback_add(td->web, "link,hover,in", webview_hoverlink_cb, td);