viking

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

commit 4afaaf69a25e4bdfb3aca826fb8adce996a4203e
parent 2b016d347691d9d3aadd29512ff3bfaea2d4f155
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Fri,  5 Oct 2012 16:40:06 -0600

move userscript functionality to proper place

Diffstat:
Msrc/callbacks.c | 120++-----------------------------------------------------------------------------
Msrc/utilities.c | 69+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 71 insertions(+), 118 deletions(-)

diff --git a/src/callbacks.c b/src/callbacks.c @@ -132,60 +132,6 @@ webview_uri_changed_cb(void *data, Evas_Object *obj, void *event_info) script(&a, bd->window); free(a.s); - /* - Evas_Object *frame = ewk_view_frame_main_get(bd->view); - FILE *fp = fopen("/home/kyle/.config/viking/userscript/adblockplus/contentScript1.js", "r"); - if (!fp) - printf("error opening file.\n"); - fseek(fp, 0L, SEEK_END); - int len = ftell(fp); - char *buf = malloc(len); - rewind(fp); - fread(buf, len, 1, fp); - fclose(fp); - ewk_frame_script_execute(frame, buf); - printf("uri_changed() executed %i byte script %s\n", len, "contentScript1.js"); - free(buf); - - Evas_Object *frame = ewk_view_frame_main_get(td->view); - char *scripts[15] = { - "tampermonkey/src/emulation.js", - "tampermonkey/src/environment.js", - - "tampermonkey/src/registry.js", - "tampermonkey/src/convert.js", - "tampermonkey/src/helper.js", - "tampermonkey/src/xmlhttprequest.js", - "tampermonkey/src/content.js", - - "reddit-enhancement-suite/jquery-1.6.4.min.js", - "reddit-enhancement-suite/guiders-1.2.8.js", - "reddit-enhancement-suite/jquery.dragsort-0.4.3.min.js", - "reddit-enhancement-suite/jquery-fieldselection.min.js", - "reddit-enhancement-suite/tinycon.min.js", - "reddit-enhancement-suite/jquery.tokeninput.js", - "reddit-enhancement-suite/reddit_enhancement_suite.user.js", - - }; - - for (i = 0; i < 14; i++) { - char *path = strdup_printf("/home/kyle/.config/viking/userscript/%s", scripts[i]); - FILE *fp = fopen(path, "r"); - free(path); - if (!fp) - printf("error opening file.\n"); - fseek(fp, 0L, SEEK_END); - int len = ftell(fp); - char *buf = malloc(len); - rewind(fp); - fread(buf, len, 1, fp); - fclose(fp); - ewk_frame_script_execute(frame, buf); - printf("uri_changed() executed %i byte script %s\n", len, scripts[i]); - free(buf); - } - */ - if (bd->window->mode == ModeInsert || bd->window->mode == ModeHints) { Arg a = { .i = ModeNormal }; set(&a, bd->window); @@ -195,8 +141,6 @@ webview_uri_changed_cb(void *data, Evas_Object *obj, void *event_info) update_url(uri, bd->window); } -static Eina_Bool escape_input_on_load = TRUE; /* TRUE will disable automatic focusing of input fields via Javascript*/ - static void webview_load_finished_cb(void *data, Evas_Object *obj, void *event_info) { @@ -212,6 +156,8 @@ webview_load_finished_cb(void *data, Evas_Object *obj, void *event_info) // return; /* g_object_get(settings, "enable-scripts", &scripts, NULL); */ + /* TRUE will disable automatic focusing of input fields via Javascript*/ + static Eina_Bool escape_input_on_load = TRUE; if (escape_input_on_load && scripts && !wd->manual_focus && !elm_object_focus_get(wd->url)) { Arg a = { .i = Silent, .s = strdup("hints.clearFocus();") }; script(&a, wd); @@ -241,71 +187,9 @@ webview_load_finished_cb(void *data, Evas_Object *obj, void *event_info) // userscript_hooks_end(elm_web_uri_get(td->web)); - /* - Evas_Object *frame = ewk_view_frame_main_get(bd->view); - FILE *fp = fopen("/home/kyle/.config/viking/userscript/adblockplus/contentScript2.js", "r"); - if (!fp) - printf("error opening file.\n"); - fseek(fp, 0L, SEEK_END); - int len = ftell(fp); - char *buf = malloc(len); - rewind(fp); - fread(buf, len, 1, fp); - fclose(fp); - ewk_frame_script_execute(frame, buf); - printf("load_finished() executed %i byte script\n", len); - free(buf); - */ - elm_object_focus_set(bd->web, EINA_TRUE); } -#if 0 -void -webview_open_js_window_cb(WebKitWebView* temp_view, GParamSpec param_spec) { - /* retrieve the URI of the temporary webview */ - Arg a = { .i = TargetNew, .s = (char*)webkit_web_view_get_uri(temp_view) }; - /* clean up */ - webkit_web_view_stop_loading(temp_view); - gtk_widget_destroy(GTK_WIDGET(temp_view)); - /* open the requested window */ - open_arg(&a); -} - -static WebKitWebView * -webview_open_in_new_window_cb(WebKitWebView *webview, WebKitWebFrame *frame, gpointer user_data) { - /* create a temporary webview to execute the script in */ - WebKitWebView *temp_view = WEBKIT_WEB_VIEW(webkit_web_view_new()); - /* wait until the new webview receives its new URI */ - g_object_connect(temp_view, "signal::notify::uri", G_CALLBACK(webview_open_js_window_cb), NULL, NULL); - return temp_view; -} - -Eina_Bool -webview_new_window_cb(WebKitWebView *webview, WebKitWebFrame *frame, WebKitNetworkRequest *request, - WebKitWebNavigationAction *action, WebKitWebPolicyDecision *decision, gpointer user_data) { - Arg a = { .i = TargetNew, .s = (char*)webkit_network_request_get_uri(request) }; - open_arg(&a); - webkit_web_policy_decision_ignore(decision); - return TRUE; -} -#endif - -/* -Eina_Bool -webview_mimetype_cb(WebKitWebView *webview, WebKitWebFrame *frame, WebKitNetworkRequest *request, - char *mime_type, WebKitWebPolicyDecision *decision, gpointer user_data) { - if (webkit_web_view_can_show_mime_type(webview, mime_type) == FALSE) { - webkit_web_policy_decision_download(decision); - return TRUE; - } else { - return FALSE; - } -} - -*/ - - /* * Download Callbacks */ diff --git a/src/utilities.c b/src/utilities.c @@ -1070,11 +1070,80 @@ userscript_hooks_start(const char *uri) } } } + + /* + Evas_Object *frame = ewk_view_frame_main_get(bd->view); + FILE *fp = fopen("/home/kyle/.config/viking/userscript/adblockplus/contentScript1.js", "r"); + if (!fp) + printf("error opening file.\n"); + fseek(fp, 0L, SEEK_END); + int len = ftell(fp); + char *buf = malloc(len); + rewind(fp); + fread(buf, len, 1, fp); + fclose(fp); + ewk_frame_script_execute(frame, buf); + printf("uri_changed() executed %i byte script %s\n", len, "contentScript1.js"); + free(buf); + + Evas_Object *frame = ewk_view_frame_main_get(td->view); + char *scripts[15] = { + "tampermonkey/src/emulation.js", + "tampermonkey/src/environment.js", + + "tampermonkey/src/registry.js", + "tampermonkey/src/convert.js", + "tampermonkey/src/helper.js", + "tampermonkey/src/xmlhttprequest.js", + "tampermonkey/src/content.js", + + "reddit-enhancement-suite/jquery-1.6.4.min.js", + "reddit-enhancement-suite/guiders-1.2.8.js", + "reddit-enhancement-suite/jquery.dragsort-0.4.3.min.js", + "reddit-enhancement-suite/jquery-fieldselection.min.js", + "reddit-enhancement-suite/tinycon.min.js", + "reddit-enhancement-suite/jquery.tokeninput.js", + "reddit-enhancement-suite/reddit_enhancement_suite.user.js", + + }; + + for (i = 0; i < 14; i++) { + char *path = strdup_printf("/home/kyle/.config/viking/userscript/%s", scripts[i]); + FILE *fp = fopen(path, "r"); + free(path); + if (!fp) + printf("error opening file.\n"); + fseek(fp, 0L, SEEK_END); + int len = ftell(fp); + char *buf = malloc(len); + rewind(fp); + fread(buf, len, 1, fp); + fclose(fp); + ewk_frame_script_execute(frame, buf); + printf("uri_changed() executed %i byte script %s\n", len, scripts[i]); + free(buf); + } + */ } void userscript_hooks_end(const char *uri) { + /* + Evas_Object *frame = ewk_view_frame_main_get(bd->view); + FILE *fp = fopen("/home/kyle/.config/viking/userscript/adblockplus/contentScript2.js", "r"); + if (!fp) + printf("error opening file.\n"); + fseek(fp, 0L, SEEK_END); + int len = ftell(fp); + char *buf = malloc(len); + rewind(fp); + fread(buf, len, 1, fp); + fclose(fp); + ewk_frame_script_execute(frame, buf); + printf("load_finished() executed %i byte script\n", len); + free(buf); + */ } void