Changeset 143444 in webkit
- Timestamp:
- Feb 20, 2013 3:08:29 AM (11 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r143428 r143444 1 2013-02-20 Christophe Dumez <ch.dumez@sisa.samsung.com> 2 3 [EFL][WK2] Port EwkPopupMenuItem to the C API 4 https://bugs.webkit.org/show_bug.cgi?id=108798 5 6 Reviewed by Kenneth Rohde Christiansen. 7 8 Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove 9 dependency on internal WebPopupItem type. Eina shared string members 10 are now lazily initialized to make the object cheaper to construct. 11 12 * UIProcess/API/efl/ewk_popup_menu.cpp: 13 (EwkPopupMenu::EwkPopupMenu): 14 * UIProcess/API/efl/ewk_popup_menu_item.cpp: 15 (EwkPopupMenuItem::EwkPopupMenuItem): 16 (EwkPopupMenuItem::type): 17 (EwkPopupMenuItem::textDirection): 18 (EwkPopupMenuItem::text): 19 (EwkPopupMenuItem::tooltipText): 20 (EwkPopupMenuItem::accessibilityText): 21 (EwkPopupMenuItem::hasTextDirectionOverride): 22 (EwkPopupMenuItem::isEnabled): 23 (EwkPopupMenuItem::isLabel): 24 (EwkPopupMenuItem::isSelected): 25 * UIProcess/API/efl/ewk_popup_menu_item_private.h: 26 (EwkPopupMenuItem::create): 27 (EwkPopupMenuItem): 28 1 29 2013-02-19 Tim Horton <timothy_horton@apple.com> 2 30 -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu.cpp
r143275 r143444 32 32 #include "WKArray.h" 33 33 #include "WKPopupMenuListener.h" 34 #include "WebPopupItemEfl.h"35 34 #include "ewk_popup_menu_item_private.h" 36 35 #include "ewk_popup_menu_private.h" 37 38 using namespace WebKit;39 36 40 37 EwkPopupMenu::EwkPopupMenu(EwkView* view, WKPopupMenuListenerRef popupMenuListener, WKArrayRef items, unsigned selectedIndex) … … 47 44 for (size_t i = 0; i < size; ++i) { 48 45 WKPopupItemRef wkItem = static_cast<WKPopupItemRef>(WKArrayGetItemAtIndex(items, i)); 49 // FIXME: Remove EwkPopupMenuItem dependency on WebPopupItem. 50 m_popupMenuItems = eina_list_append(m_popupMenuItems, EwkPopupMenuItem::create(toImpl(wkItem)->data()).leakPtr()); 46 m_popupMenuItems = eina_list_append(m_popupMenuItems, EwkPopupMenuItem::create(wkItem).leakPtr()); 51 47 } 52 48 } -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp
r135117 r143444 27 27 #include "ewk_popup_menu_item.h" 28 28 29 #include "WKPopupItem.h" 29 30 #include "ewk_popup_menu_item_private.h" 30 31 #include "ewk_private.h" 31 #include <wtf/text/CString.h>32 32 33 using namespace WebKit; 33 EwkPopupMenuItem::EwkPopupMenuItem(WKPopupItemRef item) 34 : m_wkItem(item) 35 { } 34 36 35 EwkPopupMenuItem::EwkPopupMenuItem(const WebKit::WebPopupItem& item) 36 : m_type(static_cast<Ewk_Popup_Menu_Item_Type>(item.m_type)) 37 , m_textDirection(static_cast<Ewk_Text_Direction>(item.m_textDirection)) 38 , m_hasTextDirectionOverride(item.m_hasTextDirectionOverride) 39 , m_isEnabled(item.m_isEnabled) 40 , m_isLabel(item.m_isLabel) 41 , m_isSelected(item.m_isSelected) 42 , m_text(item.m_text.utf8().data()) 43 , m_tooltipText(item.m_toolTip.utf8().data()) 44 , m_accessibilityText(item.m_accessibilityText.utf8().data()) 45 { } 37 COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_SEPARATOR, kWKPopupItemTypeSeparator); 38 COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_ITEM, kWKPopupItemTypeItem); 46 39 47 40 Ewk_Popup_Menu_Item_Type EwkPopupMenuItem::type() const 48 41 { 49 return m_type;42 return static_cast<Ewk_Popup_Menu_Item_Type>(WKPopupItemGetType(m_wkItem.get())); 50 43 } 51 44 52 45 Ewk_Text_Direction EwkPopupMenuItem::textDirection() const 53 46 { 54 return m_textDirection;47 return static_cast<Ewk_Text_Direction>(WKPopupItemGetTextDirection(m_wkItem.get())); 55 48 } 56 49 57 50 const char* EwkPopupMenuItem::text() const 58 51 { 52 if (!m_text) 53 m_text = WKEinaSharedString(AdoptWK, WKPopupItemCopyText(m_wkItem.get())); 54 59 55 return m_text; 60 56 } … … 62 58 const char* EwkPopupMenuItem::tooltipText() const 63 59 { 60 if (!m_tooltipText) 61 m_tooltipText = WKEinaSharedString(AdoptWK, WKPopupItemCopyToolTipText(m_wkItem.get())); 62 64 63 return m_tooltipText; 65 64 } … … 67 66 const char* EwkPopupMenuItem::accessibilityText() const 68 67 { 68 if (!m_accessibilityText) 69 m_accessibilityText = WKEinaSharedString(AdoptWK, WKPopupItemCopyAccessibilityText(m_wkItem.get())); 70 69 71 return m_accessibilityText; 70 72 } … … 72 74 bool EwkPopupMenuItem::hasTextDirectionOverride() const 73 75 { 74 return m_hasTextDirectionOverride;76 return WKPopupItemHasTextDirectionOverride(m_wkItem.get()); 75 77 } 76 78 77 79 bool EwkPopupMenuItem::isEnabled() const 78 80 { 79 return m_isEnabled;81 return WKPopupItemIsEnabled(m_wkItem.get()); 80 82 } 81 83 82 84 bool EwkPopupMenuItem::isLabel() const 83 85 { 84 return m_isLabel;86 return WKPopupItemIsLabel(m_wkItem.get()); 85 87 } 86 88 87 89 bool EwkPopupMenuItem::isSelected() const 88 90 { 89 return m_isSelected;91 return WKPopupItemIsSelected(m_wkItem.get()); 90 92 } 91 92 COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_SEPARATOR, WebPopupItem::Separator);93 COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_ITEM, WebPopupItem::Item);94 93 95 94 Ewk_Popup_Menu_Item_Type ewk_popup_menu_item_type_get(const Ewk_Popup_Menu_Item* item) -
trunk/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h
r135117 r143444 28 28 29 29 #include "WKEinaSharedString.h" 30 #include "W ebPopupItem.h"30 #include "WKRetainPtr.h" 31 31 #include "ewk_popup_menu_item.h" 32 #include <WebKit2/WKBase.h> 32 33 #include <wtf/PassOwnPtr.h> 33 34 … … 38 39 class EwkPopupMenuItem { 39 40 public: 40 static PassOwnPtr<EwkPopupMenuItem> create( const WebKit::WebPopupItem&item)41 static PassOwnPtr<EwkPopupMenuItem> create(WKPopupItemRef item) 41 42 { 42 43 return adoptPtr(new EwkPopupMenuItem(item)); … … 56 57 57 58 private: 58 explicit EwkPopupMenuItem( const WebKit::WebPopupItem&item);59 explicit EwkPopupMenuItem(WKPopupItemRef item); 59 60 60 Ewk_Popup_Menu_Item_Type m_type; 61 Ewk_Text_Direction m_textDirection; 61 WKRetainPtr<WKPopupItemRef> m_wkItem; 62 62 63 bool m_hasTextDirectionOverride; 64 bool m_isEnabled; 65 bool m_isLabel; 66 bool m_isSelected; 67 68 WKEinaSharedString m_text; 69 WKEinaSharedString m_tooltipText; 70 WKEinaSharedString m_accessibilityText; 63 // Lazily initialized. 64 mutable WKEinaSharedString m_text; 65 mutable WKEinaSharedString m_tooltipText; 66 mutable WKEinaSharedString m_accessibilityText; 71 67 }; 72 68
Note: See TracChangeset
for help on using the changeset viewer.