Title: [130646] trunk/Tools
Revision
130646
Author
[email protected]
Date
2012-10-08 09:33:32 -0700 (Mon, 08 Oct 2012)

Log Message

[EFL][WK2] Add support for window.create in Minibrowser
https://bugs.webkit.org/show_bug.cgi?id=98649

Patch by Christophe Dumez <[email protected]> on 2012-10-08
Reviewed by Kenneth Rohde Christiansen.

Calling window.create() from _javascript_ now creates a
new window in Minibrowser, as directed.

* MiniBrowser/efl/main.c:
(on_new_window):
(window_create):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (130645 => 130646)


--- trunk/Tools/ChangeLog	2012-10-08 16:14:24 UTC (rev 130645)
+++ trunk/Tools/ChangeLog	2012-10-08 16:33:32 UTC (rev 130646)
@@ -1,3 +1,17 @@
+2012-10-08  Christophe Dumez  <[email protected]>
+
+        [EFL][WK2] Add support for window.create in Minibrowser
+        https://bugs.webkit.org/show_bug.cgi?id=98649
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Calling window.create() from _javascript_ now creates a
+        new window in Minibrowser, as directed.
+
+        * MiniBrowser/efl/main.c:
+        (on_new_window):
+        (window_create):
+
 2012-10-08  Andreas Kling  <[email protected]>
 
         Using float/double as WTF hash table key is unreliable.

Modified: trunk/Tools/MiniBrowser/efl/main.c (130645 => 130646)


--- trunk/Tools/MiniBrowser/efl/main.c	2012-10-08 16:14:24 UTC (rev 130645)
+++ trunk/Tools/MiniBrowser/efl/main.c	2012-10-08 16:33:32 UTC (rev 130646)
@@ -220,6 +220,15 @@
 }
 
 static void
+on_new_window(void *user_data, Evas_Object *webview, void *event_info)
+{
+    Evas_Object **new_view = (Evas_Object **)event_info;
+    Browser_Window *window = window_create(NULL, EINA_FALSE);
+    *new_view = window->webview;
+    windows = eina_list_append(windows, window);
+}
+
+static void
 on_progress(void *user_data, Evas_Object *webview, void *event_info)
 {
     Browser_Window *window = (Browser_Window *)user_data;
@@ -328,6 +337,7 @@
     Ewk_Settings *settings = ewk_view_settings_get(window->webview);
     ewk_settings_file_access_from_file_urls_allowed_set(settings, EINA_TRUE);
 
+    evas_object_smart_callback_add(window->webview, "create,window", on_new_window, window);
     evas_object_smart_callback_add(window->webview, "download,failed", on_download_failed, window);
     evas_object_smart_callback_add(window->webview, "download,finished", on_download_finished, window);
     evas_object_smart_callback_add(window->webview, "download,request", on_download_request, window);
@@ -347,7 +357,8 @@
 
     window->url_bar = url_bar_add(window->webview, DEFAULT_WIDTH);
 
-    ewk_view_url_set(window->webview, url);
+    if (url)
+        ewk_view_url_set(window->webview, url);
 
     return window;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to