[EFl][WK2] Sub menu items should be of EWK_SUBMENU_TYPE and not checkable
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Jun 2013 14:02:13 +0000 (14:02 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Jun 2013 14:02:13 +0000 (14:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=116959

Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-06-04
Reviewed by Gyuyoung Kim.

Currently using ewk API it is possible to create a sub menu item which is not an EWK_SUBMENU_TYPE
or set checkable flag for it, while it is not possible for items created by WebKit.
This patch changes ewk context menu API to match WebKit2 behaviour, by creating sub menus with
proper type and checkable flags.

* UIProcess/API/efl/ewk_context_menu_item.cpp:
(ewk_context_menu_item_new_with_submenu):
* UIProcess/API/efl/ewk_context_menu_item.h:
* UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
(showContextMenu):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@151168 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.cpp
Source/WebKit2/UIProcess/API/efl/ewk_context_menu_item.h
Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp

index e3d7418..dc1ddea 100644 (file)
@@ -1,5 +1,23 @@
 2013-06-04  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
 
+        [EFl][WK2] Sub menu items should be of EWK_SUBMENU_TYPE and not checkable
+        https://bugs.webkit.org/show_bug.cgi?id=116959
+
+        Reviewed by Gyuyoung Kim.
+
+        Currently using ewk API it is possible to create a sub menu item which is not an EWK_SUBMENU_TYPE
+        or set checkable flag for it, while it is not possible for items created by WebKit. 
+        This patch changes ewk context menu API to match WebKit2 behaviour, by creating sub menus with
+        proper type and checkable flags.
+
+        * UIProcess/API/efl/ewk_context_menu_item.cpp:
+        (ewk_context_menu_item_new_with_submenu):
+        * UIProcess/API/efl/ewk_context_menu_item.h:
+        * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
+        (showContextMenu):
+
+2013-06-04  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
+
         [EFL][WK2] Custom context menu items cannot be selected
         https://bugs.webkit.org/show_bug.cgi?id=116830
 
index 8c555db..5e4ca99 100644 (file)
@@ -66,11 +66,11 @@ Ewk_Context_Menu_Item* ewk_context_menu_item_new(Ewk_Context_Menu_Item_Type type
     return Ewk_Context_Menu_Item::create(type, action, title, checked, enabled).leakPtr();
 }
 
-Ewk_Context_Menu_Item* ewk_context_menu_item_new_with_submenu(Ewk_Context_Menu_Item_Type type, Ewk_Context_Menu_Item_Action action, const char* title, Eina_Bool checked, Eina_Bool enabled, Ewk_Context_Menu* subMenu)
+Ewk_Context_Menu_Item* ewk_context_menu_item_new_with_submenu(Ewk_Context_Menu_Item_Action action, const char* title, Eina_Bool enabled, Ewk_Context_Menu* subMenu)
 {
     EWK_OBJ_GET_IMPL_OR_RETURN(EwkContextMenu, subMenu, subMenuImpl, 0);
 
-    return Ewk_Context_Menu_Item::create(type, action, title, checked, enabled, subMenuImpl).leakPtr();
+    return Ewk_Context_Menu_Item::create(EWK_SUBMENU_TYPE, action, title, false, enabled, subMenuImpl).leakPtr();
 }
 
 Ewk_Context_Menu_Item_Type ewk_context_menu_item_type_get(const Ewk_Context_Menu_Item* item)
index b014cbc..6811010 100644 (file)
@@ -144,19 +144,17 @@ typedef enum {
 EAPI Ewk_Context_Menu_Item *ewk_context_menu_item_new(Ewk_Context_Menu_Item_Type type, Ewk_Context_Menu_Item_Action action, const char *title, Eina_Bool checked, Eina_Bool enabled);
 
 /**
- * Creates a new item of the context menu.
+ * Creates a new sub menu type item of the context menu.
  *
- * @param type specifies a type of the item
  * @param action specifies a action of the item
  * @param title specifies a title of the item
- * @param checked @c EINA_TRUE if the item should be toggled or @c EINA_FALSE if not
  * @param enabled @c EINA_TRUE to enable the item or @c EINA_FALSE to disable
  * @param submenu specifies a submenu of the item
  * @return the pointer to the new item
  *
  * @see ewk_context_menu_item_new
  */
-EAPI Ewk_Context_Menu_Item *ewk_context_menu_item_new_with_submenu(Ewk_Context_Menu_Item_Type type, Ewk_Context_Menu_Item_Action action, const char *title, Eina_Bool checked, Eina_Bool enabled, Ewk_Context_Menu *submenu);
+EAPI Ewk_Context_Menu_Item *ewk_context_menu_item_new_with_submenu(Ewk_Context_Menu_Item_Action action, const char *title, Eina_Bool enabled, Ewk_Context_Menu *submenu);
 
 /**
  * Gets type of the item.
index ba2c8de..761252a 100644 (file)
@@ -88,7 +88,7 @@ static Eina_Bool showContextMenu(Ewk_View_Smart_Data* smartData, Evas_Coord x, E
     // When context menu is created using ewk_context_menu_new_with_items, items should have parent menu.
     EXPECT_EQ(subMenu, ewk_context_menu_item_parent_menu_get(subMenuItem1));
 
-    Ewk_Context_Menu_Item* newItem2 = ewk_context_menu_item_new_with_submenu(EWK_SUBMENU_TYPE, EWK_CONTEXT_MENU_ITEM_TAG_OTHER, "New Custom Item 2", false, true, subMenu);
+    Ewk_Context_Menu_Item* newItem2 = ewk_context_menu_item_new_with_submenu(EWK_CONTEXT_MENU_ITEM_TAG_OTHER, "New Custom Item 2", true, subMenu);
     // When context menu item is created using ewk_context_menu_item_new_with_submenu, it should not have parent menu.
     EXPECT_EQ(0, ewk_context_menu_item_parent_menu_get(newItem));
     ewk_context_menu_item_append(contextMenu, newItem2);
@@ -100,7 +100,7 @@ static Eina_Bool showContextMenu(Ewk_View_Smart_Data* smartData, Evas_Coord x, E
     EXPECT_EQ(contextMenu, ewk_context_menu_item_parent_menu_get(newItem));
 
     Ewk_Context_Menu* subMenu2 = ewk_context_menu_new();
-    Ewk_Context_Menu_Item* newItem3 = ewk_context_menu_item_new_with_submenu(EWK_SUBMENU_TYPE, EWK_CONTEXT_MENU_ITEM_TAG_OTHER, "New Custom Item 3", false, true, subMenu2);
+    Ewk_Context_Menu_Item* newItem3 = ewk_context_menu_item_new_with_submenu(EWK_CONTEXT_MENU_ITEM_TAG_OTHER, "New Custom Item 3", true, subMenu2);
     ewk_context_menu_item_append(contextMenu, newItem3);
 
     list = ewk_context_menu_items_get(contextMenu);