commit a39dabc25fe800bad84558ed4c71bc7fa5d72d2c
parent ca59d0d0644de7aed19a10df8cd7be4d687327fb
Author: Kyle Milz <kmilz@ucalgary.ca>
Date: Mon, 24 Sep 2012 08:29:26 -0600
callbacks: stub out hooks for xss/protocol handler
also move the hooks for the inspector from uri_change time to buffer
creation time.
Diffstat:
M | main.c | | | 34 | +++++++++++++++++++++++----------- |
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/main.c b/main.c
@@ -52,6 +52,7 @@ static void webview_title_changed_cb (void *, Evas_Object *, void *);
static void webview_download_cb (void *, Evas_Object *, void *);
static void inputmethod_changed_cb (void *, Evas_Object *, void *);
static void icon_received_cb (void *, Evas_Object *, void *);
+static void xss_detected_cb (void *, Evas_Object *, void *);
static void webview_inspector_cb (void *, Evas_Object *, void *);
static Eina_Bool process_keypress (void *, void*);
static void webview_keypress_cb (void *, Evas *, Evas_Object *, void *);
@@ -284,6 +285,13 @@ webview_progress_changed_cb(void *data, Evas_Object *obj, void *event_info)
update_state(td->app);
}
+
+static void
+protocol_register_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ printf("protocol_register()\n");
+}
+
static void
webview_inspector_cb(void *data, Evas_Object *obj, void *event_info)
{
@@ -334,12 +342,6 @@ webview_uri_changed_cb(void *data, Evas_Object *obj, void *event_info)
if (td->web != td->app->current_web)
return;
- Evas_Object *view = elm_web_webkit_view_get(td->web);
- // Evas_Object *frame = ewk_view_frame_main_get(view);
-
- evas_object_smart_callback_add(view, "inspector,view,create", webview_inspector_cb, td);
- evas_object_smart_callback_add(view, "inspector,view,close", webview_inspector_close_cb, td);
-
// userscript_hooks_start(elm_web_uri_get(td->web));
script(&a, td->app);
@@ -786,6 +788,12 @@ set_widget_font_and_color(Evas_Object *widget, const char *font_str, const char
}
void
+xss_detected_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ printf("xss_detected()\n");
+}
+
+void
icon_received_cb(void *data, Evas_Object *obj, void *event_info)
{
printf("icon_received_cb()\n");
@@ -1347,7 +1355,6 @@ buffer_add(App_Data *ad)
elm_web_console_message_hook_set(td->web, webview_console_cb, td);
elm_web_useragent_set(td->web, "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.514.0 Safari/534.7");
elm_web_history_enabled_set(td->web, EINA_TRUE);
- elm_web_tab_propagate_set(td->web, EINA_FALSE);
elm_web_inwin_mode_set(td->web, EINA_TRUE);
evas_object_size_hint_weight_set(td->web, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -1355,7 +1362,7 @@ buffer_add(App_Data *ad)
elm_naviframe_item_simple_push(ad->naviframe, td->web);
- evas_object_data_set(td->web, "tab_data", td);
+ evas_object_data_set(td->web, "buffer_data", td);
/* signals */
evas_object_smart_callback_add(td->web, "title,changed", webview_title_changed_cb, td);
@@ -1368,15 +1375,20 @@ buffer_add(App_Data *ad)
evas_object_smart_callback_add(td->web, "link,hover,in", webview_hoverlink_cb, td);
evas_object_smart_callback_add(td->web, "link,hover,out", webview_hoverlink_out_cb, td);
evas_object_smart_callback_add(td->web, "inputmethod,changed", inputmethod_changed_cb, td);
- evas_object_smart_callback_add(td->web, "icon,received", icon_received_cb, td);
+
+ Evas_Object *view = elm_web_webkit_view_get(td->web);
+
+ evas_object_smart_callback_add(view, "inspector,view,create", webview_inspector_cb, td);
+ evas_object_smart_callback_add(view, "inspector,view,close", webview_inspector_close_cb, td);
+ evas_object_smart_callback_add(view, "protocolhandler,isregistered", protocol_register_cb, td);
+ evas_object_smart_callback_add(view, "icon,received", icon_received_cb, td);
+ evas_object_smart_callback_add(view, "xss,detected", xss_detected_cb, td);
evas_object_event_callback_add(td->web, EVAS_CALLBACK_FREE, _web_free_cb, td);
evas_object_event_callback_add(td->web, EVAS_CALLBACK_KEY_DOWN, webview_keypress_cb, td);
// evas_object_event_callback_add(td->web, EVAS_CALLBACK_MOUSE_UP, notify_event_cb, td);
evas_object_event_callback_add(td->web, EVAS_CALLBACK_MOUSE_WHEEL, webview_mousewheel_cb, td);
- // buffer_current_set(td);
-
return td;
}