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:
M | src/callbacks.c | | | 120 | ++----------------------------------------------------------------------------- |
M | src/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