Title: [185405] trunk/Tools
Revision
185405
Author
[email protected]
Date
2015-06-10 00:29:36 -0700 (Wed, 10 Jun 2015)

Log Message

[EFL] Execute _javascript_ method in mini browser address bar.
https://bugs.webkit.org/show_bug.cgi?id=145725

Patch by Hyungwook Lee <[email protected]> on 2015-06-10
Reviewed by Gyuyoung Kim.

Support '_javascript_:' scheme in WebKit EFL Mini Browser.

* MiniBrowser/efl/main.c:
(url_from_user_input):
(url_load_from_user_input):
(on_url_bar_activated):
(elm_main):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (185404 => 185405)


--- trunk/Tools/ChangeLog	2015-06-10 06:26:57 UTC (rev 185404)
+++ trunk/Tools/ChangeLog	2015-06-10 07:29:36 UTC (rev 185405)
@@ -1,3 +1,18 @@
+2015-06-10  Hyungwook Lee  <[email protected]>
+
+        [EFL] Execute _javascript_ method in mini browser address bar.
+        https://bugs.webkit.org/show_bug.cgi?id=145725
+
+        Reviewed by Gyuyoung Kim.
+
+        Support '_javascript_:' scheme in WebKit EFL Mini Browser.
+
+        * MiniBrowser/efl/main.c:
+        (url_from_user_input):
+        (url_load_from_user_input):
+        (on_url_bar_activated):
+        (elm_main):
+
 2015-06-09  Hyungwook Lee  <[email protected]>
 
         Implement dumpProgressFinishedCallback() for Win layoutTestController.

Modified: trunk/Tools/MiniBrowser/efl/main.c (185404 => 185405)


--- trunk/Tools/MiniBrowser/efl/main.c	2015-06-10 06:26:57 UTC (rev 185404)
+++ trunk/Tools/MiniBrowser/efl/main.c	2015-06-10 07:29:36 UTC (rev 185405)
@@ -1038,7 +1038,7 @@
 url_from_user_input(const char *arg)
 {
     /* If it is already a URL, return the argument as is. */
-    if (has_scheme(arg) || !strcasecmp(arg, "about:blank"))
+    if (has_scheme(arg) || eina_str_has_prefix(arg, "_javascript_:") || !strcasecmp(arg, "about:blank"))
         return strdup(arg);
 
     Eina_Strbuf *buf = eina_strbuf_manage_new(eina_file_path_sanitize(arg));
@@ -1060,6 +1060,18 @@
     return url;
 }
 
+static Eina_Bool
+url_load_from_user_input(Evas_Object *ewk_view, const char *url)
+{
+    if (!ewk_view || !url)
+        return EINA_FALSE;
+
+    if (eina_str_has_prefix(url, "_javascript_:"))
+        return ewk_view_script_execute(ewk_view, strstr(url, "_javascript_:"), 0, 0);
+
+    return ewk_view_url_set(ewk_view, url);
+}
+
 static void
 on_url_bar_activated(void *user_data, Evas_Object *url_bar, void *event_info)
 {
@@ -1068,7 +1080,7 @@
     const char *markup_url = elm_entry_entry_get(url_bar);
     char *user_url = elm_entry_markup_to_utf8(markup_url);
     char *url = ""
-    ewk_view_url_set(window->ewk_view, url);
+    url_load_from_user_input(window->ewk_view, url);
 
     free(user_url);
     free(url);
@@ -2461,7 +2473,7 @@
 
     if (args < argc) {
         char *url = ""
-        ewk_view_url_set(window->ewk_view, url);
+        url_load_from_user_input(window->ewk_view, url);
         free(url);
     } else
         ewk_view_url_set(window->ewk_view, DEFAULT_URL);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to