Title: [175049] trunk/Tools
Revision
175049
Author
commit-qu...@webkit.org
Date
2014-10-22 08:09:43 -0700 (Wed, 22 Oct 2014)

Log Message

[EFL][WK2] Minibrowser : Add support for mouse middle button to open links in new window
https://bugs.webkit.org/show_bug.cgi?id=136736

Patch by Rohit Kumar <kumar.ro...@samsung.com> on 2014-10-22
Reviewed by Gyuyoung Kim.

* MiniBrowser/efl/main.c:
(on_navigation_policy_decision): Check whether it's a link clicked with the middle mouse button and load the request in a new window.
(window_create):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (175048 => 175049)


--- trunk/Tools/ChangeLog	2014-10-22 14:59:00 UTC (rev 175048)
+++ trunk/Tools/ChangeLog	2014-10-22 15:09:43 UTC (rev 175049)
@@ -1,3 +1,14 @@
+2014-10-22  Rohit Kumar  <kumar.ro...@samsung.com>
+
+        [EFL][WK2] Minibrowser : Add support for mouse middle button to open links in new window
+        https://bugs.webkit.org/show_bug.cgi?id=136736
+
+        Reviewed by Gyuyoung Kim.
+
+        * MiniBrowser/efl/main.c:
+        (on_navigation_policy_decision): Check whether it's a link clicked with the middle mouse button and load the request in a new window.
+        (window_create):
+
 2014-10-22  Carlos Garcia Campos  <cgar...@igalia.com>
 
         [GTK] Move GtkInputMethodFilter from Platform to WebKit2

Modified: trunk/Tools/MiniBrowser/efl/main.c (175048 => 175049)


--- trunk/Tools/MiniBrowser/efl/main.c	2014-10-22 14:59:00 UTC (rev 175048)
+++ trunk/Tools/MiniBrowser/efl/main.c	2014-10-22 15:09:43 UTC (rev 175049)
@@ -1961,6 +1961,21 @@
 }
 
 static void
+on_navigation_policy_decision(void *user_data, Evas_Object *obj, void *event_info)
+{
+    Ewk_Navigation_Policy_Decision *decision = (Ewk_Navigation_Policy_Decision *)event_info;
+
+    if (ewk_navigation_policy_mouse_button_get(decision) == EWK_EVENT_MOUSE_BUTTON_MIDDLE) {
+        Browser_Window *window = window_create(NULL, 0, 0);
+        ewk_view_url_set(window->ewk_view, ewk_url_request_url_get(ewk_navigation_policy_request_get(decision)));
+        windows = eina_list_append(windows, window);
+        info("Mouse middle button pressed, open link in new window");
+
+        ewk_navigation_policy_decision_reject(decision); 
+    }
+}
+
+static void
 on_home_button_clicked(void *user_data, Evas_Object *home_button, void *event_info)
 {
     Browser_Window *window = (Browser_Window *)user_data;
@@ -2260,6 +2275,7 @@
     evas_object_smart_callback_add(window->ewk_view, "text,found", on_search_text_found, window);
     evas_object_smart_callback_add(window->ewk_view, "tooltip,text,set", on_tooltip_text_set, window);
     evas_object_smart_callback_add(window->ewk_view, "tooltip,text,unset", on_tooltip_text_unset, window);
+    evas_object_smart_callback_add(window->ewk_view, "policy,decision,navigation", on_navigation_policy_decision, window);
 
     evas_object_event_callback_add(window->ewk_view, EVAS_CALLBACK_KEY_DOWN, on_key_down, window);
     evas_object_event_callback_add(window->ewk_view, EVAS_CALLBACK_MOUSE_DOWN, on_mouse_down, window);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to