<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[177357] trunk/Tools</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/177357">177357</a></dd>
<dt>Author</dt> <dd>g.czajkowski@samsung.com</dd>
<dt>Date</dt> <dd>2014-12-16 02:24:13 -0800 (Tue, 16 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[EFL] Add logging domain for MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=139642

Reviewed by Gyuyoung Kim.

Similarly to EWebKit2, provide logging facility for MiniBrowser
based on Eina Log module to have a convenient way to display
all/subset/none messages for EFL based libraries and MiniBrowser.

Usage:
1. Disable all messages:
   EINA_LOG_LEVEL=0 ./Tools/Scripts/run-launcher --efl

2. Enable all messages:
   EINA_LOG_LEVEL=7 ./Tools/Scripts/run-launcher --efl

3. Enable MiniBrowser and EWebkit2 messages only:
   EINA_LOG_LEVELS=&quot;minibrowser:7,ewebkit2:7&quot; ./Tools/Scripts/run-launcher --efl

More information and examples you can find here:
http://docs.enlightenment.org/auto/eet/tutorial_log_page.html

* MiniBrowser/efl/main.c:
(on_mouse_wheel):
(on_window_resize):
(save_page_contents_callback):
(script_execute_callback):
(on_key_down):
(on_download_request):
(on_download_finished):
(on_download_failed):
(quit):
(on_refresh_button_clicked):
(on_stop_button_clicked):
(navigation_button_longpress_process):
(on_popup_menu_item_clicked):
(popup_menu_populate):
(on_popup_menu_show):
(on_window_create):
(context_menu_item_selected_cb):
(context_menu_populate):
(on_context_menu_show):
(on_context_menu_hide):
(on_navigation_policy_decision):
(window_create):
(parse_cookies_policy):
(elm_main):
(has_scheme):
(list_item_label_get):
(on_popup_menu_hide):
(on_window_close):
(on_home_button_clicked):
Replace locally info() macro with newly introduced
one which uses Eina Log module. There is no logic change.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsMiniBrowsereflmainc">trunk/Tools/MiniBrowser/efl/main.c</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (177356 => 177357)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2014-12-16 10:08:13 UTC (rev 177356)
+++ trunk/Tools/ChangeLog        2014-12-16 10:24:13 UTC (rev 177357)
</span><span class="lines">@@ -1,3 +1,60 @@
</span><ins>+2014-12-16  Grzegorz Czajkowski  &lt;g.czajkowski@samsung.com&gt;
+
+        [EFL] Add logging domain for MiniBrowser
+        https://bugs.webkit.org/show_bug.cgi?id=139642
+
+        Reviewed by Gyuyoung Kim.
+
+        Similarly to EWebKit2, provide logging facility for MiniBrowser
+        based on Eina Log module to have a convenient way to display
+        all/subset/none messages for EFL based libraries and MiniBrowser.
+
+        Usage:
+        1. Disable all messages:
+           EINA_LOG_LEVEL=0 ./Tools/Scripts/run-launcher --efl
+
+        2. Enable all messages:
+           EINA_LOG_LEVEL=7 ./Tools/Scripts/run-launcher --efl
+
+        3. Enable MiniBrowser and EWebkit2 messages only:
+           EINA_LOG_LEVELS=&quot;minibrowser:7,ewebkit2:7&quot; ./Tools/Scripts/run-launcher --efl
+
+        More information and examples you can find here:
+        http://docs.enlightenment.org/auto/eet/tutorial_log_page.html
+
+        * MiniBrowser/efl/main.c:
+        (on_mouse_wheel):
+        (on_window_resize):
+        (save_page_contents_callback):
+        (script_execute_callback):
+        (on_key_down):
+        (on_download_request):
+        (on_download_finished):
+        (on_download_failed):
+        (quit):
+        (on_refresh_button_clicked):
+        (on_stop_button_clicked):
+        (navigation_button_longpress_process):
+        (on_popup_menu_item_clicked):
+        (popup_menu_populate):
+        (on_popup_menu_show):
+        (on_window_create):
+        (context_menu_item_selected_cb):
+        (context_menu_populate):
+        (on_context_menu_show):
+        (on_context_menu_hide):
+        (on_navigation_policy_decision):
+        (window_create):
+        (parse_cookies_policy):
+        (elm_main):
+        (has_scheme):
+        (list_item_label_get):
+        (on_popup_menu_hide):
+        (on_window_close):
+        (on_home_button_clicked):
+        Replace locally info() macro with newly introduced
+        one which uses Eina Log module. There is no logic change.
+
</ins><span class="cx"> 2014-12-15  Dániel Bátyai  &lt;dbatyai.u-szeged@partner.samsung.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [EFL] FTL JIT not working on ARM64
</span></span></pre></div>
<a id="trunkToolsMiniBrowsereflmainc"></a>
<div class="modfile"><h4>Modified: trunk/Tools/MiniBrowser/efl/main.c (177356 => 177357)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/MiniBrowser/efl/main.c        2014-12-16 10:08:13 UTC (rev 177356)
+++ trunk/Tools/MiniBrowser/efl/main.c        2014-12-16 10:24:13 UTC (rev 177357)
</span><span class="lines">@@ -37,13 +37,6 @@
</span><span class="cx"> static const double LONGPRESS_INTERVAL_SECONDS = 1.5;
</span><span class="cx"> static const double LIST_ITEM_HEIGHT = 24.35;
</span><span class="cx"> 
</span><del>-#define info(format, args...)       \
-    do {                            \
-        if (verbose)                \
-            printf(format&quot;\n&quot;, ##args); \
-    } while (0)
-
-static int verbose = 1;
</del><span class="cx"> static Eina_List *windows = NULL;
</span><span class="cx"> static char *evas_engine_name = NULL;
</span><span class="cx"> static char *user_agent_string = NULL;
</span><span class="lines">@@ -70,7 +63,11 @@
</span><span class="cx"> #define DEFAULT_ZOOM_LEVEL 5 // Set default zoom level to 1.0 (index 5 on zoomLevels).
</span><span class="cx"> // The zoom values are chosen to be like in Mozilla Firefox 3.
</span><span class="cx"> const static float zoomLevels[] = {0.3, 0.5, 0.67, 0.8, 0.9, 1.0, 1.1, 1.2, 1.33, 1.5, 1.7, 2.0, 2.4, 3.0};
</span><ins>+static int _log_domain_id = -1;
</ins><span class="cx"> 
</span><ins>+#define INFO(...) EINA_LOG_DOM_INFO(_log_domain_id, __VA_ARGS__)
+#define ERROR(...) EINA_LOG_DOM_ERR(_log_domain_id, __VA_ARGS__)
+
</ins><span class="cx"> static Eina_Bool
</span><span class="cx"> zoom_level_set(Evas_Object *webview, int level)
</span><span class="cx"> {
</span><span class="lines">@@ -316,10 +313,10 @@
</span><span class="cx">     } else if (ctrlPressed) {
</span><span class="cx">         if (ev-&gt;z == -1 &amp;&amp; zoom_level_set(ewk_view, window-&gt;current_zoom_level + 1)) {
</span><span class="cx">             window-&gt;current_zoom_level++;
</span><del>-            info(&quot;Zoom in (Ctrl + 'scroll up') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</del><ins>+            INFO(&quot;Zoom in (Ctrl + 'scroll up') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</ins><span class="cx">         } else if (ev-&gt;z == 1 &amp;&amp; zoom_level_set(ewk_view, window-&gt;current_zoom_level - 1)) {
</span><span class="cx">             window-&gt;current_zoom_level--;
</span><del>-            info(&quot;Zoom out (Ctrl + 'scroll down') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</del><ins>+            INFO(&quot;Zoom out (Ctrl + 'scroll down') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -330,7 +327,7 @@
</span><span class="cx">     Browser_Window *window = (Browser_Window *)user_data;
</span><span class="cx"> 
</span><span class="cx">     if (!window) {
</span><del>-        info(&quot;ERROR: window is NULL.&quot;);
</del><ins>+        ERROR(&quot;Window is NULL.&quot;);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -481,21 +478,21 @@
</span><span class="cx">         Eina_Strbuf *fileNameWithMht = eina_strbuf_new();
</span><span class="cx">         eina_strbuf_append_printf(fileNameWithMht, &quot;%s.mht&quot;, fileName);
</span><span class="cx">         ef = eet_open(eina_strbuf_string_get(fileNameWithMht), EET_FILE_MODE_WRITE);
</span><del>-        info(&quot;Saving file to: %s&quot;, eina_strbuf_string_get(fileNameWithMht));
</del><ins>+        INFO(&quot;Saving file to: %s&quot;, eina_strbuf_string_get(fileNameWithMht));
</ins><span class="cx">         eina_strbuf_free(fileNameWithMht);
</span><span class="cx">     } else {
</span><span class="cx">         ef = eet_open(fileName, EET_FILE_MODE_WRITE);
</span><del>-        info(&quot;Saving file to: %s&quot;, fileName);
</del><ins>+        INFO(&quot;Saving file to: %s&quot;, fileName);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!ef) {
</span><del>-        info(&quot;ERROR: Could not create File&quot;);
</del><ins>+        ERROR(&quot;Could not create File&quot;);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     eet_write(ef, &quot;MHTML data&quot;, data, strlen(data), 0 /* compress */);
</span><span class="cx">     eet_close(ef);
</span><del>-    info(&quot;SUCCESS: saved.&quot;);
</del><ins>+    INFO(&quot;SUCCESS: saved.&quot;);
</ins><span class="cx"> 
</span><span class="cx">     eina_stringshare_del(fileName);
</span><span class="cx"> }
</span><span class="lines">@@ -509,7 +506,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (return_value) {
</span><span class="cx">         eina_strbuf_append(text_buffer, return_value);
</span><del>-        info(&quot;selected text is: %s&quot;, eina_strbuf_string_get(text_buffer));
</del><ins>+        INFO(&quot;selected text is: %s&quot;, eina_strbuf_string_get(text_buffer));
</ins><span class="cx">         elm_entry_entry_set(window-&gt;search.search_field, eina_strbuf_string_get(text_buffer));   
</span><span class="cx">     }
</span><span class="cx">     eina_strbuf_free(text_buffer);
</span><span class="lines">@@ -534,50 +531,50 @@
</span><span class="cx">     Eina_Bool shiftPressed = evas_key_modifier_is_set(mod, &quot;Shift&quot;);
</span><span class="cx"> 
</span><span class="cx">     if (!strcmp(ev-&gt;key, &quot;Left&quot;) &amp;&amp; altPressed) {
</span><del>-        info(&quot;Back (Alt+Left) was pressed&quot;);
</del><ins>+        INFO(&quot;Back (Alt+Left) was pressed&quot;);
</ins><span class="cx">         if (!ewk_view_back(ewk_view))
</span><del>-            info(&quot;Back ignored: No back history&quot;);
</del><ins>+            INFO(&quot;Back ignored: No back history&quot;);
</ins><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;Right&quot;) &amp;&amp; altPressed) {
</span><del>-        info(&quot;Forward (Alt+Right) was pressed&quot;);
</del><ins>+        INFO(&quot;Forward (Alt+Right) was pressed&quot;);
</ins><span class="cx">         if (!ewk_view_forward(ewk_view))
</span><del>-            info(&quot;Forward ignored: No forward history&quot;);
</del><ins>+            INFO(&quot;Forward ignored: No forward history&quot;);
</ins><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;Home&quot;) &amp;&amp; altPressed) {
</span><del>-        info(&quot;Home (Alt+Home) was pressed&quot;);
</del><ins>+        INFO(&quot;Home (Alt+Home) was pressed&quot;);
</ins><span class="cx">         ewk_view_url_set(window-&gt;ewk_view, DEFAULT_URL);
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;F3&quot;)) {
</span><span class="cx">         currentEncoding = (currentEncoding + 1) % (sizeof(encodings) / sizeof(encodings[0]));
</span><del>-        info(&quot;Set encoding (F3) pressed. New encoding to %s&quot;, encodings[currentEncoding]);
</del><ins>+        INFO(&quot;Set encoding (F3) pressed. New encoding to %s&quot;, encodings[currentEncoding]);
</ins><span class="cx">         ewk_view_custom_encoding_set(ewk_view, encodings[currentEncoding]);
</span><span class="cx">     } else if ((!strcmp(ev-&gt;key, &quot;F5&quot;) &amp;&amp; ctrlPressed) || (!strcmp(ev-&gt;key, &quot;r&quot;) &amp;&amp; (shiftPressed &amp; ctrlPressed))) {
</span><del>-        info(&quot;Reload ignoring cache (Ctrl+F5 or Ctrl+Shift+r) was pressed, reloading and bypassing cache...&quot;);
</del><ins>+        INFO(&quot;Reload ignoring cache (Ctrl+F5 or Ctrl+Shift+r) was pressed, reloading and bypassing cache...&quot;);
</ins><span class="cx">         ewk_view_reload_bypass_cache(ewk_view);
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;F5&quot;) || (!strcmp(ev-&gt;key, &quot;r&quot;) &amp;&amp; ctrlPressed)) {
</span><del>-        info(&quot;Reload (F5 or Ctrl+r) was pressed, reloading...&quot;);
</del><ins>+        INFO(&quot;Reload (F5 or Ctrl+r) was pressed, reloading...&quot;);
</ins><span class="cx">         ewk_view_reload(ewk_view);
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;F6&quot;)) {
</span><del>-        info(&quot;Stop (F6) was pressed, stop loading.&quot;);
</del><ins>+        INFO(&quot;Stop (F6) was pressed, stop loading.&quot;);
</ins><span class="cx">         ewk_view_stop(ewk_view);
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;F7&quot;)) {
</span><span class="cx">         Ewk_Pagination_Mode mode =  ewk_view_pagination_mode_get(ewk_view);
</span><span class="cx">         mode = (++mode) % (EWK_PAGINATION_MODE_BOTTOM_TO_TOP + 1);
</span><span class="cx">         if (ewk_view_pagination_mode_set(ewk_view, mode))
</span><del>-            info(&quot;Change Pagination Mode (F7) was pressed, changed to: %d&quot;, mode);
</del><ins>+            INFO(&quot;Change Pagination Mode (F7) was pressed, changed to: %d&quot;, mode);
</ins><span class="cx">         else
</span><del>-            info(&quot;Change Pagination Mode (F7) was pressed, but NOT changed!&quot;);
</del><ins>+            INFO(&quot;Change Pagination Mode (F7) was pressed, but NOT changed!&quot;);
</ins><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;F11&quot;)) {
</span><del>-        info(&quot;Fullscreen (F11) was pressed, toggling window/fullscreen.&quot;);
</del><ins>+        INFO(&quot;Fullscreen (F11) was pressed, toggling window/fullscreen.&quot;);
</ins><span class="cx">         elm_win_fullscreen_set(window-&gt;elm_window, !elm_win_fullscreen_get(window-&gt;elm_window));
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;n&quot;) &amp;&amp; ctrlPressed) {
</span><del>-        info(&quot;Create new window (Ctrl+n) was pressed.&quot;);
</del><ins>+        INFO(&quot;Create new window (Ctrl+n) was pressed.&quot;);
</ins><span class="cx">         Browser_Window *window = window_create(NULL, 0, 0);
</span><span class="cx">         ewk_view_url_set(window-&gt;ewk_view, DEFAULT_URL);
</span><span class="cx">         // 0 equals default width and height.
</span><span class="cx">         windows = eina_list_append(windows, window);
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;i&quot;) &amp;&amp; ctrlPressed) {
</span><del>-        info(&quot;Show Inspector (Ctrl+i) was pressed.&quot;);
</del><ins>+        INFO(&quot;Show Inspector (Ctrl+i) was pressed.&quot;);
</ins><span class="cx">         ewk_view_inspector_show(ewk_view);
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;f&quot;) &amp;&amp; ctrlPressed) {
</span><del>-        info(&quot;Show Search Box (Ctrl+f) was pressed.&quot;);
</del><ins>+        INFO(&quot;Show Search Box (Ctrl+f) was pressed.&quot;);
</ins><span class="cx">         const char get_data_script[] = &quot;window.getSelection().toString();&quot;;
</span><span class="cx">         ewk_view_script_execute(ewk_view, get_data_script, script_execute_callback, (void*)(window));
</span><span class="cx">     } else if (!strcmp(ev-&gt;key, &quot;Escape&quot;)) {
</span><span class="lines">@@ -592,21 +589,21 @@
</span><span class="cx">     } else if (ctrlPressed &amp;&amp; (!strcmp(ev-&gt;key, &quot;minus&quot;) || !strcmp(ev-&gt;key, &quot;KP_Subtract&quot;))) {
</span><span class="cx">         if (zoom_level_set(ewk_view, window-&gt;current_zoom_level - 1))
</span><span class="cx">             window-&gt;current_zoom_level--;
</span><del>-        info(&quot;Zoom out (Ctrl + '-') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</del><ins>+        INFO(&quot;Zoom out (Ctrl + '-') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</ins><span class="cx">     } else if (ctrlPressed &amp;&amp; (!strcmp(ev-&gt;key, &quot;equal&quot;) || !strcmp(ev-&gt;key, &quot;KP_Add&quot;))) {
</span><span class="cx">         if (zoom_level_set(ewk_view, window-&gt;current_zoom_level + 1))
</span><span class="cx">             window-&gt;current_zoom_level++;
</span><del>-        info(&quot;Zoom in (Ctrl + '+') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</del><ins>+        INFO(&quot;Zoom in (Ctrl + '+') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</ins><span class="cx">     } else if (ctrlPressed &amp;&amp; !strcmp(ev-&gt;key, &quot;0&quot;)) {
</span><span class="cx">         if (zoom_level_set(ewk_view, DEFAULT_ZOOM_LEVEL))
</span><span class="cx">             window-&gt;current_zoom_level = DEFAULT_ZOOM_LEVEL;
</span><del>-        info(&quot;Zoom to default (Ctrl + '0') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</del><ins>+        INFO(&quot;Zoom to default (Ctrl + '0') was pressed, zoom level became %.2f&quot;, zoomLevels[window-&gt;current_zoom_level]);
</ins><span class="cx">     } else if (ctrlPressed &amp;&amp; !strcmp(ev-&gt;key, &quot;s&quot;)) {
</span><span class="cx">         Eina_Strbuf *default_file = eina_strbuf_new();
</span><span class="cx">         const char *home_path = getenv(&quot;HOME&quot;);
</span><span class="cx">         const char *title = ewk_view_title_get(window-&gt;ewk_view);
</span><span class="cx">         eina_strbuf_append_printf(default_file, &quot;%s/%s.mht&quot;, home_path ? home_path : &quot;/home&quot;, title ? title : &quot;title&quot;);
</span><del>-        info(&quot;Pressed (CTRL + S) : Saving Current Page.&quot;);
</del><ins>+        INFO(&quot;Pressed (CTRL + S) : Saving Current Page.&quot;);
</ins><span class="cx">         Eina_Stringshare *save_file_name = show_file_entry_dialog(window, &quot;SAVE&quot;, eina_strbuf_string_get(default_file));
</span><span class="cx">         if (!save_file_name)
</span><span class="cx">             return;
</span><span class="lines">@@ -619,7 +616,7 @@
</span><span class="cx">             return;
</span><span class="cx">         Eina_Strbuf *uri_path = eina_strbuf_new();
</span><span class="cx">         eina_strbuf_append_printf(uri_path, &quot;file://%s&quot;, open_file_name);
</span><del>-        info(&quot;pressed (CTRL + L) : Loading Page %s&quot;, eina_strbuf_string_get(uri_path));
</del><ins>+        INFO(&quot;pressed (CTRL + L) : Loading Page %s&quot;, eina_strbuf_string_get(uri_path));
</ins><span class="cx">         ewk_view_url_set(ewk_view, eina_strbuf_string_get(uri_path));
</span><span class="cx">         eina_strbuf_free(uri_path);
</span><span class="cx">         eina_stringshare_del(open_file_name);
</span><span class="lines">@@ -759,14 +756,14 @@
</span><span class="cx">         char *url = NULL;
</span><span class="cx">         url = eina_strbuf_string_steal(destination_path);
</span><span class="cx">         if (mkstemp(url) == -1) {
</span><del>-            info(&quot;ERROR: Could not generate a unique file name.&quot;);
</del><ins>+            ERROR(&quot;Could not generate a unique file name.&quot;);
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         eina_strbuf_append(destination_path, url);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ewk_download_job_destination_set(download, eina_strbuf_string_get(destination_path));
</span><del>-    info(&quot;Downloading: %s&quot;, eina_strbuf_string_get(destination_path));
</del><ins>+    INFO(&quot;Downloading: %s&quot;, eina_strbuf_string_get(destination_path));
</ins><span class="cx">     eina_strbuf_free(destination_path);
</span><span class="cx">     eina_stringshare_del(save_file_path);
</span><span class="cx"> }
</span><span class="lines">@@ -848,13 +845,13 @@
</span><span class="cx"> on_download_finished(void *user_data, Evas_Object *ewk_view, void *event_info)
</span><span class="cx"> {
</span><span class="cx">     Ewk_Download_Job *download = (Ewk_Download_Job *)event_info;
</span><del>-    info(&quot;Download finished: %s&quot;,  ewk_download_job_destination_get(download));
</del><ins>+    INFO(&quot;Download finished: %s&quot;,  ewk_download_job_destination_get(download));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void
</span><span class="cx"> on_download_failed(void *user_data, Evas_Object *ewk_view, void *event_info)
</span><span class="cx"> {
</span><del>-    info(&quot;Download failed!&quot;);
</del><ins>+    INFO(&quot;Download failed!&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void
</span><span class="lines">@@ -987,12 +984,13 @@
</span><span class="cx"> static int
</span><span class="cx"> quit(Eina_Bool success, const char *msg)
</span><span class="cx"> {
</span><ins>+    if (msg)
+        success ? INFO(msg) : ERROR(msg);
+
+    eina_log_domain_unregister(_log_domain_id);
</ins><span class="cx">     ewk_shutdown();
</span><span class="cx">     elm_shutdown();
</span><span class="cx"> 
</span><del>-    if (msg)
-        fputs(msg, (success) ? stdout : stderr);
-
</del><span class="cx">     if (!success)
</span><span class="cx">         return EXIT_FAILURE;
</span><span class="cx"> 
</span><span class="lines">@@ -1181,10 +1179,10 @@
</span><span class="cx">     Evas *evas = evas_object_evas_get(refresh_button);
</span><span class="cx">     Eina_Bool ctrlPressed = evas_key_modifier_is_set(evas_key_modifier_get(evas), &quot;Control&quot;);
</span><span class="cx">     if (ctrlPressed) {
</span><del>-        info(&quot;Reloading and bypassing cache...&quot;);
</del><ins>+        INFO(&quot;Reloading and bypassing cache...&quot;);
</ins><span class="cx">         ewk_view_reload_bypass_cache(window-&gt;ewk_view);
</span><span class="cx">     } else {
</span><del>-        info(&quot;Reloading...&quot;);
</del><ins>+        INFO(&quot;Reloading...&quot;);
</ins><span class="cx">         ewk_view_reload(window-&gt;ewk_view);
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -1194,7 +1192,7 @@
</span><span class="cx"> {
</span><span class="cx">     Browser_Window *window = (Browser_Window *)user_data;
</span><span class="cx"> 
</span><del>-    info(&quot;Stop was Pressed. Aborting load...&quot;);
</del><ins>+    INFO(&quot;Stop was Pressed. Aborting load...&quot;);
</ins><span class="cx">     ewk_view_stop(window-&gt;ewk_view);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1254,11 +1252,11 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     item_count = eina_list_count(window-&gt;history.history_list_items);
</span><del>-    info(&quot;navigation_button_longpress_process : Item count = %d forward_navigation_enabled = %d&quot;, item_count, forward_navigation_enabled);
</del><ins>+    INFO(&quot;navigation_button_longpress_process : Item count = %d forward_navigation_enabled = %d&quot;, item_count, forward_navigation_enabled);
</ins><span class="cx"> 
</span><span class="cx">     EINA_LIST_FOREACH(window-&gt;history.history_list_items, l, data) {
</span><span class="cx">         title = ewk_back_forward_list_item_title_get(data);
</span><del>-        info(&quot; title = %s&quot;, title);
</del><ins>+        INFO(&quot; title = %s&quot;, title);
</ins><span class="cx">         elm_genlist_item_append(window-&gt;history.history_list, list_item, (void *)(title), NULL, ELM_GENLIST_ITEM_NONE, on_list_item_select, data);
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -1495,7 +1493,7 @@
</span><span class="cx">     Browser_Window *window = (Browser_Window *)user_data;
</span><span class="cx">     Elm_Object_Item *item = (Elm_Object_Item *)event_info;
</span><span class="cx"> 
</span><del>-    info(&quot;Selected popup menu index: %u&quot;, elm_menu_item_index_get(item));
</del><ins>+    INFO(&quot;Selected popup menu index: %u&quot;, elm_menu_item_index_get(item));
</ins><span class="cx">     ewk_popup_menu_selected_index_set(window-&gt;popup.ewk_menu, elm_menu_item_index_get(item));
</span><span class="cx"> 
</span><span class="cx">     // Close popup menu.
</span><span class="lines">@@ -1529,7 +1527,7 @@
</span><span class="cx">             }
</span><span class="cx">             break;
</span><span class="cx">         default:
</span><del>-            info(&quot;Unrecognized popup menu item type!&quot;);
</del><ins>+            INFO(&quot;Unrecognized popup menu item type!&quot;);
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -1548,7 +1546,7 @@
</span><span class="cx"> 
</span><span class="cx">     popup_menu_populate(window-&gt;popup.elm_menu, ewk_menu, window);
</span><span class="cx"> 
</span><del>-    info(&quot;Showing popup menu at (%d, %d)&quot;, rect.x, rect.y);
</del><ins>+    INFO(&quot;Showing popup menu at (%d, %d)&quot;, rect.x, rect.y);
</ins><span class="cx">     elm_menu_move(window-&gt;popup.elm_menu, rect.x, rect.y);
</span><span class="cx">     evas_object_show(window-&gt;popup.elm_menu);
</span><span class="cx"> 
</span><span class="lines">@@ -1680,7 +1678,7 @@
</span><span class="cx"> 
</span><span class="cx">     windows = eina_list_append(windows, window);
</span><span class="cx"> 
</span><del>-    info(&quot;minibrowser: location(%d,%d) size=(%d,%d)&quot;, x, y, width, height);
</del><ins>+    INFO(&quot;minibrowser: location(%d,%d) size=(%d,%d)&quot;, x, y, width, height);
</ins><span class="cx"> 
</span><span class="cx">     return new_view;
</span><span class="cx"> }
</span><span class="lines">@@ -1696,12 +1694,12 @@
</span><span class="cx"> context_menu_item_selected_cb(void *data, Evas_Object *obj, void *event_info)
</span><span class="cx"> {
</span><span class="cx">     if (!data) {
</span><del>-        info(&quot;ERROR: context menu callback data is NULL.&quot;);
</del><ins>+        ERROR(&quot;Context menu callback data is NULL.&quot;);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Ewk_Context_Menu_Item *ewk_item = (Ewk_Context_Menu_Item *)data;
</span><del>-    info(&quot;Selected context menu item: %s.&quot;, ewk_context_menu_item_title_get(ewk_item));
</del><ins>+    INFO(&quot;Selected context menu item: %s.&quot;, ewk_context_menu_item_title_get(ewk_item));
</ins><span class="cx">     ewk_context_menu_item_select(ewk_context_menu_item_parent_menu_get(ewk_item), ewk_item);
</span><span class="cx">     ewk_context_menu_hide(ewk_context_menu_item_parent_menu_get(ewk_item));
</span><span class="cx"> }
</span><span class="lines">@@ -1710,7 +1708,7 @@
</span><span class="cx"> context_menu_populate(Evas_Object* context_menu, Ewk_Context_Menu *ewk_menu, Elm_Object_Item *parent_item)
</span><span class="cx"> {
</span><span class="cx">     if (!context_menu || !ewk_menu) {
</span><del>-        info(&quot;ERROR: necessary objects are NULL.&quot;);
</del><ins>+        ERROR(&quot;Necessary objects are NULL.&quot;);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1752,14 +1750,14 @@
</span><span class="cx">     Browser_Window *window = window_find_with_ewk_view(sd-&gt;self);
</span><span class="cx"> 
</span><span class="cx">     if (!window || !menu) {
</span><del>-        info(&quot;ERROR: necessary objects are NULL.&quot;);
</del><ins>+        ERROR(&quot;Necessary objects are NULL.&quot;);
</ins><span class="cx">         return EINA_FALSE;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     window-&gt;context_menu.elm_menu = elm_menu_add(window-&gt;elm_window);
</span><span class="cx"> 
</span><span class="cx">     if (!window-&gt;context_menu.elm_menu) {
</span><del>-        info(&quot;ERROR: could not create menu widget.&quot;);
</del><ins>+        ERROR(&quot;Could not create menu widget.&quot;);
</ins><span class="cx">         return EINA_FALSE;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1767,7 +1765,7 @@
</span><span class="cx"> 
</span><span class="cx">     context_menu_populate(window-&gt;context_menu.elm_menu, menu, NULL);
</span><span class="cx"> 
</span><del>-    info(&quot;Showing context menu at (%d, %d).&quot;, x, y);
</del><ins>+    INFO(&quot;Showing context menu at (%d, %d).&quot;, x, y);
</ins><span class="cx">     elm_menu_move(window-&gt;context_menu.elm_menu, x, y);
</span><span class="cx">     evas_object_show(window-&gt;context_menu.elm_menu);
</span><span class="cx"> 
</span><span class="lines">@@ -1780,7 +1778,7 @@
</span><span class="cx">     Browser_Window *window = window_find_with_ewk_view(sd-&gt;self);
</span><span class="cx"> 
</span><span class="cx">     if (!window || !window-&gt;context_menu.elm_menu) {
</span><del>-        info(&quot;ERROR: necessary objects are NULL.&quot;);
</del><ins>+        ERROR(&quot;Necessary objects are NULL.&quot;);
</ins><span class="cx">         return EINA_FALSE;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1969,7 +1967,7 @@
</span><span class="cx">         Browser_Window *window = window_create(NULL, 0, 0);
</span><span class="cx">         ewk_view_url_set(window-&gt;ewk_view, ewk_url_request_url_get(ewk_navigation_policy_request_get(decision)));
</span><span class="cx">         windows = eina_list_append(windows, window);
</span><del>-        info(&quot;Mouse middle button pressed, open link in new window&quot;);
</del><ins>+        INFO(&quot;Mouse middle button pressed, open link in new window&quot;);
</ins><span class="cx"> 
</span><span class="cx">         ewk_navigation_policy_decision_reject(decision); 
</span><span class="cx">     }
</span><span class="lines">@@ -2009,7 +2007,7 @@
</span><span class="cx"> {
</span><span class="cx">     Browser_Window *window = calloc(1, sizeof(Browser_Window));
</span><span class="cx">     if (!window) {
</span><del>-        info(&quot;ERROR: could not create browser window.&quot;);
</del><ins>+        ERROR(&quot;Could not create browser window.&quot;);
</ins><span class="cx">         return NULL;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2254,7 +2252,7 @@
</span><span class="cx">     ewk_settings_encoding_detector_enabled_set(settings, encoding_detector_enabled);
</span><span class="cx">     ewk_settings_frame_flattening_enabled_set(settings, frame_flattening_enabled);
</span><span class="cx">     ewk_settings_local_storage_enabled_set(settings, local_storage_enabled);
</span><del>-    info(&quot;HTML5 local storage is %s for this view.&quot;, local_storage_enabled ? &quot;enabled&quot; : &quot;disabled&quot;);
</del><ins>+    INFO(&quot;HTML5 local storage is %s for this view.&quot;, local_storage_enabled ? &quot;enabled&quot; : &quot;disabled&quot;);
</ins><span class="cx">     elm_win_fullscreen_set(window-&gt;elm_window, fullscreen_enabled);
</span><span class="cx">     ewk_settings_developer_extras_enabled_set(settings, EINA_TRUE);
</span><span class="cx">     ewk_settings_preferred_minimum_contents_width_set(settings, 0);
</span><span class="lines">@@ -2313,7 +2311,7 @@
</span><span class="cx">     if (!strcmp(input_string, &quot;never&quot;))
</span><span class="cx">         return EWK_COOKIE_ACCEPT_POLICY_NEVER;
</span><span class="cx">     if (strcmp(input_string, &quot;no-third-party&quot;))
</span><del>-        info(&quot;Unrecognized type for cookies policy: %s.&quot;, input_string);
</del><ins>+        INFO(&quot;Unrecognized type for cookies policy: %s.&quot;, input_string);
</ins><span class="cx">     return EWK_COOKIE_ACCEPT_POLICY_NO_THIRD_PARTY;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2378,13 +2376,15 @@
</span><span class="cx">     if (!ewk_init())
</span><span class="cx">         return EXIT_FAILURE;
</span><span class="cx"> 
</span><ins>+    _log_domain_id = eina_log_domain_register(&quot;minibrowser&quot;, EINA_COLOR_YELLOW);
+
</ins><span class="cx">     ewk_view_smart_class_set(miniBrowserViewSmartClass());
</span><span class="cx"> 
</span><span class="cx">     ecore_app_args_set(argc, (const char **) argv);
</span><span class="cx">     args = ecore_getopt_parse(&amp;options, values, argc, argv);
</span><span class="cx"> 
</span><span class="cx">     if (args &lt; 0)
</span><del>-        return quit(EINA_FALSE, &quot;ERROR: could not parse options.\n&quot;);
</del><ins>+        return quit(EINA_FALSE, &quot;Could not parse options.&quot;);
</ins><span class="cx"> 
</span><span class="cx">     if (quitOption)
</span><span class="cx">         return quit(EINA_TRUE, NULL);
</span><span class="lines">@@ -2424,7 +2424,7 @@
</span><span class="cx"> 
</span><span class="cx">     window = window_create(NULL, 0, 0);
</span><span class="cx">     if (!window)
</span><del>-        return quit(EINA_FALSE, &quot;ERROR: could not create browser window.\n&quot;);
</del><ins>+        return quit(EINA_FALSE, &quot;Could not create browser window.&quot;);
</ins><span class="cx"> 
</span><span class="cx">     if (args &lt; argc) {
</span><span class="cx">         char *url = url_from_user_input(argv[args]);
</span></span></pre>
</div>
</div>

</body>
</html>