evas_object_smart_callback_add(ewk_webview, "load,progress", load_progress_cb, this);
evas_object_smart_callback_add(ewk_webview, "load,progress,started", load_progress_started_cb, this);
evas_object_smart_callback_add(ewk_webview, "load,progress,finished", load_progress_finished_cb, this);
- evas_object_smart_callback_add(ewk_webview, "console,message", console_message_logger_cb, this);
+ evas_object_smart_callback_add(ewk_webview, "console,message", ToSmartCallback(console_message_cb), this);
PostSetUp();
}
evas_object_smart_callback_del(ewk_webview, "load,progress", load_progress_cb);
evas_object_smart_callback_del(ewk_webview, "load,progress,started", load_progress_started_cb);
evas_object_smart_callback_del(ewk_webview, "load,progress,finished", load_progress_finished_cb);
- evas_object_smart_callback_del(ewk_webview, "console,message", console_message_logger_cb);
+ evas_object_smart_callback_del(ewk_webview, "console,message", ToSmartCallback(console_message_cb));
EwkDeinit();
ut->LoadProgressFinished(webview);
}
-void utc_blink_ewk_base::console_message_logger_cb(void* data, Evas_Object* webview, void* event_info)
+void utc_blink_ewk_base::ConsoleMessage(Evas_Object*webview, const Ewk_Console_Message* msg)
{
- if (data && event_info) {
- utc_blink_ewk_base* owner = static_cast<utc_blink_ewk_base*>(data);
-
- if (owner->log_javascript && owner->ewk_webview == webview) {
- Ewk_Console_Message* console = static_cast<Ewk_Console_Message*>(event_info);
- const char *msg = ewk_console_message_text_get(console);
-
- if (msg) {
- utc_message("JavaScript::console (%p): %s", webview, msg);
- } else {
- utc_message("JavaScript::console (%p) ERROR: NULL messsage", webview);
- }
- }
- }
+ EXPECT_EQ(ewk_webview, webview);
+ if (log_javascript)
+ utc_message("JavaScript::console (%p):\t\"%s\"", webview, ewk_console_message_text_get(msg));
+}
+
+void utc_blink_ewk_base::console_message_cb(utc_blink_ewk_base* owner, Evas_Object* webview, Ewk_Console_Message* console)
+{
+ ASSERT_TRUE(owner);
+ owner->ConsoleMessage(webview, console);
}
Eina_Bool utc_blink_ewk_base::timeout_cb(void *data)
virtual void LoadProgressFinished(Evas_Object* webview) {}
/**
+ * Override this method if you need to handle "console,message" ewk callback.
+ */
+ virtual void ConsoleMessage(Evas_Object* webview, const Ewk_Console_Message*);
+
+ /**
* Performs unit test setup. It calls PreSetUp before default initialization
* and PostSetUp after default initialization.
*
static void load_progress_finished_cb(void* data, Evas_Object* webview, void* event_info);
/**
- * Default "console,message" event callback, logs message to console using utc_message
+ * Default "console,message" event callback, will call ConsoleMessage method
*/
- static void console_message_logger_cb(void* data, Evas_Object* webview, void* event_info);
+ static void console_message_cb(utc_blink_ewk_base*, Evas_Object*, Ewk_Console_Message*);
/**
* Default event loop timeout callback, will call TimeOut method