Title: [182494] trunk/Source
Revision
182494
Author
beid...@apple.com
Date
2015-04-07 14:29:00 -0700 (Tue, 07 Apr 2015)

Log Message

ContextMenuItem refactoring
https://bugs.webkit.org/show_bug.cgi?id=143485

Reviewed by Beth Dakin.

Source/WebCore:

* platform/ContextMenuItem.h:
(WebCore::ContextMenuItem::isNull):

* platform/gtk/ContextMenuItemGtk.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):

* platform/mac/ContextMenuItemMac.mm:
(WebCore::ContextMenuItem::ContextMenuItem):
(WebCore::ContextMenuItem::platformDescription):
(WebCore::ContextMenuItem::setSubMenu):
(WebCore::ContextMenuItem::releasePlatformDescription): Deleted.
(WebCore::ContextMenuItem::getPlatformDescription): Deleted.

* platform/mac/ContextMenuMac.mm:
(WebCore::ContextMenu::appendItem):
(WebCore::ContextMenu::insertItem):
(WebCore::platformMenuDescription):

* platform/win/ContextMenuItemWin.cpp:
(WebCore::ContextMenuItem::ContextMenuItem):

Source/WebKit/mac:

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuItemSelected):

Source/WebKit2:

* Shared/mac/NativeContextMenuItem.mm:
(WebKit::NativeContextMenuItem::NativeContextMenuItem):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (182493 => 182494)


--- trunk/Source/WebCore/ChangeLog	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebCore/ChangeLog	2015-04-07 21:29:00 UTC (rev 182494)
@@ -1,3 +1,31 @@
+2015-04-07  Brady Eidson  <beid...@apple.com>
+
+        ContextMenuItem refactoring
+        https://bugs.webkit.org/show_bug.cgi?id=143485
+
+        Reviewed by Beth Dakin.
+
+        * platform/ContextMenuItem.h:
+        (WebCore::ContextMenuItem::isNull):
+
+        * platform/gtk/ContextMenuItemGtk.cpp:
+        (WebCore::ContextMenuItem::ContextMenuItem):
+
+        * platform/mac/ContextMenuItemMac.mm:
+        (WebCore::ContextMenuItem::ContextMenuItem):
+        (WebCore::ContextMenuItem::platformDescription):
+        (WebCore::ContextMenuItem::setSubMenu):
+        (WebCore::ContextMenuItem::releasePlatformDescription): Deleted.
+        (WebCore::ContextMenuItem::getPlatformDescription): Deleted.
+
+        * platform/mac/ContextMenuMac.mm:
+        (WebCore::ContextMenu::appendItem):
+        (WebCore::ContextMenu::insertItem):
+        (WebCore::platformMenuDescription):
+
+        * platform/win/ContextMenuItemWin.cpp:
+        (WebCore::ContextMenuItem::ContextMenuItem):
+
 2015-04-07  Alex Christensen  <achristen...@webkit.org>
 
         Optimize content extensions interpreting speed.

Modified: trunk/Source/WebCore/platform/ContextMenuItem.h (182493 => 182494)


--- trunk/Source/WebCore/platform/ContextMenuItem.h	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebCore/platform/ContextMenuItem.h	2015-04-07 21:29:00 UTC (rev 182494)
@@ -228,12 +228,18 @@
 #else
     public:
         WEBCORE_EXPORT explicit ContextMenuItem(PlatformMenuItemDescription);
-        explicit ContextMenuItem(ContextMenu* subMenu = 0);
+        explicit ContextMenuItem(ContextMenu* subMenu);
         ContextMenuItem(ContextMenuAction, const String&, bool enabled, bool checked, Vector<ContextMenuItem>& submenuItems);
+        ContextMenuItem();
 
+        bool isNull() const { return !m_platformDescription; }
+
+#if PLATFORM(GTK)
         WEBCORE_EXPORT PlatformMenuItemDescription releasePlatformDescription();
-        WEBCORE_EXPORT PlatformMenuItemDescription getPlatformDescription() const;
+#endif
 
+        WEBCORE_EXPORT PlatformMenuItemDescription platformDescription() const;
+
         WEBCORE_EXPORT String title() const;
         void setTitle(const String&);
 

Modified: trunk/Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp (182493 => 182494)


--- trunk/Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebCore/platform/gtk/ContextMenuItemGtk.cpp	2015-04-07 21:29:00 UTC (rev 182494)
@@ -140,6 +140,11 @@
     return item;
 }
 
+ContextMenuItem::ContextMenuItem()
+    : m_platformDescription(nullptr)
+{
+}
+
 // Extract the ActionType from the menu item
 ContextMenuItem::ContextMenuItem(PlatformMenuItemDescription item)
     : m_platformDescription(item)

Modified: trunk/Source/WebCore/platform/mac/ContextMenuItemMac.mm (182493 => 182494)


--- trunk/Source/WebCore/platform/mac/ContextMenuItemMac.mm	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebCore/platform/mac/ContextMenuItemMac.mm	2015-04-07 21:29:00 UTC (rev 182494)
@@ -43,6 +43,10 @@
     return itemsArray;
 }
 
+ContextMenuItem::ContextMenuItem()
+{
+}
+
 ContextMenuItem::ContextMenuItem(NSMenuItem* item)
 {
     m_platformDescription = item;
@@ -96,15 +100,8 @@
 {
 }
 
-NSMenuItem *ContextMenuItem::releasePlatformDescription()
+NSMenuItem *ContextMenuItem::platformDescription() const
 {
-    NSMenuItem *item = [m_platformDescription.get() retain];
-    m_platformDescription = 0;
-    return item;
-}
-
-NSMenuItem *ContextMenuItem::getPlatformDescription() const
-{
     return m_platformDescription.get();
 }
 
@@ -164,7 +161,7 @@
     NSMenu* subMenu = [[NSMenu alloc] init];
     [subMenu setAutoenablesItems:NO];
     for (unsigned i = 0; i < subMenuItems.size(); ++i)
-        [subMenu addItem:subMenuItems[i].releasePlatformDescription()];
+        [subMenu addItem:subMenuItems[i].platformDescription()];
         
     [m_platformDescription.get() setSubmenu:subMenu];
     [subMenu release];

Modified: trunk/Source/WebCore/platform/mac/ContextMenuMac.mm (182493 => 182494)


--- trunk/Source/WebCore/platform/mac/ContextMenuMac.mm	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebCore/platform/mac/ContextMenuMac.mm	2015-04-07 21:29:00 UTC (rev 182494)
@@ -48,18 +48,12 @@
 
 void ContextMenu::appendItem(ContextMenuItem& item)
 {
-    NSMenuItem* platformItem = item.releasePlatformDescription();
-
-    [m_platformDescription.get() addObject:platformItem];
-    [platformItem release];
+    [m_platformDescription.get() addObject:item.platformDescription()];
 }
 
 void ContextMenu::insertItem(unsigned position, ContextMenuItem& item)
 {
-    NSMenuItem* platformItem = item.releasePlatformDescription();
-
-    [m_platformDescription.get() insertObject:platformItem atIndex:position];
-    [platformItem release];
+    [m_platformDescription.get() insertObject:item.platformDescription() atIndex:position];
 }
 
 unsigned ContextMenu::itemCount() const
@@ -99,12 +93,9 @@
 PlatformMenuDescription platformMenuDescription(Vector<ContextMenuItem>& menuItemVector)
 {
     PlatformMenuDescription platformMenu = [[NSMutableArray alloc] initWithCapacity:menuItemVector.size()];
-    for (unsigned i = 0; i < menuItemVector.size(); ++i) {
-        PlatformMenuItemDescription platformItem = menuItemVector[i].releasePlatformDescription();
-        [platformMenu addObject:platformItem];
-        [platformItem release];
-    }
-    
+    for (unsigned i = 0; i < menuItemVector.size(); ++i)
+        [platformMenu addObject:menuItemVector[i].platformDescription()];
+
     return [platformMenu autorelease];
 }
 

Modified: trunk/Source/WebCore/platform/win/ContextMenuItemWin.cpp (182493 => 182494)


--- trunk/Source/WebCore/platform/win/ContextMenuItemWin.cpp	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebCore/platform/win/ContextMenuItemWin.cpp	2015-04-07 21:29:00 UTC (rev 182494)
@@ -30,6 +30,10 @@
 
 namespace WebCore {
 
+ContextMenuItem::ContextMenuItem()
+{
+}
+
 ContextMenuItem::ContextMenuItem(const MENUITEMINFO& info)
 {
     if (info.fMask & MIIM_FTYPE)

Modified: trunk/Source/WebKit/mac/ChangeLog (182493 => 182494)


--- trunk/Source/WebKit/mac/ChangeLog	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebKit/mac/ChangeLog	2015-04-07 21:29:00 UTC (rev 182494)
@@ -1,3 +1,13 @@
+2015-04-07  Brady Eidson  <beid...@apple.com>
+
+        ContextMenuItem refactoring
+        https://bugs.webkit.org/show_bug.cgi?id=143485
+
+        Reviewed by Beth Dakin.
+
+        * WebCoreSupport/WebContextMenuClient.mm:
+        (WebContextMenuClient::contextMenuItemSelected):
+
 2015-04-06  Chris Dumez  <cdu...@apple.com>
 
         Bing video search result pages are not PageCacheable

Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm (182493 => 182494)


--- trunk/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm	2015-04-07 21:29:00 UTC (rev 182494)
@@ -321,12 +321,10 @@
     SEL selector = @selector(webView:contextMenuItemSelected:forElement:);
     if ([delegate respondsToSelector:selector]) {
         NSDictionary *element = [[WebElementDictionary alloc] initWithHitTestResult:[m_webView page]->contextMenuController().hitTestResult()];
-        NSMenuItem *platformItem = item->releasePlatformDescription();
 
-        CallUIDelegate(m_webView, selector, platformItem, element);
+        CallUIDelegate(m_webView, selector, item->platformDescription(), element);
 
         [element release];
-        [platformItem release];
     }
 }
 

Modified: trunk/Source/WebKit2/ChangeLog (182493 => 182494)


--- trunk/Source/WebKit2/ChangeLog	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebKit2/ChangeLog	2015-04-07 21:29:00 UTC (rev 182494)
@@ -1,3 +1,13 @@
+2015-04-07  Brady Eidson  <beid...@apple.com>
+
+        ContextMenuItem refactoring
+        https://bugs.webkit.org/show_bug.cgi?id=143485
+
+        Reviewed by Beth Dakin.
+
+        * Shared/mac/NativeContextMenuItem.mm:
+        (WebKit::NativeContextMenuItem::NativeContextMenuItem):
+
 2015-04-07  Simon Fraser  <simon.fra...@apple.com>
 
         Add a new setting, AntialiasedFontDilationEnabled, exposed via WK2.

Modified: trunk/Source/WebKit2/Shared/mac/NativeContextMenuItem.mm (182493 => 182494)


--- trunk/Source/WebKit2/Shared/mac/NativeContextMenuItem.mm	2015-04-07 21:28:57 UTC (rev 182493)
+++ trunk/Source/WebKit2/Shared/mac/NativeContextMenuItem.mm	2015-04-07 21:29:00 UTC (rev 182494)
@@ -35,7 +35,7 @@
 namespace WebKit {
 
 NativeContextMenuItem::NativeContextMenuItem(const ContextMenuItem& coreItem)
-    : m_nsMenuItem(coreItem.getPlatformDescription())
+    : m_nsMenuItem(coreItem.platformDescription())
 {
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to