viking

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

commit 5d01ccc3f440477f77862eb9b98564a78fe22709
parent a78fd926a499caee4864482059a9e7827b18aa94
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Mon, 12 Nov 2012 16:47:32 -0700

buffer: stub in a better error page

Diffstat:
Msrc/buffer.c | 18++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/buffer.c b/src/buffer.c @@ -701,8 +701,22 @@ load_finished_cb(void *data, Evas_Object *obj, void *event_info) } static void -load_error_cb(void *data, Evas_Object *obj, void *event_info) +load_error_cb(void *data, Evas_Object *webview, void *event_info) { + Eina_Strbuf* buffer; + const Ewk_Error *error = event_info; + + /* This is a cancellation, do not display the error page */ + if (ewk_error_cancellation_get(error)) + return; + + buffer = eina_strbuf_new(); + eina_strbuf_append_printf(buffer, "<html><body><div style=\"color:#ff0000\">ERROR!</div><br><div>Code: %d<br>Description: %s<br>URL: %s</div></body</html>", + ewk_error_code_get(error), ewk_error_description_get(error), ewk_error_url_get(error)); + + ewk_view_html_string_load(webview, eina_strbuf_string_get(buffer), 0, ewk_error_url_get(error)); + eina_strbuf_free(buffer); + /* char *contents; Ewk_Frame_Load_Error *error = event_info; @@ -1131,7 +1145,7 @@ buffer_add(const unsigned char flags, Window_Data *wd, const char *url, Session_ evas_object_smart_callback_add(v, "url,changed", url_changed_cb, bd); evas_object_smart_callback_add(v, "load,progress", load_progress_cb, bd); evas_object_smart_callback_add(v, "load,finished", load_finished_cb, bd); - evas_object_smart_callback_add(v, "load,error", load_error_cb, bd); + // evas_object_smart_callback_add(v, "load,error", load_error_cb, bd); /* other */ evas_object_smart_callback_add(v, "inspector,view,create", inspector_cb, bd);