Show error message if bookmarklet/ javascript: fails
This commit is contained in:
parent
6fe8a5e9ec
commit
df6f4a16b8
1 changed files with 16 additions and 6 deletions
|
@ -3148,7 +3148,15 @@ midori_view_set_uri (MidoriView* view,
|
||||||
}
|
}
|
||||||
else if (g_str_has_prefix (uri, "javascript:"))
|
else if (g_str_has_prefix (uri, "javascript:"))
|
||||||
{
|
{
|
||||||
midori_view_execute_script (view, &uri[11], NULL);
|
gboolean result;
|
||||||
|
gchar* exception;
|
||||||
|
|
||||||
|
result = midori_view_execute_script (view, &uri[11], &exception);
|
||||||
|
if (!result)
|
||||||
|
{
|
||||||
|
sokoke_message_dialog (GTK_MESSAGE_ERROR, "javascript:", exception);
|
||||||
|
g_free (exception);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (g_str_has_prefix (uri, "mailto:")
|
else if (g_str_has_prefix (uri, "mailto:")
|
||||||
|| g_str_has_prefix (uri, "tel:")
|
|| g_str_has_prefix (uri, "tel:")
|
||||||
|
@ -4289,22 +4297,24 @@ midori_view_execute_script (MidoriView* view,
|
||||||
WebKitWebFrame* web_frame;
|
WebKitWebFrame* web_frame;
|
||||||
JSContextRef js_context;
|
JSContextRef js_context;
|
||||||
gchar* script_decoded;
|
gchar* script_decoded;
|
||||||
|
gchar* result;
|
||||||
|
gboolean success;
|
||||||
|
|
||||||
g_return_val_if_fail (MIDORI_IS_VIEW (view), FALSE);
|
g_return_val_if_fail (MIDORI_IS_VIEW (view), FALSE);
|
||||||
g_return_val_if_fail (script != NULL, FALSE);
|
g_return_val_if_fail (script != NULL, FALSE);
|
||||||
|
|
||||||
/* FIXME Actually store exception. */
|
|
||||||
web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (view->web_view));
|
web_frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW (view->web_view));
|
||||||
js_context = webkit_web_frame_get_global_context (web_frame);
|
js_context = webkit_web_frame_get_global_context (web_frame);
|
||||||
if ((script_decoded = soup_uri_decode (script)))
|
if ((script_decoded = soup_uri_decode (script)))
|
||||||
{
|
{
|
||||||
webkit_web_view_execute_script (WEBKIT_WEB_VIEW (view->web_view),
|
result = sokoke_js_script_eval (js_context, script_decoded, exception);
|
||||||
script_decoded);
|
|
||||||
g_free (script_decoded);
|
g_free (script_decoded);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
webkit_web_view_execute_script (WEBKIT_WEB_VIEW (view->web_view), script);
|
result = sokoke_js_script_eval (js_context, script, exception);
|
||||||
return TRUE;
|
success = result != NULL;
|
||||||
|
g_free (result);
|
||||||
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue