#define ZOOM_IN_BOUNCING 1.25f
#define BOUNCING_DISTANCE 400
-// "<!--<body bgcolor=#4c4c4c text=white text-align=left>-->"
+#define NETWORK_FAIL_PAGE_HEADER "<html>" \
+ "<head><title>Network Failure</title></head>" \
+ "<body bgcolor=white text=black text-align=left>" \
+ "<center>" \
+ "<table>" \
+ "<tr><td><h1>Network Failure<br/></td></tr>" \
+ "<meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=no'>" \
+ "<tr><td>" \
+ "<script type='text/javascript'>"\
+ "var s = "
+
+#define NETWORK_FAIL_PAGE_FOOTER ";" \
+ "var failingUrl = s.substring(s.indexOf(\"?\"\)+1, s.lastIndexOf(\"?\"\));" \
+ "document.write(\"<p><tr><td><h2>URL: \" + unescape(failingUrl) + \"</h2></td></tr>\");" \
+ "var errorDesc = s.substring(s.lastIndexOf(\"?\")+1, s.length);" \
+ "document.write(\"<tr><td><h2>Error: \" + unescape(errorDesc) + \"</h2></td></tr>\");" \
+ "</script>" \
+ "</td></tr>" \
+ "</table>" \
+ "</h1>" \
+ "</body>" \
+ "</html>"
+
#define NOT_FOUND_PAGE_HEADER "<html>" \
"<head><title>Page Not Found</title></head>" \
"<body bgcolor=white text=black text-align=left>" \
// if error, call loadNotFoundPage
Ewk_Frame_Load_Error *error = (Ewk_Frame_Load_Error *) arg;
int errorCode = (error)? error->code: 0;
- if ( errorCode != 0 && errorCode != -999 )
+ DBG("<< load error [code: %d] [domain: %s] [description: %s] [failing_url: %s] >>\n",
+ error->code, error->domain, error->description, error->failing_url);
+ if ((errorCode <= -200 && errorCode >= -172))
+ {
+ if (!sd->ewk_view_stop)
+ sd->ewk_view_stop = (Eina_Bool (*)(Evas_Object *))dlsym(ewk_handle, "ewk_view_stop");
+ sd->ewk_view_stop(webview);
+
+ if (!sd->ewk_view_frame_main_get)
+ sd->ewk_view_frame_main_get = (Evas_Object *(*)(const Evas_Object *))dlsym(ewk_handle, "ewk_view_frame_main_get");
+
+ if (!sd->ewk_frame_contents_set)
+ sd->ewk_frame_contents_set = (Eina_Bool (*)(Evas_Object *, const char *, size_t, const char *, const char *, const char *))dlsym(ewk_handle, "ewk_frame_contents_set");
+
+ snprintf(szBuffer, 2048, NETWORK_FAIL_PAGE_HEADER "\"?%s?%s\"" NETWORK_FAIL_PAGE_FOOTER, error->failing_url, error->description);
+ sd->ewk_frame_contents_set(error->frame, szBuffer, 0, NULL, NULL, error->failing_url);
+
+ Evas_Object *popup = elm_popup_add(obj);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_popup_desc_set(popup, error->description);
+ elm_popup_buttons_add(popup, 1, "OK", ELM_POPUP_RESPONSE_OK, NULL);
+ evas_object_show(popup);
+ }
+ else if (errorCode != 0 && errorCode != -999)
{ // 0 ok, -999 request cancelled
//char szStrBuffer[1024];
//snprintf(szStrBuffer, 1024, "page not found:, [code: %d] [domain: %s] [description: %s] [failing_url: %s] \n",