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:
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);