Reviewed by Adam.

        There are two bugs with WebCore ContextMenus due to the static 
        ContextMenuItems. One bug is that we often crashed in 
        NSAutoreleasePool upon quitting the browser. The other bug is that 
        we were adding static NSMenuItems to multiple NSMenus, which is 
        disallowed. To fix these bugs, the MenuItems are no longer static. 
        This is in line with the current design in WebKit anyway. I made 
        some re-arrangements in the code because I also removed the macro 
        that was used to create the menu items since it was a bit 
        confusing.

        * platform/ContextMenu.cpp:
        (WebCore::createFontSubMenu):
        (WebCore::createSpellingAndGrammarSubMenu):
        (WebCore::createSpellingSubMenu):
        (WebCore::createSpeechSubMenu):
        (WebCore::createWritingDirectionSubMenu):
        (WebCore::ContextMenu::populate):
        * platform/ContextMenuItem.h:
        * platform/mac/ContextMenuItemMac.mm:
        (WebCore::ContextMenuItem::ContextMenuItem): Use the NSMenuItem 
        global separator item if we have SeparatorType.
        * platform/mac/ContextMenuMac.mm:
        (WebCore::setMenuItemTarget):  Change name of getNSMenuItem since 
        that is no longer accurate.
        (WebCore::ContextMenu::appendItem): Above name change.
        (WebCore::ContextMenu::insertItem): Same.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
5 files changed